public static FormData FormActions(string action, FormData data) { var productInput = (ProductNotice)data.MainObject; var bl = BIFactory.Create <IProductNoticeBL>(); switch (action) { case FormActionNames.Load: var dom = bl.Load(productInput.ID); data.MainObject = dom; break; case FormActionNames.Save: BeforeSave(productInput); if (productInput.ID == 0) { bl.InitNewDmo(productInput); UpdateDetail(productInput); bl.Insert(productInput); data.MainObject = productInput; return(FormActions(FormActionNames.Load, data)); } UpdateDetail(productInput); bl.Update(productInput); return(FormActions(FormActionNames.Load, data)); case FormActionNames.Check: bl.Check(productInput); data.MainObject = productInput; break; case FormActionNames.New: var dmo = new ProductNotice(); data.MainObject = dmo; break; case FormActionNames.Prev: var prevDmo = GetPrevOrNext(productInput.ID); if (prevDmo == null) { throw new IndexOutOfRangeException("Current is first"); } data.MainObject = prevDmo; break; case FormActionNames.Next: var nextDmo = GetPrevOrNext(productInput.ID, false); if (nextDmo == null) { throw new IndexOutOfRangeException("Current is last"); } data.MainObject = nextDmo; break; case "LoadDetail": LoadDetail(productInput); break; case "ReferToCreate": data.MainObject = HippoUtil.ReferenceToCreate(productInput); break; case "Predict": LoadPredictDetail(productInput); UpdateDetail(productInput); break; default: throw new ArgumentException("Unknown action: " + action); } return(data); }
public static FormData FormActions(string action, FormData data) { var productOutput = (ProduceOutput)data.MainObject; var bl = BIFactory.Create <IProduceOutputBL>(); switch (action) { case FormActionNames.Load: var dom = bl.Load(productOutput.ID); data.MainObject = dom; break; case FormActionNames.Save: if (productOutput.Details.Count <= 0) { LoadDetail(productOutput); //在 save 的 FormAction 里,向客户端返回脚本: "scrollToCollection(0)", 也就是: "0 ()scrollToCollection " data.Codes = "0 ()scrollToCollection "; } if (productOutput.ID == 0) { bl.InitNewDmo(productOutput); bl.Insert(productOutput); data.MainObject = productOutput; //在 save 的 FormAction 里,向客户端返回脚本: "scrollToCollection(0)", 也就是: "0 ()scrollToCollection " data.Codes = "0 ()scrollToCollection "; return(FormActions(FormActionNames.Load, data)); } bl.Update(productOutput); return(FormActions(FormActionNames.Load, data)); case FormActionNames.New: var dmo = new ProduceOutput(); data.MainObject = dmo; dmo.Time = DateTime.Now; bl.InitNewDmo(dmo); var productPlan = GetProductPlan(dmo.AccountingUnit_ID, dmo.Department_ID, Convert.ToDateTime(Convert.ToDateTime(dmo.Time).ToShortDateString())); if (productPlan != null) { dmo.PlanNumber_ID = productPlan.Item1; dmo.PlanNumber_Name = productPlan.Item2; } break; case FormActionNames.Prev: var prevDmo = GetPrevOrNext(productOutput.ID); if (prevDmo == null) { throw new IndexOutOfRangeException("Current is first"); } data.MainObject = prevDmo; break; case FormActionNames.Next: var nextDmo = GetPrevOrNext(productOutput.ID, false); if (nextDmo == null) { throw new IndexOutOfRangeException("Current is last"); } data.MainObject = nextDmo; break; case "LoadDetail": LoadDetail(productOutput); bl.Update(productOutput); break; case "ReferToCreate": data.MainObject = HippoUtil.ReferenceToCreate <ProduceOutput>(productOutput); break; default: throw new ArgumentException("Unknown action: " + action); } return(data); }