Esempio n. 1
0
        private WeekPlanJobModel MapJobsToWeekModel(WeekPlanParamsModel query, bool isBackLog, string departmentName, IDayAssign dayAssign = null)
        {
            var taskDisplayColorDictionary = appSettingHelper.GetFromJson <IDictionary <JobTypeEnum, string> >(Constants.AppSetting.TaskTypesDisplayColors);
            WeekPlanJobModel resultModel   = new WeekPlanJobModel
            {
                Id                                             = query.Job.Id,
                JobAssignId                                    = query.JobAssign.Id,
                IsBackLogJob                                   = isBackLog,
                StatusId                                       = dayAssign?.StatusId ?? JobStatus.Pending,
                Title                                          = query.Job.Title,
                WeekNumber                                     = query.WeekNumber,
                Category                                       = query.Job.Category,
                TaskDisplayColor                               = query.Job.Category != null ? query.Job.Category.Color : taskDisplayColorDictionary[query.Job.JobTypeId],
                DepartmentName                                 = departmentName,
                AllowedDays                                    = Enumerable.Range(1, 7),
                JobType                                        = query.Job.JobTypeId,
                JobTypeName                                    = query.Job.JobTypeId.ToString(),
                TenantTypeName                                 = dayAssign != null?dayAssign.TenantType.ToString() : string.Empty,
                                                     Address   = query.DepartmentId.HasValue ? query.Job.GetAddress(query.DepartmentId.Value) : string.Empty,
                                                     Year      = query.Year,
                                                     CreatorId = query.Job.CreatorId
            };

            if (dayAssign != null)
            {
                var jobStatusLog = query.JobStatusLogs.FirstOrDefault(i => i.DayAssignId == dayAssign.Id);
                resultModel.DayAssignId               = dayAssign.Id;
                resultModel.Users                     = memberService.GetByIds(dayAssign.UserIdList);
                resultModel.GroupId                   = dayAssign.GroupId;
                resultModel.IsWeekEndJob              = dayAssign.WeekDay.HasValue && dayAssign.WeekDay > WorkingDayCount;
                resultModel.DayAssignDate             = dayAssign.Date;
                resultModel.WeekDay                   = dayAssign.WeekDay;
                resultModel.ExpiredDayAssignId        = dayAssign.ExpiredDayAssignId;
                resultModel.ExpiredWeekNumber         = dayAssign.ExpiredWeekNumber;
                resultModel.IsAssignedToAllUsers      = dayAssign.IsAssignedToAllUsers;
                resultModel.TeamLeadId                = dayAssign.TeamLeadId;
                resultModel.Estimate                  = dayAssign.EstimatedMinutes.MinutesToHours();
                resultModel.SpentTime                 = jobStatusLog?.TotalSpentTime;
                resultModel.ChangeStatusInfo          = GetJobStatusInfo(jobStatusLog, dayAssign);
                resultModel.IsUrgent                  = dayAssign.IsUrgent;
                resultModel.IsCommentExistOnAnyStatus = query.JobStatusLogs.Where(x => x.DayAssignId == dayAssign.Id).Any(x => x.IsCommentExistInAnyStatus);
            }

            return(resultModel);
        }
Esempio n. 2
0
        private IDictionary <string, IEnumerable <T> > GetTaskGroupings <T>(string configurationKey)
        {
            var result = appSettingHelper.GetFromJson <IDictionary <string, IEnumerable <T> > >(configurationKey);

            return(result);
        }
Esempio n. 3
0
        public Dictionary <UploadedContentEnum, IEnumerable <string> > GetFileExtensions()
        {
            var result = appSettingHelper.GetFromJson <Dictionary <UploadedContentEnum, IEnumerable <string> > >(AppSetting.FileExtensions);

            return(result);
        }