public bool SaveEmployeesFromCSV(List <CSVEmployee> empList) { using (IDbContextTransaction transcat = db.Database.BeginTransaction()) { try { foreach (CSVEmployee e in empList) { Employee eSave = new Employee(); eSave.Username = e.Username; eSave.Password = e.Password; eSave.Email = e.Email; eSave.Firstname = e.Firstname; eSave.Lastname = e.Lastname; eSave.PhoneNumber = e.PhoneNumber; eSave.EmployeeType = etService.FindEmployeeTypeByEmployeeTypeName(e.EmployeeType); //eSave.Firstname = db.Employees.Where(x=>x.Id)(e.SupervisedById); eSave.Department = dService.FindDepartmentByDepartmentName(e.Department); //eSave.OriginalEmployeeType = etService.FindEmployeeTypeByEmployeeTypeName(e.OriginalEmployeeType); eSave.TempDeptHeadType = etService.FindEmployeeTypeByEmployeeTypeName(e.TemporaryHead); db.Employees.Add(eSave); } db.SaveChanges(); transcat.Commit(); return(true); } catch { transcat.Rollback(); return(false); } } }
public bool AssignDeptRep2(string comment, Employee delegatee, Employee deptHead) { using (IDbContextTransaction transcat = db.Database.BeginTransaction()) { try { Employee _deptHead = db.Employees.Find(deptHead.Id); Employee deptRepAssigned = db.Employees.Find(delegatee.Id); Employee oldDeptRep = empService.FindEmployeeWhoIsDeptRep(deptRepAssigned.Department); if (deptRepAssigned.EmployeeType.EmployeeTypeName == "Department Representative") { throw new Exception("This person is already a department representative"); } deptRepAssigned.EmployeeType = etService.FindEmployeeTypeByEmployeeTypeName("Department Representative"); db.Employees.Update(deptRepAssigned); db.SaveChanges(); Department dept = db.Departments.Find(deptRepAssigned.Department.Id); dept.DeptRepId = deptRepAssigned.Id; oldDeptRep.EmployeeType = etService.FindEmployeeTypeByEmployeeTypeName("Employee"); db.Employees.Update(oldDeptRep); db.Departments.Update(dept); db.SaveChanges(); DelegationForm _dForm = new DelegationForm() { DLAssignedDate = DateTime.Now, DLStatus = DLStatus.Assigned, delegateComment = comment, DelegatedType = deptRepAssigned.EmployeeType, Delegatee = deptRepAssigned, DepartmentHead = _deptHead }; db.DelegationForms.Add(_dForm); db.SaveChanges(); transcat.Commit(); var message = new MimeMessage(); message.From.Add(new MailboxAddress("IMS System", "*****@*****.**")); message.To.Add(new MailboxAddress(deptRepAssigned.Firstname + " " + deptRepAssigned.Lastname, deptRepAssigned.Email)); message.Subject = "Department Representative Assignment:" + deptRepAssigned.Firstname + " " + deptRepAssigned.Lastname; message.Body = new TextPart("plain") { Text = "Congratulations! You have an been appointed as the new Department Repesentative as starting now! " }; EmailUtil eUtil = new EmailUtil(); eUtil.SendEmail(message); var message2 = new MimeMessage(); message2.From.Add(new MailboxAddress("IMS System", "*****@*****.**")); message2.To.Add(new MailboxAddress(oldDeptRep.Firstname + " " + oldDeptRep.Lastname, oldDeptRep.Email)); message2.Subject = "Department Representative Assignment:" + deptRepAssigned.Firstname + " " + deptRepAssigned.Lastname; message2.Body = new TextPart("plain") { Text = "The Department Head have reassigned the department representative to " + deptRepAssigned.Firstname + " " + deptRepAssigned.Lastname }; EmailUtil eUtil2 = new EmailUtil(); eUtil2.SendEmail(message2); return(true); } catch { transcat.Rollback(); return(false); } } }