BAL.Manager.CarManager.StartWorkEvent C# (CSharp) Method

StartWorkEvent() public method

Starting workshift for a driver which id is matching input parameter`s value
public StartWorkEvent ( int id, string TimeStart ) : void
id int input parameter
TimeStart string
return void
        public void StartWorkEvent(int? id, string TimeStart)
        {
            var worker = uOW.WorkshiftHistoryRepo.Get(s => s.DriverId == id).LastOrDefault(); // get the last entry for a current user
            var mappedworker = Mapper.Map<WorkshiftHistoryDTO>(worker);
            if (mappedworker == null) // if entry is empty (if no entry at all)
            {
                NewWorkerShift(id); // creating new entry (starting workshift)
            }
            else if (worker.WorkEnded == null) // if that last entry is unfinished (no end of workshift)
            {
                //var dbworker = Mapper.Map<WorkshiftHistory>(mappedworker);
                uOW.WorkshiftHistoryRepo.SetStateModified(worker); // finishing that shift
                worker.WorkEnded = DateTime.ParseExact(TimeStart, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture);
                uOW.Save();
                NewWorkerShift(id); // starting new shift.
            }
            else // if entries are exist but all finished - create new entry
            {
                NewWorkerShift(id);
            }
        }