Example #1
0
        /// <summary>
        /// مدل سرانه را به پروکسی مربوطه تبدیل می کند
        /// </summary>
        /// <param name="item">مدل</param>
        /// <returns>پروکسی</returns>
        public OverTimeProxy ConvertToProxy(OverTimeDetail item)
        {
            try
            {
                OverTimeProxy proxy = new OverTimeProxy();
                proxy.ID             = item.ID;
                proxy.Date           = item.OverTime.Date;
                proxy.IsActive       = item.OverTime.IsActive;
                proxy.DepartmentName = item.Department.Name;
                if (personList != null)
                {
                    proxy.OverTimePersonCount = personList.Where(c => c.Department.ParentPath != null && (c.Department.ID == item.Department.ID || c.Department.ParentPath.Contains("," + item.Department.ID + ",")) && c.PersonTASpec.OverTimeWork == true).Count();
                    proxy.NightlyPersonCount  = personList.Where(c => c.Department.ParentPath != null && (c.Department.ID == item.Department.ID || c.Department.ParentPath.Contains("," + item.Department.ID + ",")) && c.PersonTASpec.NightWork == true).Count();
                    proxy.HolidayPersonCount  = personList.Where(c => c.Department.ParentPath != null && (c.Department.ID == item.Department.ID || c.Department.ParentPath.Contains("," + item.Department.ID + ",")) && c.PersonTASpec.HolidayWork == true).Count();
                }
                else
                {
                    proxy.OverTimePersonCount = bPerson.GetAllPersonsCountByDepartmentParentID(item.Department.ID, OverTimePersuasiveType.OverTimeWork);
                    proxy.NightlyPersonCount  = bPerson.GetAllPersonsCountByDepartmentParentID(item.Department.ID, OverTimePersuasiveType.NightWork);
                    proxy.HolidayPersonCount  = bPerson.GetAllPersonsCountByDepartmentParentID(item.Department.ID, OverTimePersuasiveType.HolidayWork);
                }
                proxy.MaxOverTime = item.MaxOverTime;
                proxy.MaxHoliday  = item.MaxHoliday;
                proxy.MaxNightly  = item.MaxNightly;

                return(proxy);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }