private void InitChildren() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKRoleID, FKRoleID.ToString(), SearchComparator.Equal, SearchType.SearchString)); employeeRole = CommonDAL <Role> .GetSingleObject(conditions); }
/// <summary> /// If the employeeID or leaveTypeName doesn't exist, return 0. /// </summary> /// <param name="employeeID"></param> /// <param name="leaveTypeName"></param> /// <returns></returns> public static double GetUsedHours(string employeeID, string leaveTypeName) { double hours = 0; if (!string.IsNullOrEmpty(employeeID) && !string.IsNullOrEmpty(leaveTypeName)) { Employee employee = EmployeeBLL.GetEmployeeByID(employeeID); LeaveType leaveType = GetLeaveTypeByName(leaveTypeName); if (null != employee && null != leaveType) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKEmployeeID, employee.PKEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKLeaveTypeID, leaveType.PKLeaveTypeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Year, DateTime.Now.Year.ToString(), SearchComparator.Equal, SearchType.SearchNotString)); EmployeeLeaveSummary leaveSummary = CommonDAL <EmployeeLeaveSummary> .GetSingleObject(conditions); if (null != leaveSummary) { hours = leaveSummary.UsedHours; } } } return(hours); }
protected override void Update() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKEmployeeRoleRLID", PKEmployeeRoleRLID.ToString(), SearchComparator.Equal, SearchType.SearchString)); CommonDAL <EmployeeRoleRL> .Update(this, conditions); }
private void InitChildren() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("FKEmployeeID", PKEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition("IsDeleted", Convert.ToString(0), SearchComparator.Equal, SearchType.SearchNotString)); employeeRoleList = CommonDAL <EmployeeRoleRL> .GetObjects(conditions); foreach (EmployeeRoleRL item in employeeRoleList) { if (item.EmployeeRole.Name.Equals("Admin")) { isAdmin = true; } if (item.EmployeeRole.Name.Equals("Manager")) { isManager = true; } } conditions.Clear(); conditions.Add(SearchCondition.CreateSearchCondition("PKEmployeeID", FKReportManagerID.ToString(), SearchComparator.Equal, SearchType.SearchString)); manager = CommonDAL <Employee> .GetSingleObject(conditions); }
protected override void Update() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKTDInfoID, PKTDInfoID.ToString(), SearchComparator.Equal, SearchType.SearchString)); CommonDAL <TimeDurationInfo> .Update(this, conditions); }
public static List <Employee> GetAllEmployees() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.IsActive, Convert.ToString(1), SearchComparator.Equal, SearchType.SearchNotString)); return(CommonDAL <Employee> .GetObjects(conditions, GlobalParams.Email, OrderType.ASC)); }
public static bool CheckSupervisorValidation(string employeeID, string supervisorID) { bool result = !string.IsNullOrEmpty(employeeID) && !employeeID.Equals(supervisorID); if (result) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKEmployeeID, employeeID, SearchComparator.Equal, SearchType.SearchString)); Employee employee = CommonDAL <Employee> .GetSingleObject(conditions); result = null != employee; if (result) { List <string> pkIDList = new List <string>(); GetAllLeaders(employee, pkIDList, null); result = null != pkIDList; if (result) { foreach (string pkID in pkIDList) { if (pkID.Equals(supervisorID)) { result = false; break; } } } } } return(result); }
public void TestLeaveTypeTimeStamp() { // Insert a leave type DateTime startTime = Convert.ToDateTime("01/01/2000"); DateTime endTime = Convert.ToDateTime("01/01/3000"); LeaveType leaveType = LeaveType.CreateLeaveType(Guid.NewGuid().ToString(), 100, startTime, endTime); leaveType.PKLeaveTypeID = Guid.NewGuid(); leaveType.SetKnowledgeDate(DateTime.Now); leaveType.Save(); Guid guid = leaveType.PKLeaveTypeID; // Get the leave type inserted just now List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKLeaveTypeID", guid.ToString(), SearchComparator.Equal, SearchType.SearchString)); LeaveType testLeaveType1 = CommonDAL <LeaveType> .GetSingleObject(conditions); LeaveType testLeaveType2 = CommonDAL <LeaveType> .GetSingleObject(conditions); // Update the leave type inserted just now testLeaveType1.Name = "UpdatedLeaveType"; testLeaveType1.Save(); testLeaveType2.Name = "SecUpdatedLeaveType"; testLeaveType2.Save(); // Get the leave type updated just now LeaveType updatedLeaveType = CommonDAL <LeaveType> .GetSingleObject(conditions); Assert.AreEqual(testLeaveType1.Name, updatedLeaveType.Name); Assert.AreNotEqual(testLeaveType2.Name, updatedLeaveType.Name); // Delete the leave type leaveType.Delete(); }
public static List <Employee> GetManagers() { List <Employee> managers = null; Role role = Role.GetRoleByName(RoleRank.Manager.ToString()); if (null != role) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKRoleID, role.PKRoleID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.IsDeleted, Convert.ToString(0), SearchComparator.Equal, SearchType.SearchNotString)); List <EmployeeRoleRL> employeeRoleRLs = CommonDAL <EmployeeRoleRL> .GetObjects(conditions); if (null != employeeRoleRLs) { managers = new List <Employee>(); foreach (EmployeeRoleRL item in employeeRoleRLs) { if (item.IsDeleted == false) // remove the supervisor who is not actived { managers.Add(EmployeeBLL.GetEmployeeByID(item.FKEmployeeID.ToString())); } } } } return(managers); }
public static LeaveInfo ApplyLeave(string employeeID, string reason, string leaveType, string description, List <TimeDurationInfo> durationList) { LeaveInfo leaveInfo = null; if (!string.IsNullOrEmpty(employeeID) && !string.IsNullOrEmpty(reason) && !string.IsNullOrEmpty(leaveType) && null != durationList) { Employee employee = EmployeeBLL.GetEmployeeByID(employeeID); if (null != employee) { if (employee.Manager == null) { throw new Exception("You didn't set supervisor to approve your leave application."); } List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Name, leaveType, SearchComparator.Equal, SearchType.SearchString)); LeaveType lType = CommonDAL <LeaveType> .GetSingleObject(conditions); leaveInfo = LeaveInfo.CreateLeaveInfo(employee.PKEmployeeID, employee.FKReportManagerID, lType.PKLeaveTypeID, LeaveStatus.Applying, reason, description, durationList); leaveInfo.Save(); conditions.Clear(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKLeaveTypeID, leaveInfo.FKLeaveTypeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); leaveInfo.Type = CommonDAL <LeaveType> .GetSingleObject(conditions); } } return(leaveInfo); }
public static Employee AddEmployee(string email, string firstName, string middleName, string lastName, Sex gender, float serviceYear, DateTime dateOfHire, string supervisorEmail, string costCenterCode, int employeeNum, string legalName) { Employee employee = null; if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(firstName) && !string.IsNullOrEmpty(lastName)) { employee = Employee.CreateEmployee(email, CryptographyStuff.AES_EncryptString(GlobalParams.DefaultPwd), gender, firstName, dateOfHire, lastName); employee.MiddleName = middleName; employee.Gender = gender; employee.ServiceYears = serviceYear; employee.IsActive = true; employee.EmployeeNum = employeeNum; employee.LegalName = legalName; Role role = Role.GetRoleByName(RoleRank.Employee.ToString()); List <EmployeeRoleRL> employeeRoleList = new List <EmployeeRoleRL>(); employeeRoleList.Add(EmployeeRoleRL.CreateEmployeeRoleRL(Guid.Empty, role.PKRoleID)); employee.SetRoleList(employeeRoleList); if (!string.IsNullOrEmpty(supervisorEmail)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Email, supervisorEmail, SearchComparator.Equal, SearchType.SearchString)); Employee manager = CommonDAL <Employee> .GetSingleObject(conditions); employee.FKReportManagerID = manager.PKEmployeeID; } employee.CostCenter = costCenterCode; employee.Save(); } return(employee); }
public void TestDeleteEmployee() { // Insert a role Role role = Role.CreateRole(Guid.NewGuid().ToString()); role.Save(); // Insert an employee. Employee employee = Employee.CreateEmployee(Guid.NewGuid().ToString(), "123", Sex.Male, "Hui", DateTime.Now, "Ji"); employee.IsActive = true; employee.ServiceYears = 10; List <EmployeeRoleRL> employeeRoleList = new List <EmployeeRoleRL>(); employeeRoleList.Add(EmployeeRoleRL.CreateEmployeeRoleRL(Guid.Empty, role.PKRoleID)); employee.SetRoleList(employeeRoleList); employee.Save(); // Delete the employee employee.Delete(); // Get the employee who is deleted Guid guid = employee.PKEmployeeID; List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKEmployeeID", guid.ToString(), SearchComparator.Equal, SearchType.SearchString)); Employee testEmployee = CommonDAL <Employee> .GetSingleObject(conditions); Assert.IsNull(testEmployee); role.Delete(); }
public void TestRoleTimeStamp() { // Insert a role Role role = Role.CreateRole(Guid.NewGuid().ToString()); role.PKRoleID = new Guid(); role.KnowledgeDate = DateTime.Now; role.Save(); Guid roleGuid = role.PKRoleID; // Get the inserted role List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKRoleID", roleGuid.ToString(), SearchComparator.Equal, SearchType.SearchString)); Role testRole1 = CommonDAL <Role> .GetSingleObject(conditions); Role testRole2 = CommonDAL <Role> .GetSingleObject(conditions); // Update the inserted role testRole1.Name = Guid.NewGuid().ToString().Substring(0, 5); testRole1.Save(); testRole2.Name = Guid.NewGuid().ToString().Substring(0, 5); testRole2.Save(); // Get the updated rolw Role updatedRole = CommonDAL <Role> .GetSingleObject(conditions); Assert.AreEqual(testRole1.Name, updatedRole.Name); Assert.AreNotEqual(testRole2.Name, updatedRole.Name); // Delete the role role.Delete(); }
protected override void Update() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKELSID, PKELSID.ToString(), SearchComparator.Equal, SearchType.SearchString)); CommonDAL <EmployeeLeaveSummary> .Update(this, conditions); }
public override void Delete() { using (TransactionScope ts = new TransactionScope()) { // If the leave record is accepted we should update the leave summary when we want remove the leave record. // This case only happened in Unit Test as delete method is not allowed to invoke in real business logic. if (this.Status == LeaveStatus.Accepted) { int year; double usedHours = GetDurationHours(timeDurationList, out year); if (usedHours != 0 && year != 0) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKEmployeeID, FKSubmitEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKLeaveTypeID, FKLeaveTypeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Year, year.ToString(), SearchComparator.Equal, SearchType.SearchNotString)); EmployeeLeaveSummary leaveSummary = CommonDAL <EmployeeLeaveSummary> .GetSingleObject(conditions); leaveSummary.UsedHours -= usedHours; leaveSummary.Save(); } } foreach (TimeDurationInfo item in timeDurationList) { item.Delete(); } CommonDAL <LeaveInfo> .Delete(this); ts.Complete(); } }
protected override void Update() { using (TransactionScope ts = new TransactionScope()) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKLeaveInfoID, PKLeaveInfoID.ToString(), SearchComparator.Equal, SearchType.SearchString)); CommonDAL <LeaveInfo> .Update(this, conditions); foreach (TimeDurationInfo item in timeDurationList) { if (item.IsNew) { item.FKLeaveInfoID = this.PKLeaveInfoID; } item.Save(); } //#region For transact unit test //throw new Exception(); //#endregion if (this.PreStatus != LeaveStatus.Accepted && this.Status == LeaveStatus.Accepted || this.status == LeaveStatus.Rejected && this.PreStatus == LeaveStatus.Accepted) { int year; double usedHours = GetDurationHours(timeDurationList, out year); if (usedHours != 0 && year != 0) { conditions.Clear(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKEmployeeID, FKSubmitEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKLeaveTypeID, FKLeaveTypeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Year, year.ToString(), SearchComparator.Equal, SearchType.SearchNotString)); EmployeeLeaveSummary leaveSummary = CommonDAL <EmployeeLeaveSummary> .GetSingleObject(conditions); if (null == leaveSummary) { leaveSummary = EmployeeLeaveSummary.CreateEmployeeLeaveSummary(FKSubmitEmployeeID, FKLeaveTypeID, year); } if (this.status == LeaveStatus.Rejected) { usedHours = -usedHours; } leaveSummary.UsedHours += usedHours; if (leaveSummary.UsedHours < 0) { leaveSummary.UsedHours = 0; // used hours cannot be a negative number } leaveSummary.Save(); } } ts.Complete(); } }
public static Employee GetEmployeeByEmail(string email) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Email, email, SearchComparator.Equal, SearchType.SearchString)); Employee employee = CommonDAL <Employee> .GetSingleObject(conditions); return(employee); }
public void TestDeleteEmployeeLeaveSummary() { // Insert an employee role Role employeeRole = Role.CreateRole(Guid.NewGuid().ToString()); employeeRole.Save(); // Insert an employee. Employee employee = Employee.CreateEmployee(Guid.NewGuid().ToString(), "123", Sex.Male, "Tian", DateTime.Now, "Liu"); employee.IsActive = true; employee.ServiceYears = 10; List <EmployeeRoleRL> employeeRoleList = new List <EmployeeRoleRL>(); employeeRoleList.Add(EmployeeRoleRL.CreateEmployeeRoleRL(Guid.Empty, employeeRole.PKRoleID)); employee.SetRoleList(employeeRoleList); employee.Save(); Guid employeeGuid = employee.PKEmployeeID; // Insert a leave type DateTime leaveTypeStartTime = Convert.ToDateTime("01/01/2000"); DateTime leaveTypeEndTime = Convert.ToDateTime("01/01/3000"); LeaveType leaveType = LeaveType.CreateLeaveType(Guid.NewGuid().ToString(), 100, leaveTypeStartTime, leaveTypeEndTime); leaveType.PKLeaveTypeID = Guid.NewGuid(); leaveType.SetKnowledgeDate(DateTime.Now); leaveType.Save(); Guid leaveTypeGuid = leaveType.PKLeaveTypeID; // Insert an employee leave summary EmployeeLeaveSummary employeeLeaveSummary = EmployeeLeaveSummary.CreateEmployeeLeaveSummary(employeeGuid, leaveTypeGuid, DateTime.Now.Year); employeeLeaveSummary.PKELSID = Guid.NewGuid(); employeeLeaveSummary.UsedHours = 10; employeeLeaveSummary.Save(); Guid summaryGuid = employeeLeaveSummary.PKELSID; // Delete the employee leave summary employeeLeaveSummary.Delete(); // Get the inserted employee leave summary List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKELSID", summaryGuid.ToString(), SearchComparator.Equal, SearchType.SearchString)); EmployeeLeaveSummary testSummary = CommonDAL <EmployeeLeaveSummary> .GetSingleObject(conditions); Assert.IsNull(testSummary); // Delete inserted items leaveType.Delete(); employee.Delete(); employeeRole.Delete(); }
public static List <LeaveInfo> GetMyTeamLeaves(string employeeID, DateTime start, DateTime end, bool showAllRecords) { List <LeaveInfo> leaveList = null; if (!string.IsNullOrEmpty(employeeID)) { leaveList = new List <LeaveInfo>(); List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKReportManagerID, employeeID, SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.IsActive, Convert.ToString(1), SearchComparator.Equal, SearchType.SearchNotString)); List <Employee> employees = CommonDAL <Employee> .GetObjects(conditions); if (null != employees) { foreach (Employee employee in employees) { conditions.Clear(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKSubmitEmployeeID, employee.PKEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); if (start != DateTime.MinValue) { conditions.Add(SearchCondition.CreateSearchCondition("FirstStartTime", start.ToString(), SearchComparator.Greater, SearchType.SearchString)); } if (end != DateTime.MaxValue) { conditions.Add(SearchCondition.CreateSearchCondition("LastEndTime", end.ToString(), SearchComparator.Less, SearchType.SearchString)); } if (!showAllRecords) // !showAllRecords means only show applying records { conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Status, ((int)LeaveStatus.Applying).ToString(), SearchComparator.Equal, SearchType.SearchNotString)); } List <LeaveInfo> leaves = CommonDAL <LeaveInfo> .GetObjects(conditions, GlobalParams.Status + "," + GlobalParams.FirstStartTime, OrderType.ASC); if (null != leaves) { foreach (LeaveInfo leave in leaves) { leaveList.Add(leave); } } } } } leaveList.Sort(new LeaveInfoComparision()); return(leaveList); }
public static Role GetRoleByName(string rank) { Role role = null; if (!string.IsNullOrEmpty(rank)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Name, rank, SearchComparator.Equal, SearchType.SearchString)); role = CommonDAL <Role> .GetSingleObject(conditions); } return(role); }
public static LeaveType GetLeaveTypeByName(string leaveTypeName) { LeaveType leaveType = null; if (!string.IsNullOrEmpty(leaveTypeName)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Name, leaveTypeName, SearchComparator.Equal, SearchType.SearchString)); leaveType = CommonDAL <LeaveType> .GetSingleObject(conditions); } return(leaveType); }
public static LeaveInfo GetLeaveInfoByID(string leaveID) { LeaveInfo leave = null; if (!string.IsNullOrEmpty(leaveID)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKLeaveInfoID, leaveID, SearchComparator.Equal, SearchType.SearchString)); leave = CommonDAL <LeaveInfo> .GetSingleObject(conditions); } return(leave); }
public static Employee GetEmployeeByID(string employeeID) { Employee employee = null; if (!string.IsNullOrEmpty(employeeID)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKEmployeeID, employeeID, SearchComparator.Equal, SearchType.SearchString)); employee = CommonDAL <Employee> .GetSingleObject(conditions); } return(employee); }
public void TestUpdateEmployeeRoleRL() { // Insert a role Role role = Role.CreateRole(Guid.NewGuid().ToString()); role.Save(); Guid roleGuid = role.PKRoleID; // Insert an employee. Employee employee = Employee.CreateEmployee(Guid.NewGuid().ToString(), "123", Sex.Male, "TIAN", DateTime.Now, "LIU"); employee.IsActive = true; employee.ServiceYears = 10; EmployeeRoleRL employeeRoleRL = EmployeeRoleRL.CreateEmployeeRoleRL(Guid.Empty, roleGuid); List <EmployeeRoleRL> employeeRoleList = new List <EmployeeRoleRL>(); employeeRoleList.Add(employeeRoleRL); employee.SetRoleList(employeeRoleList); employee.Save(); Guid employeeGuid = employee.PKEmployeeID; Guid employeeRoleRLGuid = employeeRoleRL.PKEmployeeRoleRLID; // Get the inserted employee role relation List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKEmployeeRoleRLID", employeeRoleRLGuid.ToString(), SearchComparator.Equal, SearchType.SearchString)); EmployeeRoleRL testEemployeeRoleRL = CommonDAL <EmployeeRoleRL> .GetSingleObject(conditions); // Insert another role Role updatedRole = Role.CreateRole("UpdatedRole"); updatedRole.Save(); Guid updatedRoleGuid = updatedRole.PKRoleID; // Update the inserted emmployee role relation testEemployeeRoleRL.FKRoleID = updatedRoleGuid; testEemployeeRoleRL.Save(); // Get the employee role relation updated just now EmployeeRoleRL updatedEmployeeRoleRL = CommonDAL <EmployeeRoleRL> .GetSingleObject(conditions); Assert.AreEqual(testEemployeeRoleRL.FKRoleID, updatedEmployeeRoleRL.FKRoleID); // Delete inseted items employeeRoleRL.Delete(); employee.Delete(); role.Delete(); updatedRole.Delete(); }
public static void UpdateEmployee(string employeeID, string email, string firstName, string middleName, string lastName, Sex gender, float serviceYear, DateTime dateOfHire, string supervisorEmail, string password, string phone, string mobile, bool isAdmin, bool isActive, bool isManager, string costCenterCode, int employeeNum, string legalName) { if (!string.IsNullOrEmpty(employeeID) && !string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(firstName) && !string.IsNullOrEmpty(lastName)) { Employee employee = EmployeeBLL.GetEmployeeByID(employeeID); if (null != employee) { if (!string.IsNullOrEmpty(employee.Email) && !string.IsNullOrEmpty(supervisorEmail) && employee.Email.Equals(supervisorEmail)) { throw new Exception(GlobalParams.SelectSupervisorError); } employee.Email = email; employee.FirstName = firstName; employee.MiddleName = middleName; employee.LastName = lastName; employee.Gender = gender; employee.ServiceYears = serviceYear; employee.HiredDate = dateOfHire; employee.Password = password; employee.Phone = phone; employee.Mobile = mobile; employee.IsActive = isActive; employee.SetPrivilege(isAdmin, RoleRank.Admin); employee.SetPrivilege(isManager, RoleRank.Manager); employee.CostCenter = costCenterCode; employee.EmployeeNum = employeeNum; employee.LegalName = legalName; if (!string.IsNullOrEmpty(supervisorEmail)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Email, supervisorEmail, SearchComparator.Equal, SearchType.SearchString)); Employee manager = CommonDAL <Employee> .GetSingleObject(conditions); employee.FKReportManagerID = manager.PKEmployeeID; } else { employee.FKReportManagerID = Guid.Empty; } employee.Save(); } } }
public static bool RecallLeave(string leaveID) { bool result = false; LeaveInfo leave = null; try { if (!string.IsNullOrEmpty(leaveID)) { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.PKLeaveInfoID, leaveID, SearchComparator.Equal, SearchType.SearchString)); leave = CommonDAL <LeaveInfo> .GetSingleObject(conditions); } if (leave == null) { throw new DataException("Record not found in DB"); } else if (leave.Status != LeaveStatus.Applying) { throw new DataException(string.Format("Record has been locked since it's {0} already.", leave.Status.ToString())); } // delete FK time duration first List <SearchCondition> conditionsTimeDuration = new List <SearchCondition>(); conditionsTimeDuration.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKLeaveInfoID, leaveID, SearchComparator.Equal, SearchType.SearchString)); List <TimeDurationInfo> timeDurations = CommonDAL <TimeDurationInfo> .GetObjects(conditionsTimeDuration); for (int i = timeDurations.Count - 1; i >= 0; i--) { CommonDAL <TimeDurationInfo> .Delete(timeDurations[i]); } // delete leave info CommonDAL <LeaveInfo> .Delete(leave); result = true; } catch (Exception ex) { result = false; throw new Exception(ex.Message); } return(result); }
private static void TestMultiThreadApproveLeave() { Employee employee = PrepareData(); List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("FKSubmitEmployeeID", employee.PKEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition("Status", "1", SearchComparator.Equal, SearchType.SearchNotString)); List <LeaveInfo> leaves = CommonDAL <LeaveInfo> .GetObjects(conditions); foreach (LeaveInfo item in leaves) { Thread t = new Thread(new ParameterizedThreadStart(ApplyLeave)); t.Start(item); } }
public void TestUpdateEmployeeTransact() { // Insert a role Role role = Role.CreateRole(Guid.NewGuid().ToString()); role.Save(); // Insert an employee. Employee employee = Employee.CreateEmployee(Guid.NewGuid().ToString(), "123", Sex.Male, "Hui", DateTime.Now, "Ji"); employee.IsActive = true; employee.Password = "******"; employee.ServiceYears = 10; List <EmployeeRoleRL> employeeRoleList = new List <EmployeeRoleRL>(); employeeRoleList.Add(EmployeeRoleRL.CreateEmployeeRoleRL(Guid.Empty, role.PKRoleID)); employee.SetRoleList(employeeRoleList); employee.Save(); Guid guid = employee.PKEmployeeID; // Get the employee who is inserted just now. List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("PKEmployeeID", guid.ToString(), SearchComparator.Equal, SearchType.SearchString)); Employee testEmployee = CommonDAL <Employee> .GetSingleObject(conditions); // Update the employee. testEmployee.Email = "BrandonBrandon"; try { testEmployee.Save(); } catch { Console.WriteLine("Throw exception for transact unit test"); } // Get the employee who is updated just now. Employee updatedEmployee = CommonDAL <Employee> .GetSingleObject(conditions); Assert.AreNotEqual(testEmployee.Email, updatedEmployee.Email); employee.Delete(); role.Delete(); }
private static Employee PrepareData() { List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition("Email", "*****@*****.**", SearchComparator.Equal, SearchType.SearchString)); Employee employee = CommonDAL <Employee> .GetSingleObject(conditions); List <TimeDurationInfo> list = new List <TimeDurationInfo>(); list.Add(TimeDurationInfo.CreateTimeDurationInfo(DateTime.Now.AddDays(-1), DateTime.Now)); for (int i = 0; i < 150; i++) { LeaveBLL.ApplyLeave(employee.PKEmployeeID.ToString(), "test multi thread", "Annual", "test multi thread", list); } return(employee); }
private static void GetAllLeaders(Employee employee, List <string> pkIDList, List <Employee> teamMembers) { List <Employee> leaders = new List <Employee>(); List <SearchCondition> conditions = new List <SearchCondition>(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.Name, "Manager", SearchComparator.Equal, SearchType.SearchString)); Role managerRole = CommonDAL <Role> .GetSingleObject(conditions); // manager role conditions.Clear(); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.FKReportManagerID, employee.PKEmployeeID.ToString(), SearchComparator.Equal, SearchType.SearchString)); conditions.Add(SearchCondition.CreateSearchCondition(GlobalParams.IsActive, true.ToString(), SearchComparator.Equal, SearchType.SearchString)); List <Employee> members = CommonDAL <Employee> .GetObjects(conditions); // members for current manager foreach (Employee member in members) { if (teamMembers != null) { teamMembers.Add(member); // every one is employee. } foreach (EmployeeRoleRL memberRole in member.ActiveEmployeeRoleList) { if (memberRole.FKRoleID.ToString() == managerRole.PKRoleID.ToString()) { leaders.Add(member); if (null != pkIDList) { pkIDList.Add(member.PKEmployeeID.ToString()); } } } } employee.Leaders = leaders; if (leaders == null || leaders.Count == 0) { return; } foreach (Employee leader in leaders) { GetAllLeaders(leader, pkIDList, teamMembers); } }