Example #1
0
        public object SaveInward(InwardObject InwardObj)
        {
            var result = new object();

            if (InwardObj.FormMode == FormMode.Insert || InwardObj.FormMode == FormMode.Duplicate)
            {
                //insert thằng master lấy id
                var masterID = InsertEntity <Inward>(InwardObj.Inward);
                InwardObj.Inward.InwardID = masterID;
                //gán id cho thằng detail, thực hiện insert
                for (int i = 0; i < InwardObj.InwardDetails.Count; i++)
                {
                    InwardObj.InwardDetails[i].InwardID = masterID;
                    var detailID = InsertEntity <InwardDetail>(InwardObj.InwardDetails[i]);
                    InwardObj.InwardDetails[i].InwardDetailID = detailID;

                    var store = new Store();
                    store.ShopID        = InwardObj.Inward.ShopID;
                    store.ChangeDate    = InwardObj.Inward.InwardDate;
                    store.SKUCode       = InwardObj.InwardDetails[i].SKUCode;
                    store.ItemName      = InwardObj.InwardDetails[i].ItemName;
                    store.Unit          = InwardObj.InwardDetails[i].Unit;
                    store.UnitPrice     = InwardObj.InwardDetails[i].UnitPrice;
                    store.ItemGroupName = InwardObj.InwardDetails[i].ItemGroupName;
                    store.InAmount      = InwardObj.InwardDetails[i].Amount;
                    store.OutAmount     = 0;
                    store.UnitPrice     = InwardObj.InwardDetails[i].UnitPrice;
                    storeBL.InsertEntity <Store>(store);
                }
                result = masterID;
            }
            else if (InwardObj.FormMode == FormMode.Update)
            {
                try
                {
                    //update thằng master
                    UpdateEntity <Inward>(InwardObj.Inward);
                    //gán id cho thằng detail, thực hiện insert
                    var masterID = InwardObj.Inward.InwardID;
                    DeleteInwardDetail(masterID.ToString());
                    for (int i = 0; i < InwardObj.InwardDetails.Count; i++)
                    {
                        InwardObj.InwardDetails[i].InwardID = masterID;
                        var detailID = InsertEntity <InwardDetail>(InwardObj.InwardDetails[i]);
                        InwardObj.InwardDetails[i].InwardDetailID = detailID;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(result);
        }
        // POST: api/Unit
        public ServerResponse Post([FromBody] InwardObject InwardObj)
        {
            var res = new ServerResponse();

            using (InwardBL InwardBL = new InwardBL())
            {
                try
                {
                    res.Data = InwardBL.SaveInward(InwardObj);
                }
                catch (Exception ex)
                {
                    res.Success = false;
                }
            }
            return(res);
        }