Exemple #1
0
        public Timesheet RejectTimesheet(int id, int employeeId)
        {
            var timesheet = unitOfWork.TimesheetRepository.GetById(id);

            var audit = new entity.Audit();

            audit.Timesheet = timesheet;
            audit.Operator  = unitOfWork.EmployeeRepository.GetById(employeeId);
            var previous = timesheet.AuditData.OrderByDescending(t => t.Change).FirstOrDefault();

            if (previous != null)
            {
                audit.PreviousStatus = previous.NewStatus;
            }
            else
            {
                audit.PreviousStatus = audit.PreviousStatus = entity.TimesheetStatus.Submitted;
            }
            audit.NewStatus  = entity.TimesheetStatus.Rejected;
            audit.Change     = DateTime.Now;
            timesheet.Status = entity.TimesheetStatus.Rejected;
            unitOfWork.AuditRepository.Add(audit);
            unitOfWork.Commit();
            return(mapper.Map <Timesheet>(timesheet));
        }
Exemple #2
0
 public Timesheet CreateTimesheet(CreateTimesheet timesheet)
 {
     entity.Timesheet timesheetEntity = mapper.Map <entity.Timesheet>(timesheet);
     timesheetEntity.Applicant = unitOfWork.EmployeeRepository.GetById(timesheet.UserId);
     timesheetEntity.Entries.Clear();
     foreach (var item in timesheet.Entries)
     {
         var entryEntity = mapper.Map <entity.Entry>(item);
         entryEntity.Project = unitOfWork.ProjectRepository.GetById(item.ProjectId);
         entryEntity.Task    = unitOfWork.TaskRepository.GetById(item.TaskId);
         timesheetEntity.Entries.Add(entryEntity);
     }
     entity.Audit submission = new entity.Audit();
     submission.NewStatus      = entity.TimesheetStatus.Submitted;
     submission.Operator       = timesheetEntity.Applicant;
     submission.Timesheet      = timesheetEntity;
     submission.Change         = DateTime.Now;
     timesheetEntity.AuditData = new List <entity.Audit>();
     timesheetEntity.AuditData.Add(submission);
     unitOfWork.TimesheetRepository.Add(timesheetEntity);
     unitOfWork.Commit();
     return(mapper.Map <Timesheet>(timesheetEntity));
 }