Exemplo n.º 1
0
 public bool CanApprove(int idTimeSheet, DtoApprover approver)
 {
     using (var db = new KadrDataContext())
     {
         //var approver = GetCurrentApproverByLogin(employeeLogin);
         var timeSheet             = db.TimeSheet.FirstOrDefault(f => f.id == idTimeSheet);
         var timeSheetApprovalStep = GetTimeSheetApproveStep(idTimeSheet) + 1;
         if (timeSheet == null)
         {
             return(false);
         }
         var approveDepartment =
             approver.GetDepartmentApproverNumbers(timeSheet.idDepartment)
             .FirstOrDefault(f => f.ApproveNumber == timeSheetApprovalStep);
         return(approveDepartment != null &&
                approveDepartment.ApproveNumber == timeSheetApprovalStep);
     }
 }
Exemplo n.º 2
0
 public bool TimeSheetApproval(int idTimeSheet, DtoApprover employeeLogin, bool result, string comments, string appDominUrl)
 {
     using (var db = new KadrDataContext())
     {
         if (!CanApprove(idTimeSheet, employeeLogin))
         {
             return(false);
         }
         var approvalStep   = GetTimeSheetApproveStep(idTimeSheet);
         var timeSheet      = GetTimeSheet(idTimeSheet, true);
         var idDepartment   = timeSheet.Department.IdDepartment;
         var departmentName = db.Department.First(f => f.id == idDepartment).DepartmentSmallName;
         //var approver = GetCurrentApproverByLogin(employeeLogin)
         //    .GetDepartmentApproverNumbers(idDepartment)
         //    .First(w => w.ApproveNumber == approvalStep + 1);
         var approver = employeeLogin.GetDepartmentApproverNumbers(idDepartment)
                        .First(w => w.ApproveNumber == approvalStep + 1);
         try
         {
             var timeSheetApproval = new TimeSheetApproval
             {
                 ApprovalDate = DateTime.Now,
                 idTimeSheet  = idTimeSheet,
                 idApprover   = approver.IdApprover,
                 Result       = result,
                 Comment      = comments
             };
             db.TimeSheetApproval.InsertOnSubmit(timeSheetApproval);
             db.SubmitChanges();
             Task.Run(
                 () => EmailSending(employeeLogin.EmployeeLogin, idTimeSheet, result, comments, approvalStep, departmentName, appDominUrl));
             return(true);
         }
         catch (System.Exception e)
         {
             var s = e.Message;
             return(false);
         }
     }
 }