public ActionResult SaveLaborCost(LaborCostSelectItem labItem) { if (labItem.LaborCostId == null) { labItem.LaborCostId = Guid.Empty; } ProjectLogic logic = new ProjectLogic(); var result = logic.SaveLaborCost(labItem); return(Json(result)); }
public object SaveLaborCost(LaborCostSelectItem labItem) { using (TeamDBContext context = new TeamDBContext()) { Guid?id = null; if (labItem.LaborCostId == Guid.Empty) { var results = (from n in context.LaborCosts where n.TargetType == labItem.TargetType where n.TargetId == labItem.TargetId select n); if (results.Count() > 0) { return(new { Result = false, ErrorMessage = String.Format("成本目标 [{0}] 已存在,不可重复添加", labItem.TargetName) }); } LaborCost lab = new LaborCost(); lab.LaborCostId = Guid.NewGuid(); lab.TargetType = labItem.TargetType; lab.TargetId = labItem.TargetId; lab.UnitPrice = labItem.UnitPrice; lab.UnitValue = labItem.UnitValue; context.LaborCosts.Add(lab); id = lab.LaborCostId; } else { LaborCost oldLab = context.LaborCosts.Where(n => n.LaborCostId == labItem.LaborCostId).Single(); if (oldLab == null) { throw new Exception("不存在此人力成本信息!"); } oldLab.TargetType = labItem.TargetType; oldLab.TargetId = labItem.TargetId; oldLab.UnitPrice = labItem.UnitPrice; oldLab.UnitValue = labItem.UnitValue; id = labItem.LaborCostId; } int countChange = context.SaveChanges(); return(new { Result = countChange > 0, ID = id }); } }