public async Task <IActionResult> PutProjectSettingsModel(int id, ProjectSettingsModel projectSettingsModel)
        {
            if (id != projectSettingsModel.Id)
            {
                return(BadRequest());
            }

            _context.Entry(projectSettingsModel).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProjectSettingsModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #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);
        }
Exemple #3
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);
        }
Exemple #4
0
        public async Task <GridVisibleFieldsModel> GetGridColumnFields(int id)
        {
            if (id > 0)
            {
                ProjectSettingsModel projectSettingsModel = await GetProjectSettings(id);

                return(projectSettingsModel.GridVisibleFields);
            }
            return(null);
        }
Exemple #5
0
        public async Task <EditableFields> GetEditableItems(int id)
        {
            if (id > 0)
            {
                ProjectSettingsModel projectSettingsModel = await GetProjectSettings(id);

                return(projectSettingsModel.EditableFields);
            }
            return(null);
        }
Exemple #6
0
        public async Task <IActionResult> UpdateProjectSettings([FromBody] ProjectSettingsModel projectSettingsModel)
        {
            var isSuccess = false;

            isSuccess = await _projectRepository.UpdateProjectSettings(projectSettingsModel);

            if (isSuccess)
            {
                return(Ok(new Response <bool>()
                {
                    Code = HttpStatusCode.OK, Data = isSuccess, Message = ResponseMessageModel.ProjectSetting.UpdateProjectSetting
                }));
            }
            else
            {
                return(BadRequest(new ErrorResponse(ResponseMessageModel.ProjectSetting.NotUpdateProjectSetting)));
            }
        }
Exemple #7
0
        public async Task <IActionResult> GetProjectSettings([FromQuery] int projectId)
        {
            ProjectSettingsModel projectSettingsModel = null;

            try
            {
                projectSettingsModel = await _projectRepository.GetProjectSettings(projectId);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            //return Ok(new Response<ProjectSettingsModel>() {  Code = HttpStatusCode.OK , Data = projectSettingsModel , Message = string.Empty });

            if (projectSettingsModel != null)
            {
                return(Ok(new Response <ProjectSettingsModel>()
                {
                    Code = HttpStatusCode.OK, Data = projectSettingsModel, Message = string.Empty
                }));
            }

            return(BadRequest(new ErrorResponse(ResponseMessageModel.ProjectSetting.ProjectNotFound)));
        }
Exemple #8
0
        public async Task <ProjectSettingsModel> GetProjectSettings(int projectId)
        {
            var projectSettings = await _projectData.GetProjectSettings(projectId);

            ProjectSettingsModel projectSettingsModel = null;

            if (projectSettings != null && projectSettings.Count > 0)
            {
                //Set Project Settings.
                projectSettingsModel = await SetProjectSettings(projectSettings[0], projectId);

                string id = await _projectData.GetProjectId(projectId);

                projectSettingsModel.MemberList = await _dataRepository.GetMemberList(id);

                //Fetch Custom status for the project.
                List <DB.Entities.CustomStatus> customStatus = await _projectData.GetProjectCustomStatus(projectId);

                //Bind CustomStatus model by CustomStatus Entity model.
                projectSettingsModel.CustomStatus = SetCustomStatus(customStatus);
            }

            return(projectSettingsModel);
        }
        public async Task <ActionResult <ProjectSettingsModel> > PostProjectSettingsModel(ProjectSettingsModel projectSettingsModel)
        {
            int maxId = _context.ProjectSettings.Max(b => b.Id);

            projectSettingsModel.Id = maxId + 1;

            _context.ProjectSettings.Add(projectSettingsModel);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetProjectSettingsModel", new { id = projectSettingsModel.Id }, projectSettingsModel));
        }