Exemple #1
0
        private DateTime GetSLAAddOffset(WorkScheduleTable scheduleTable, DateTime CreatedDate, double SLAMinutes)
        {
            if ((scheduleTable.WorkEndTime - CreatedDate.TimeOfDay).TotalMinutes >= SLAMinutes)
            {
                return(CreatedDate.AddMinutes(SLAMinutes));
            }
            else
            {
                SLAMinutes  = SLAMinutes - (scheduleTable.WorkEndTime - CreatedDate.TimeOfDay).TotalMinutes;
                CreatedDate = GetWorkStartDate(CreatedDate.Date.AddDays(1), scheduleTable);

                return(GetSLAAddOffset(scheduleTable, CreatedDate, SLAMinutes));
            }
        }
Exemple #2
0
 public void Save(WorkScheduleView viewTable)
 {
     if (viewTable.Id == null)
     {
         var domainTable = new WorkScheduleTable();
         Mapper.Map(viewTable, domainTable);
         SaveDomain(domainTable);
     }
     else
     {
         var domainTable = Find(viewTable.Id);
         Mapper.Map(viewTable, domainTable);
         SaveDomain(domainTable);
     }
 }
Exemple #3
0
        private DateTime GetWorkStartDate(DateTime createdDate, WorkScheduleTable scheduleTable)
        {
            DateTime tempCreatedDate = createdDate;

            tempCreatedDate = FindWorkDay(scheduleTable.Id, tempCreatedDate);

            if (tempCreatedDate.Hour > scheduleTable.WorkEndTime.Hours)
            {
                tempCreatedDate = FindWorkDay(scheduleTable.Id, tempCreatedDate);
                tempCreatedDate = tempCreatedDate.Date + scheduleTable.WorkStartTime;
            }
            else if (tempCreatedDate.Hour < scheduleTable.WorkStartTime.Hours)
            {
                tempCreatedDate = tempCreatedDate.Date + scheduleTable.WorkStartTime;
            }

            return(tempCreatedDate);
        }
Exemple #4
0
        public DateTime?GetSLAPerformDate(Guid DocumentId, DateTime CreatedDate, double SLAOffset)
        {
            DocumentTable documentTable = Find(DocumentId);

            if (documentTable != null && documentTable.ProcessTable != null)
            {
                WorkScheduleTable scheduleTable = _WorkScheduleService.Find(documentTable.ProcessTable.WorkScheduleTableId);
                if (scheduleTable != null)
                {
                    CreatedDate = GetWorkStartDate(CreatedDate, scheduleTable);
                    double SLAMinutes = (SLAOffset * 60);

                    return(GetSLAAddOffset(scheduleTable, CreatedDate, SLAMinutes));
                }
            }

            return(null);
        }
Exemple #5
0
        public void SaveDomain(WorkScheduleTable domainTable, string currentUserName = "")
        {
            string          localUserName = getCurrentUserName(currentUserName);
            ApplicationUser user          = _AccountService.FirstOrDefault(x => x.UserName == localUserName);

            if (domainTable.Id == Guid.Empty)
            {
                domainTable.CreatedDate               = DateTime.UtcNow;
                domainTable.ModifiedDate              = domainTable.CreatedDate;
                domainTable.ApplicationUserCreatedId  = user.Id;
                domainTable.ApplicationUserModifiedId = user.Id;
                repo.Add(domainTable);
            }
            else
            {
                domainTable.ModifiedDate = DateTime.UtcNow;
                domainTable.ApplicationUserModifiedId = user.Id;
                repo.Update(domainTable);
            }
            _uow.Save();
        }