示例#1
0
        public InvoiceObject SaveInvoice(InvoiceObject InvoiceObj)
        {
            if (InvoiceObj.FormMode == FormMode.Insert)
            {
                //insert thằng master lấy id
                var masterID = InsertEntity <Invoice>(InvoiceObj.Invoice);
                InvoiceObj.Invoice.InvoiceID = masterID;
                //gán id cho thằng detail, thực hiện insert
                for (int i = 0; i < InvoiceObj.InvoiceDetails.Count; i++)
                {
                    InvoiceObj.InvoiceDetails[i].InvoiceID = masterID;
                    InsertEntity <InvoiceDetail>(InvoiceObj.InvoiceDetails[i]);

                    var store = new Store();

                    store.ShopID        = InvoiceObj.Invoice.ShopID;
                    store.ChangeDate    = InvoiceObj.Invoice.InvoiceDate;
                    store.SKUCode       = InvoiceObj.InvoiceDetails[i].SKUCode;
                    store.ItemName      = InvoiceObj.InvoiceDetails[i].ItemName;
                    store.Unit          = InvoiceObj.InvoiceDetails[i].Unit;
                    store.UnitPrice     = InvoiceObj.InvoiceDetails[i].UnitPrice;
                    store.ItemGroupName = InvoiceObj.InvoiceDetails[i].ItemGroupName;
                    store.OutAmount     = InvoiceObj.InvoiceDetails[i].Amount;
                    store.InAmount      = 0;
                    store.UnitPrice     = InvoiceObj.InvoiceDetails[i].UnitPrice;
                    storeBL.SaveStore(store);
                }
            }
            else if (InvoiceObj.FormMode == FormMode.Update)
            {
                //update thằng master lấy id
                InvoiceObj.Invoice = UpdateEntity <Invoice>(InvoiceObj.Invoice);
                //update cho từng thằng detail
                for (int i = 0; i < InvoiceObj.InvoiceDetails.Count; i++)
                {
                    InvoiceObj.InvoiceDetails[i] = UpdateEntity <InvoiceDetail>(InvoiceObj.InvoiceDetails[i]);
                }
            }
            return(InvoiceObj);
        }