public async Task <ActionResult> AddProjectMilestone(MilestoneManageVM model) { if (ModelState.IsValid) { return(Ok(await _repository.AddWorkflowPhaseMilestone(model))); } return(BadRequest()); }
public async Task <ActionResult> UpdateProjectMilestone([FromBody] MilestoneManageVM model) { if (ModelState.IsValid) { try { await _repository.UpdateWorkflowPhaseMilestone(model); return(Ok()); } catch (Exception ex) { if (ex.GetType().FullName == "Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException") { return(NotFound()); } return(BadRequest()); } } return(BadRequest()); }
public async Task <Response <int> > AddWorkflowPhaseMilestone(MilestoneManageVM workflowphasemilestone) { try { if (workflowphasemilestone.Milestone_ID != 0) { var item = _context.WorkflowPhaseMilestone.Find(workflowphasemilestone.Milestone_ID); item.Milestone_Name = workflowphasemilestone.Milestone_Name; item.Milestone_ID = workflowphasemilestone.Milestone_ID; item.Phase_ID = workflowphasemilestone.Phase_ID; item.SLA = workflowphasemilestone.SLA; item.Workflow_ID = workflowphasemilestone.Workflow_ID; item.Is_Active = workflowphasemilestone.Is_Active; var existingList = _context.MilestoneDepartment.Where(x => x.Milestone_ID == workflowphasemilestone.Milestone_ID).ToList(); foreach (var eItem in existingList) { if (workflowphasemilestone.DepartmentIds.IndexOf(eItem.Department_ID.ToString()) == 0) { eItem.Is_Active = false; } } await _context.SaveChangesAsync(); foreach (var deptIdStr in workflowphasemilestone.DepartmentIds.Split(',')) { int deptId = Convert.ToInt32(deptIdStr); var deptItem = _context.MilestoneDepartment.Where(x => x.Department_ID == deptId && x.Milestone_ID == item.Milestone_ID).FirstOrDefault(); if (deptItem == null) { MilestoneDepartment department = new MilestoneDepartment(); department.Department_ID = deptId; department.Milestone_ID = item.Milestone_ID; department.Is_Active = true; _context.MilestoneDepartment.Add(department); await _context.SaveChangesAsync(); } else { deptItem.Is_Active = true; await _context.SaveChangesAsync(); } } } else { WorkflowPhaseMilestone obj = new WorkflowPhaseMilestone(); obj.Milestone_ID = workflowphasemilestone.Milestone_ID; obj.Milestone_Name = workflowphasemilestone.Milestone_Name; obj.Phase_ID = workflowphasemilestone.Phase_ID; obj.SLA = workflowphasemilestone.SLA; obj.Workflow_ID = workflowphasemilestone.Workflow_ID; obj.Is_Active = workflowphasemilestone.Is_Active; await _context.WorkflowPhaseMilestone.AddAsync(obj); List <MilestoneDepartment> deptList = new List <MilestoneDepartment>(); foreach (var deptItem in workflowphasemilestone.DepartmentIds.Split(',')) { int deptId = Convert.ToInt32(deptItem); MilestoneDepartment department = new MilestoneDepartment(); department.Department_ID = deptId; department.Milestone_ID = workflowphasemilestone.Milestone_ID; department.Is_Active = true; deptList.Add(department); } _context.MilestoneDepartment.AddRange(deptList); await _context.SaveChangesAsync(); } await _context.SaveChangesAsync(); return(new Response <int>() { IsSuccess = true, Model = workflowphasemilestone.Milestone_ID }); } catch (Exception ex) { _log.Error(ex, _user.GetCurrentUser().User_Name); return(new Response <int>() { IsSuccess = false, Message = ex.Message }); } }
public Task <Response <bool> > UpdateWorkflowPhaseMilestone(MilestoneManageVM workflowphasemilestone) { throw new NotImplementedException(); }