Esempio n. 1
0
        public async Task <bool> UpdateProjectSettings(ProjectSettingsModel projectSettingsModel)
        {
            //Set the ProjectSettingsModel data to AdminMasterSettings entity model.
            var adminMasterSettings = new AdminMasterSettings()
            {
                Id                = projectSettingsModel.Id,
                ProjectId         = projectSettingsModel.ProjectId,
                CreatedItemStatus = projectSettingsModel.CreatedItemStatus,
                DefaultAssignment = projectSettingsModel.DefaultAssignment,
                VstdeskActive     = projectSettingsModel.VSTDeskActive,
                CreatedItemType   = projectSettingsModel.CreatedItemType,
                EditableFields    = getValues(projectSettingsModel.EditableFields),
                Layout            = getValues(projectSettingsModel.Layout),
                GridVisibleFields = getValues(projectSettingsModel.GridVisibleFields),
                Status            = string.Join(",", projectSettingsModel.WorkItemsState.Where(x => x.IsSelected == true).Select(y => y.Name)),// getValues(projectSettingsModel.Status),
                WorkItems         = string.Join(",", projectSettingsModel.WorkItemsList.Where(x => x.IsSelected == true).Select(y => y.Name))
            };
            List <DB.Entities.CustomStatus> customStatus = new List <DB.Entities.CustomStatus>();

            projectSettingsModel.CustomStatus.ForEach(cs =>
                                                      customStatus.Add(new DB.Entities.CustomStatus()
            {
                Id          = cs.Id,
                DisplayName = cs.DisplayName,
                ProjectId   = cs.ProjectId,
                StatusName  = cs.StatusName
            })
                                                      );
            bool isSuccess = await _projectData.UpdateProjectSettings(adminMasterSettings, customStatus);

            return(isSuccess);
        }
Esempio n. 2
0
        /// <summary>
        /// Set ProjectSettingsModel Settings by EntityModel
        /// </summary>
        /// <param name="projectSttings"></param>
        /// <returns></returns>
        private async Task <ProjectSettingsModel> SetProjectSettings(AdminMasterSettings projectSettings, int projectId)
        {
            ProjectSettingsModel projectSettingsModel = new ProjectSettingsModel
            {
                Id                = projectSettings.Id,
                ProjectId         = projectSettings.ProjectId,
                VSTDeskActive     = projectSettings.VstdeskActive,
                CreatedItemStatus = projectSettings.CreatedItemStatus,
                CreatedItemType   = projectSettings.CreatedItemType,
                DefaultAssignment = projectSettings.DefaultAssignment,
                Layout            = new Models.Layout(),
                GridVisibleFields = new GridVisibleFieldsModel(),
                WorkItemsList     = await setWorkItemsModel(projectSettings.WorkItems != null?projectSettings.WorkItems.Split(',').ToList() : new List <string>()),
                EditableFields    = new Models.EditableFields(),
                WorkItemsState    = await SetItemStatus(projectSettings.Status != null?projectSettings.Status.Split(",").ToList() : new List <string>(), projectId) //new Models.Status()
            };

            SetProperties(projectSettings.Layout.Replace(" ", ""), typeof(Models.Layout), projectSettingsModel.Layout);

            SetProperties(projectSettings.GridVisibleFields.Replace(" ", ""), typeof(Models.GridVisibleFieldsModel), projectSettingsModel.GridVisibleFields);


            SetProperties(projectSettings.EditableFields.Replace(" ", ""), typeof(Models.EditableFields), projectSettingsModel.EditableFields);

            return(projectSettingsModel);
        }
Esempio n. 3
0
        public async Task <bool> UpdateProjectSettings(AdminMasterSettings adminMasterSettings, List <DB.Entities.CustomStatus> customStatus)
        {
            var adminsettings = _appDbContext.AdminMasterSettings.FirstOrDefault(x => x.ProjectId == adminMasterSettings.ProjectId);

            if (adminsettings != null)
            {
                adminsettings.ProjectId         = adminMasterSettings.ProjectId;
                adminsettings.Status            = adminMasterSettings.Status;
                adminsettings.Layout            = adminMasterSettings.Layout;
                adminsettings.VstdeskActive     = adminMasterSettings.VstdeskActive;
                adminsettings.WorkItems         = adminMasterSettings.WorkItems;
                adminsettings.EditableFields    = adminMasterSettings.EditableFields;
                adminsettings.CreatedItemStatus = adminMasterSettings.CreatedItemStatus;
                adminsettings.CreatedItemType   = adminMasterSettings.CreatedItemType;
                adminsettings.DefaultAssignment = adminMasterSettings.DefaultAssignment;
                adminsettings.GridVisibleFields = adminMasterSettings.GridVisibleFields;
                _appDbContext.Update(adminsettings);
                var listCustomStatus = _appDbContext.CustomStatus.Where(x => x.ProjectId == adminMasterSettings.ProjectId).ToList();

                listCustomStatus.ForEach(x =>
                {
                    var custom    = customStatus.FirstOrDefault(y => y.StatusName == x.StatusName);
                    x.DisplayName = custom.DisplayName;
                }

                                         );
                _appDbContext.UpdateRange(listCustomStatus);
                return(await _appDbContext.SaveChangesAsync() > 0);
            }

            return(false);
        }