public ActionResult ShowFormAddPipeline(long pipelineId) { AddPipelineViewModel addPipeline = new AddPipelineViewModel(); addPipeline.Pipeline = new PipelineModel() { }; var param = new BasicParamModel() { FilterField = string.Empty, PageNumber = 1, PageSize = int.MaxValue, LanguageId = CurrentUser.LanguageId, RoleId = 1, UserId = CurrentUser.UserId, DbName = CurrentUser.DbName }; List <PipelineStepModel> pipelineSteps = new List <PipelineStepModel>(); PipelineModel pipeline = new PipelineModel(); if (pipelineId != 0) { var pipelineStepResponse = this._pipelineService.GetPipelineStepByPipelineId(pipelineId); if (!string.IsNullOrEmpty(pipelineStepResponse)) { var result = JsonConvert.DeserializeObject <HrmResultModel <PipelineStepModel> >(pipelineStepResponse); if (!CheckPermission(result)) { //return to Access Denied } else { pipelineSteps = result.Results; } } var pipelineResponse = this._pipelineService.GetPipelineById(pipelineId); if (!string.IsNullOrEmpty(pipelineResponse)) { var result = JsonConvert.DeserializeObject <HrmResultModel <PipelineModel> >(pipelineResponse); if (!CheckPermission(result)) { //return to Access Denied } else { pipeline = result.Results.FirstOrDefault(); } } } if (pipelineSteps.Count() == 0) { List <MasterDataModel> masterDatas = new List <MasterDataModel>(); var responseMasterData = this._masterDataService.GetAllMasterDataByName(MasterGroup.PipelinePosition, _languageId); if (responseMasterData != null) { var resultMasterData = JsonConvert.DeserializeObject <HrmResultModel <MasterDataModel> >(responseMasterData); if (!CheckPermission(resultMasterData)) { //return to Access Denied } else { masterDatas = resultMasterData.Results; } } foreach (var item in masterDatas) { pipelineSteps.Add(new PipelineStepModel() { PositionId = item.Id, PositionName = item.Name }); } } addPipeline.Pipeline = pipeline; addPipeline.PipelineStep = pipelineSteps; if (addPipeline.Menu == null) { var menu_vm = new Hrm.Framework.ViewModels.MenuViewModel(); menu_vm.Menus = new List <MenuModel>(); var response = _menuService.GetMenu(); if (response != null) { var result = JsonConvert.DeserializeObject <HrmResultModel <MenuModel> >(response); if (!CheckPermission(result)) { //return to Access Denied } else { menu_vm.Menus = result.Results; addPipeline.Menu = JsonConvert.DeserializeObject <List <dynamic> >(JsonConvert.SerializeObject(menu_vm.Menus)); } } } return(PartialView(UrlHelpers.TemplateAdmin("Pipeline", "_AddPipeline.cshtml"), addPipeline)); }
public ActionResult SavePipeline(AddPipelineViewModel data) { if (data.Pipeline != null) { var validations = ValidationHelper.Validation(data.Pipeline, "Pipeline"); if (validations.Count > 0) { return(Json(new { Result = validations, Invalid = true }, JsonRequestBehavior.AllowGet)); } } data.Pipeline.CreatedBy = CurrentUser.UserId; data.Pipeline.UpdatedBy = CurrentUser.UserId; foreach (var item in data.PipelineStep) { if (item.ListStringPipelineRule != null) { item.PipelineRule = string.Join(",", item.ListStringPipelineRule); } } if (data.Pipeline != null) { var validations = ValidationHelper.Validation(data, "data"); if (validations.Count > 0) { return(Json(new { Result = validations, Invalid = true }, JsonRequestBehavior.AllowGet)); } } bool isSuccess = false; var responeseResources = string.Empty; var pipelineEntity = MapperHelper.Map <PipelineModel, PipelineEntity>(data.Pipeline); var pipelineStepTity = MapperHelper.MapList <PipelineStepModel, PipelineStepType>(data.PipelineStep); var result = _pipelineService.SavePipeline(pipelineEntity, pipelineStepTity); if (result != null) { var response = JsonConvert.DeserializeObject <HrmResultModel <bool> >(result); if (!CheckPermission(response)) { //return to Access Denied } else { if (response.Success == true) { List <ListPipeline> listPipeline = new List <ListPipeline>(); var pipelineRespone = _pipelineService.GetPipeline(); List <PipelineModel> pipeline = new List <PipelineModel>(); List <long> listId = new List <long>(); if (pipelineRespone != null) { var resultPipeline = JsonConvert.DeserializeObject <HrmResultModel <PipelineModel> >(pipelineRespone); if (!CheckPermission(resultPipeline)) { //return to Access Denied } else { pipeline = resultPipeline.Results; listId = pipeline.Select(x => x.Id).Distinct().ToList(); } } if (listId.Count() > 0) { listId.Sort(); for (int i = 0; i < listId.Count(); i++) { listPipeline.Add(new ListPipeline() { ListPipelineModel = pipeline.Where(x => x.Id == listId[i]).ToList() }); } } PipelineViewModel pipelineView = new PipelineViewModel(); pipelineView.PipelineView = listPipeline; return(PartialView(UrlHelpers.TemplateAdmin("Pipeline", "_Pipeline.cshtml"), pipelineView)); } else { if (data.Pipeline.Id != 0) { responeseResources = _localizationService.GetResources("Message.Update.UnSuccessful"); } else { responeseResources = _localizationService.GetResources("Message.Create.UnSuccessfu"); } } } } return(Json(new { isSuccess, responeseResources }, JsonRequestBehavior.AllowGet)); }