示例#1
0
        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);
        }
示例#2
0
        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);
        }