コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
                }
            }
        }