public WorkProgress SaveWorkProgress(WorkProgressViewModel workProg) { WorkProgress wProg = null; if (workProg.ProgId > 0) { wProg = this.GetWorkProgress(workProg.ProgId); } //不是创建人只能新增不能修改 if (wProg == null || wProg.Creator != _identity.Claims.Where(c => c.Type == "name").FirstOrDefault().Value) { BizSteps step = _context.BizSteps.Include("BizItem").Where(s => s.StepId == workProg.StepId).FirstOrDefault(); wProg = new WorkProgress(); wProg.WoId = workProg.WoId; wProg.ItemId = step.BizItem.ItemId; wProg.StepId = step.StepId; _context.WorkProgress.Add(wProg); } wProg.CompletedTime = workProg.CompletedTime; wProg.ResultDesc = workProg.ResultDesc; wProg.AdvanceExpenditure = workProg.AdvanceExpenditure; wProg.CreateTime = DateTime.Now; wProg.Creator = _identity.Claims.Where(c => c.Type == "name").FirstOrDefault().Value; wProg.SortIndex = workProg.SortIndex; wProg.IsSuccess = workProg.IsSuccess; //重算代垫费用 WorkOrder wOrder = _context.WorkOrders.Include("WorkProgresses").Where(wo => wo.WoId == wProg.WoId).First(); wOrder.AdvanceExpenditure = wOrder.WorkProgresses.Sum(p => p.AdvanceExpenditure); wOrder.State = WorkOrderState.InProcess; if (!string.IsNullOrEmpty(workProg.Url)) { ProgressImage pi = new ProgressImage(); if (wProg.Images.Count > 0) { pi = wProg.Images.FirstOrDefault(); } else { wProg.Images.Add(pi); } pi.AliyunKey = workProg.FileName; pi.Url = workProg.Url; pi.Expiration = DateTime.Now.AddYears(5); pi.WorkProgress = wProg; } _context.SaveChanges(); return(wProg); }
public void DeleteBizStep(int stepId) { BizSteps step = this.GetStep(stepId); if (step == null) { throw new ArgumentNullException("找不到步骤信息:" + stepId); } _context.BizSteps.Remove(step); _context.SaveChanges(); }
public BizSteps SaveBizStep(BizStepsViewModel step) { BizSteps bizStep = new BizSteps(); if (step.StepId > 0) { bizStep = this.GetStep(step.StepId); } bizStep.BizItem = this.GetBizItem(step.ItemId); bizStep.StepName = step.StepName; bizStep.SortIndex = step.SortIndex; _context.BizSteps.AddOrUpdate(bizStep); _context.SaveChanges(); return(bizStep); }