public IHttpActionResult PostChangeWorkflowStage(ChangeWorkflowStage workflowStage) { if (workflowStage == null) { return(BadRequest("workflow stage cannot be found in the request body.")); } try { var allStages = changeWorkflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageId).ToList(); int lastStage = 1; if (workflowStage.StageOrderNumber > 1) { lastStage = workflowStage.StageOrderNumber; var topStages = allStages.Where(s => s.StageOrderNumber >= workflowStage.StageOrderNumber); foreach (var topStage in topStages) { var stage = changeWorkflowService.GetWorkflowStageByStageOrderNumber(topStage.StageOrderNumber); stage.StageOrderNumber = stage.StageOrderNumber + 1; changeWorkflowService.UpdateWorkflowStage(stage); } } else { if (allStages.Any()) { lastStage = allStages.FirstOrDefault().StageOrderNumber + 1; } } workflowStage.CreatedDate = DateTime.Now; workflowStage.ReferenceNumberRequired = true; workflowStage.TrackingEntity = "1"; workflowStage.TrackingOwner = "1"; workflowStage.StageOrderNumber = lastStage; changeWorkflowService.CreateWorkflowStage(workflowStage); allStages = changeWorkflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageOrderNumber).ToList(); var partialView = Helpers.RenderPartial("~/Views/Shared/Partial/Workflow/ChangeWorkflowStages.cshtml", allStages); return(Ok(partialView)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult PutChangeWorkflowStage(ChangeWorkflowStage workflowStage) { if (workflowStage == null) { return(BadRequest("workflow stage connot be found in the request body")); } try { var currentStage = changeWorkflowService.GetWorkflowStage(workflowStage.StageId); currentStage.StageName = workflowStage.StageName; currentStage.RoleId = workflowStage.RoleId; changeWorkflowService.UpdateWorkflowStage(currentStage); var allStages = changeWorkflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageOrderNumber).ToList(); var partialView = Helpers.RenderPartial("~/Views/Shared/Partial/Workflow/ChangeWorkflowStages.cshtml", allStages); return(Ok(partialView)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public void UpdateWorkflowStage(ChangeWorkflowStage stage) { var original = workflowStagesRepository.GetById(s => s.StageId == stage.StageId); workflowStagesRepository.Update(original, stage.AutoMapObject<ChangeWorkflowStage, DB.ChangeWorkflowStage>()); }
public ChangeWorkflowStage CreateWorkflowStage(ChangeWorkflowStage stage) { var workflowStage = workflowStagesRepository.Insert(stage.AutoMapObject<ChangeWorkflowStage, DB.ChangeWorkflowStage>()); return workflowStage.AutoMapObject<DB.ChangeWorkflowStage, ChangeWorkflowStage>(); }