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); }