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); }
private IDictionary <string, IEnumerable <T> > GetTaskGroupings <T>(string configurationKey) { var result = appSettingHelper.GetFromJson <IDictionary <string, IEnumerable <T> > >(configurationKey); return(result); }
public Dictionary <UploadedContentEnum, IEnumerable <string> > GetFileExtensions() { var result = appSettingHelper.GetFromJson <Dictionary <UploadedContentEnum, IEnumerable <string> > >(AppSetting.FileExtensions); return(result); }