public void SaveEmployeeWorkingModel(List<EmployeeWeek> lstWeeks)
        {
            if (lstWeeks == null || lstWeeks.Count == 0) return;

            long[] ids = EmployeeWeekProcessor.GetEmployeeIds(lstWeeks);
            List<EmployeeRecordingWorkingModel> lstEntities = new List<EmployeeRecordingWorkingModel>(lstWeeks.Count * 10);
            DateTime begin, end;

            begin = lstWeeks[0].BeginDate;
            end = lstWeeks[0].EndDate;
            EmployeeRecordingWorkingModel entity = null;

            foreach (EmployeeWeek week in lstWeeks)
            {
                foreach (EmployeeDay day in week.DaysList)
                {
                    if (day.WorkingModels != null && day.WorkingModels.Count > 0)
                    {
                        foreach (EmployeeWorkingModel model in day.WorkingModels)
                        {
                            entity = new EmployeeRecordingWorkingModel();
                            model.AssignTo(entity);
                            lstEntities.Add(entity);
                        }
                    }
                }
            }


            SaveEmployeesWorkingModel(ids, lstEntities, begin, end);
        }
示例#2
0
 public void AssignTo(EmployeeRecordingWorkingModel plwm)
 {
     plwm.ID               = ID;
     plwm.Hours            = Hours;
     plwm.WorkingModelID   = WorkingModelID;
     plwm.EmployeeID       = EmployeeID;
     plwm.AdditionalCharge = AdditionalCharge;
     plwm.Date             = Date;
 }
示例#3
0
 public EmployeeWorkingModel(EmployeeRecordingWorkingModel plwm)
 {
     ID               = plwm.ID;
     Hours            = plwm.Hours;
     WorkingModelID   = plwm.WorkingModelID;
     EmployeeID       = plwm.EmployeeID;
     AdditionalCharge = plwm.AdditionalCharge;
     Date             = plwm.Date;
 }
        public void SaveEmployeesWorkingModel(long[] emplids, List<EmployeeRecordingWorkingModel> lst, DateTime aBegin, DateTime aEnd)
        {
            if (lst == null)
                throw new ArgumentNullException();

            List<EmployeeRecordingWorkingModel> oldList = LoadEmployeesWorkingModel(emplids, aBegin, aEnd);

            if (oldList == null)
                oldList = new List<EmployeeRecordingWorkingModel>();

            int iCount = Math.Max(lst.Count, oldList.Count);

            EmployeeRecordingWorkingModel newModel = null;
            EmployeeRecordingWorkingModel oldModel = null;
            for (int i = 0; i < iCount; i++)
            {
                newModel = null;
                oldModel = null;

                if (i < lst.Count)
                    newModel = lst[i];

                if (i < oldList.Count)
                    oldModel = oldList[i];

                if (newModel != null && oldModel != null)
                {
                    oldModel.EmployeeID = newModel.EmployeeID;
                    oldModel.Date = newModel.Date;
                    oldModel.AdditionalCharge = newModel.AdditionalCharge;
                    oldModel.Hours = newModel.Hours;
                    oldModel.WorkingModelID = newModel.WorkingModelID;

                    _service.Update(oldModel);

                    newModel.ID = oldModel.ID;
                    continue;
                }

                if (newModel == null)
                {
                    _service.DeleteByID(oldModel.ID);
                    continue;
                }

                if (oldModel == null)
                {
                    newModel.ID = 0;
                    _service.SaveOrUpdate(newModel);
                    continue;
                }
            }

        }
        public void SaveEmployeeWorkingModel(EmployeeWeek week)
        {
            List<EmployeeWorkingModel> lst = EmployeeWeekProcessor.GetWorkingModels(week);

            List<EmployeeRecordingWorkingModel> lstEntities = new List<EmployeeRecordingWorkingModel>(lst.Count);
            EmployeeRecordingWorkingModel entity = null;
            foreach (EmployeeWorkingModel model in lst)
            {
                entity = new EmployeeRecordingWorkingModel();
                model.AssignTo(entity);
                lstEntities.Add(entity);
            }


            SaveEmployeeWorkingModel(week.EmployeeId, lstEntities, week.BeginDate, week.EndDate);
        }