private static BillLine FindOrCreateBillLine(RotoTrackDb db, string TxnLineID, string TxnID, string TimeCreated, string TimeModified, string EditSequence, string TxnDate, string AmountDue) { BillLine bl = null; if (db.BillLines.Any(f => f.TxnLineId == TxnLineID)) { bl = db.BillLines.First(f => f.TxnLineId == TxnLineID); } else { bl = new BillLine(); db.BillLines.Add(bl); } bl.TxnLineId = TxnLineID; bl.BillTxnId = TxnID; DateTime createdDate; if (DateTime.TryParse(TimeCreated, out createdDate)) { bl.BillCreated = createdDate; } DateTime modifiedDate; if (DateTime.TryParse(TimeModified, out modifiedDate)) { bl.BillModified = modifiedDate; } bl.BillEditSequence = EditSequence; DateTime txnDate; if (DateTime.TryParse(TxnDate, out txnDate)) { bl.BillTxnDate = txnDate; } decimal amountDue; if (Decimal.TryParse(AmountDue, out amountDue)) { bl.BillAmountDue = amountDue; } return(bl); }
public Bill CreateBill(User user2, List <ItemLine> lines) { Bill b = new Bill(); b.user = user2; foreach (ItemLine l in lines) { BillLine bl = new BillLine(); bl.itemLine = l; bl.soustotal = l.quantite_item * l.item.prix_item; b.AllBillLines.Add(bl); } foreach (BillLine bl in b.AllBillLines) { b.TotalHT += bl.soustotal; } b.TotalTTC = b.TotalHT * 1.15; //on prend 15% de taxes ce qui correspond aux taxes au Québec return(b); }
private void btnSave_Click(object sender, EventArgs e) { //put the line level info into the bill lines foreach (DataGridViewRow row in grdBillLines.Rows) { double amount; //new rows if (row.Cells["BillLineId"].Value == null || row.Cells["BillLineId"].Value.ToString() == "" || row.Cells["BillLineId"].Value.ToString() == "0") { BillLine line = new BillLine(); if (!Double.TryParse(row.Cells["AmountShown"].Value.ToString(), out amount)) { amount = 0; } line.Amount = amount; line.OrderItemId = Convert.ToInt32(row.Cells["ItemId"].Value); bill.BillLines.Add(line); } else { //existing bill lines int billLineId = Convert.ToInt32(row.Cells["BillLineId"].Value); BillLine line = bill.BillLines.Where(p => p.Id == billLineId).First(); if (!Double.TryParse(row.Cells["AmountShown"].Value.ToString(), out amount)) { amount = 0; } line.Amount = amount; } } if (bill.Id == 0) { context.Bills.AddObject(bill); } context.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); MessageBox.Show("Saved Successfully"); InitializeData(); }
private static BillLine FindOrCreateBillLine(RotoTrackDb db, string TxnLineID, string TxnID, string TimeCreated, string TimeModified, string EditSequence, string TxnDate, string AmountDue) { BillLine bl = null; if (db.BillLines.Any(f => f.TxnLineId == TxnLineID)) { bl = db.BillLines.First(f => f.TxnLineId == TxnLineID); } else { bl = new BillLine(); db.BillLines.Add(bl); } bl.TxnLineId = TxnLineID; bl.BillTxnId = TxnID; DateTime createdDate; if (DateTime.TryParse(TimeCreated, out createdDate)) bl.BillCreated = createdDate; DateTime modifiedDate; if (DateTime.TryParse(TimeModified, out modifiedDate)) bl.BillModified = modifiedDate; bl.BillEditSequence = EditSequence; DateTime txnDate; if (DateTime.TryParse(TxnDate, out txnDate)) bl.BillTxnDate = txnDate; decimal amountDue; if (Decimal.TryParse(AmountDue, out amountDue)) bl.BillAmountDue = amountDue; return bl; }
public JsonResult CreateSale(SaleVM O) { //CustomerName contiene el id del cliente bool status = false; bool final = false; if (O.SaleState == "1") { final = true; } Sale sale = new Sale(); Bill bill = new Bill(); var cusid = Int32.Parse(O.CustomerName); if (ModelState.IsValid) { if (final) { sale.SaleState = SaleState.Finalizada; } else { sale.SaleState = SaleState.Pendiente; } bill.SaleTotal = O.SaleTotal; bill.Comments = O.Comments; bill.SaleDate = O.SaleDate; bill.SaleAddress = O.SaleAddress; bill.LinesTotal = O.SaleTotal; if (cusid != 0) { bill.IdCustomer = cusid; } db.Bills.Add(bill); db.SaveChanges(); sale.SaleDate = O.SaleDate; sale.SaleAddress = O.SaleAddress; sale.Comments = O.Comments; sale.SaleTotal = O.SaleTotal; sale.LinesTotal = O.SaleTotal; sale.IdBill = bill.IdBill; if (cusid != 0) { sale.IdCustomer = cusid; } db.Sales.Add(sale); db.SaveChanges(); foreach (var i in O.SaleLines) { BillLine billline = new BillLine(); billline.IdProduct = i.IdProduct; billline.LinePrice = i.LinePrice; billline.LineDiscount = i.LineDiscount; billline.LineQuantity = i.LineQuantity; billline.LineTotal = i.LineTotal; billline.IdBill = bill.IdBill; db.BillLines.Add(billline); db.SaveChanges(); SaleLine saleline = new SaleLine(); saleline.IdProduct = i.IdProduct; saleline.LinePrice = i.LinePrice; saleline.LineDiscount = i.LineDiscount; saleline.LineQuantity = i.LineQuantity; saleline.LineTotal = i.LineTotal; saleline.IdSale = sale.IdSale; db.SaleLines.Add(saleline); db.SaveChanges(); Product prod = new Product(); prod = db.Products.Find(i.IdProduct); if (final) { prod.Stock = prod.Stock - i.LineQuantity; } prod.ParcialStock = prod.ParcialStock - i.LineQuantity; db.Entry(prod).State = EntityState.Modified; db.SaveChanges(); } status = true; } else { status = false; } return(new JsonResult { Data = new { status = status } }); }
private decimal CalculateSalePrice(BillLine billline, Item item) { if (billline == null || item == null) return 0.0M; return CalculateSalePrice(billline.BillableStatus, billline.Amount, item); }
private static void WalkBillRetForQuery(XmlNode BillRet) { if (BillRet == null) { return; } RotoTrackDb db = new RotoTrackDb(); //Go through all the elements of BillRet //Get value of TxnID string TxnID = BillRet.SelectSingleNode("./TxnID").InnerText; // New or modified objects will return all current line items, so remove any existing ones first and then recreate them. RemoveExistingLineItems(db, TxnID); //Get value of TimeCreated string TimeCreated = BillRet.SelectSingleNode("./TimeCreated").InnerText; //Get value of TimeModified string TimeModified = BillRet.SelectSingleNode("./TimeModified").InnerText; //Get value of EditSequence string EditSequence = BillRet.SelectSingleNode("./EditSequence").InnerText; //Get value of TxnNumber if (BillRet.SelectSingleNode("./TxnNumber") != null) { string TxnNumber = BillRet.SelectSingleNode("./TxnNumber").InnerText; } //Get all field values for APAccountRef aggregate XmlNode APAccountRef = BillRet.SelectSingleNode("./APAccountRef"); if (APAccountRef != null) { //Get value of ListID if (BillRet.SelectSingleNode("./APAccountRef/ListID") != null) { string ListID = BillRet.SelectSingleNode("./APAccountRef/ListID").InnerText; } //Get value of FullName if (BillRet.SelectSingleNode("./APAccountRef/FullName") != null) { string FullName = BillRet.SelectSingleNode("./APAccountRef/FullName").InnerText; } } //Done with field values for APAccountRef aggregate //Get value of TxnDate string TxnDate = BillRet.SelectSingleNode("./TxnDate").InnerText; //Get value of DueDate if (BillRet.SelectSingleNode("./DueDate") != null) { string DueDate = BillRet.SelectSingleNode("./DueDate").InnerText; } //Get value of AmountDue string AmountDue = ""; if (BillRet.SelectSingleNode("./AmountDue") != null) { AmountDue = BillRet.SelectSingleNode("./AmountDue").InnerText; } //Get all field values for CurrencyRef aggregate XmlNode CurrencyRef = BillRet.SelectSingleNode("./CurrencyRef"); if (CurrencyRef != null) { //Get value of ListID if (BillRet.SelectSingleNode("./CurrencyRef/ListID") != null) { string ListID = BillRet.SelectSingleNode("./CurrencyRef/ListID").InnerText; } //Get value of FullName if (BillRet.SelectSingleNode("./CurrencyRef/FullName") != null) { string FullName = BillRet.SelectSingleNode("./CurrencyRef/FullName").InnerText; } } //Done with field values for CurrencyRef aggregate //Get all field values for VendorRef aggregate //Get value of ListID string VendorListID = ""; if (BillRet.SelectSingleNode("./VendorRef/ListID") != null) { VendorListID = BillRet.SelectSingleNode("./VendorRef/ListID").InnerText; } //Get value of FullName if (BillRet.SelectSingleNode("./VendorRef/FullName") != null) { string FullName = BillRet.SelectSingleNode("./VendorRef/FullName").InnerText; } //Done with field values for VendorRef aggregate //Get value of ExchangeRate if (BillRet.SelectSingleNode("./ExchangeRate") != null) { string ExchangeRate = BillRet.SelectSingleNode("./ExchangeRate").InnerText; } //Get value of AmountDueInHomeCurrency if (BillRet.SelectSingleNode("./AmountDueInHomeCurrency") != null) { string AmountDueInHomeCurrency = BillRet.SelectSingleNode("./AmountDueInHomeCurrency").InnerText; } //Get value of RefNumber if (BillRet.SelectSingleNode("./RefNumber") != null) { string RefNumber = BillRet.SelectSingleNode("./RefNumber").InnerText; } //Get all field values for TermsRef aggregate XmlNode TermsRef = BillRet.SelectSingleNode("./TermsRef"); if (TermsRef != null) { //Get value of ListID if (BillRet.SelectSingleNode("./TermsRef/ListID") != null) { string ListID = BillRet.SelectSingleNode("./TermsRef/ListID").InnerText; } //Get value of FullName if (BillRet.SelectSingleNode("./TermsRef/FullName") != null) { string FullName = BillRet.SelectSingleNode("./TermsRef/FullName").InnerText; } } //Done with field values for TermsRef aggregate //Get value of Memo if (BillRet.SelectSingleNode("./Memo") != null) { string Memo = BillRet.SelectSingleNode("./Memo").InnerText; } //Get value of IsPaid if (BillRet.SelectSingleNode("./IsPaid") != null) { string IsPaid = BillRet.SelectSingleNode("./IsPaid").InnerText; } //Get value of ExternalGUID if (BillRet.SelectSingleNode("./ExternalGUID") != null) { string ExternalGUID = BillRet.SelectSingleNode("./ExternalGUID").InnerText; } //Walk list of ExpenseLineRet aggregates XmlNodeList ExpenseLineRetList = BillRet.SelectNodes("./ExpenseLineRet"); if (ExpenseLineRetList != null) { for (int i = 0; i < ExpenseLineRetList.Count; i++) { XmlNode ExpenseLineRet = ExpenseLineRetList.Item(i); //Get all field values for CustomerRef aggregate string CustomerListID = ""; XmlNode CustomerRef = ExpenseLineRet.SelectSingleNode("./CustomerRef"); if (CustomerRef != null) { //Get value of ListID if (ExpenseLineRet.SelectSingleNode("./CustomerRef/ListID") != null) { CustomerListID = ExpenseLineRet.SelectSingleNode("./CustomerRef/ListID").InnerText; } //Get value of FullName if (ExpenseLineRet.SelectSingleNode("./CustomerRef/FullName") != null) { string FullName = ExpenseLineRet.SelectSingleNode("./CustomerRef/FullName").InnerText; } } //Done with field values for CustomerRef aggregate // Skip the rest of this iteration if no CustomerListID (associated work order) if (CustomerListID == "") { continue; } //Get value of TxnLineID string TxnLineID = ExpenseLineRet.SelectSingleNode("./TxnLineID").InnerText; // Find existing or create new BillLine entry BillLine bl = FindOrCreateBillLine(db, TxnLineID, TxnID, TimeCreated, TimeModified, EditSequence, TxnDate, AmountDue); bl.WorkOrderListID = CustomerListID; bl.VendorListID = VendorListID; string Description = ""; //Get all field values for AccountRef aggregate XmlNode AccountRef = ExpenseLineRet.SelectSingleNode("./AccountRef"); if (AccountRef != null) { //Get value of ListID if (ExpenseLineRet.SelectSingleNode("./AccountRef/ListID") != null) { string ListID = ExpenseLineRet.SelectSingleNode("./AccountRef/ListID").InnerText; } //Get value of FullName if (ExpenseLineRet.SelectSingleNode("./AccountRef/FullName") != null) { string FullName = ExpenseLineRet.SelectSingleNode("./AccountRef/FullName").InnerText; Description = FullName + " - "; } } //Done with field values for AccountRef aggregate //Get value of Memo if (ExpenseLineRet.SelectSingleNode("./Memo") != null) { string Memo = ExpenseLineRet.SelectSingleNode("./Memo").InnerText; Description += Memo; } bl.Description = Description; //Get value of Amount if (ExpenseLineRet.SelectSingleNode("./Amount") != null) { string Amount = ExpenseLineRet.SelectSingleNode("./Amount").InnerText; decimal amount; if (Decimal.TryParse(Amount, out amount)) { bl.Amount = amount; bl.UnitCost = amount; bl.Quantity = 1.0M; } } //Get all field values for ClassRef aggregate XmlNode ClassRef = ExpenseLineRet.SelectSingleNode("./ClassRef"); if (ClassRef != null) { //Get value of ListID if (ExpenseLineRet.SelectSingleNode("./ClassRef/ListID") != null) { string ListID = ExpenseLineRet.SelectSingleNode("./ClassRef/ListID").InnerText; bl.AreaListID = ListID; } //Get value of FullName if (ExpenseLineRet.SelectSingleNode("./ClassRef/FullName") != null) { string FullName = ExpenseLineRet.SelectSingleNode("./ClassRef/FullName").InnerText; } } //Done with field values for ClassRef aggregate //Get value of BillableStatus if (ExpenseLineRet.SelectSingleNode("./BillableStatus") != null) { string BillableStatus = ExpenseLineRet.SelectSingleNode("./BillableStatus").InnerText; bl.BillableStatus = BillableStatus; } db.SaveChanges(); } } XmlNodeList ORItemLineRetListChildren = BillRet.SelectNodes("./*"); for (int i = 0; i < ORItemLineRetListChildren.Count; i++) { XmlNode Child = ORItemLineRetListChildren.Item(i); if (Child.Name == "ItemLineRet") { //Get all field values for CustomerRef aggregate string CustomerListID = ""; XmlNode CustomerRef = Child.SelectSingleNode("./CustomerRef"); if (CustomerRef != null) { //Get value of ListID if (Child.SelectSingleNode("./CustomerRef/ListID") != null) { CustomerListID = Child.SelectSingleNode("./CustomerRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./CustomerRef/FullName") != null) { string FullName = Child.SelectSingleNode("./CustomerRef/FullName").InnerText; } } //Done with field values for CustomerRef aggregate // Skip this entity if no associated customer (work order) if (CustomerListID == "") { continue; } //Get value of TxnLineID string TxnLineID = Child.SelectSingleNode("./TxnLineID").InnerText; // Find existing or create new BillLine entry BillLine bl = FindOrCreateBillLine(db, TxnLineID, TxnID, TimeCreated, TimeModified, EditSequence, TxnDate, AmountDue); bl.WorkOrderListID = CustomerListID; bl.VendorListID = VendorListID; //Get all field values for ItemRef aggregate XmlNode ItemRef = Child.SelectSingleNode("./ItemRef"); if (ItemRef != null) { //Get value of ListID if (Child.SelectSingleNode("./ItemRef/ListID") != null) { string ListID = Child.SelectSingleNode("./ItemRef/ListID").InnerText; bl.ItemListID = ListID; } } //Done with field values for ItemRef aggregate //Get all field values for InventorySiteRef aggregate XmlNode InventorySiteRef = Child.SelectSingleNode("./InventorySiteRef"); if (InventorySiteRef != null) { //Get value of ListID if (Child.SelectSingleNode("./InventorySiteRef/ListID") != null) { string ListID = Child.SelectSingleNode("./InventorySiteRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./InventorySiteRef/FullName") != null) { string FullName = Child.SelectSingleNode("./InventorySiteRef/FullName").InnerText; } } //Done with field values for InventorySiteRef aggregate //Get all field values for InventorySiteLocationRef aggregate XmlNode InventorySiteLocationRef = Child.SelectSingleNode("./InventorySiteLocationRef"); if (InventorySiteLocationRef != null) { //Get value of ListID if (Child.SelectSingleNode("./InventorySiteLocationRef/ListID") != null) { string ListID = Child.SelectSingleNode("./InventorySiteLocationRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./InventorySiteLocationRef/FullName") != null) { string FullName = Child.SelectSingleNode("./InventorySiteLocationRef/FullName").InnerText; } } //Done with field values for InventorySiteLocationRef aggregate //Get value of Desc if (Child.SelectSingleNode("./Desc") != null) { string Desc = Child.SelectSingleNode("./Desc").InnerText; bl.Description = Desc; } //Get value of Quantity if (Child.SelectSingleNode("./Quantity") != null) { string Quantity = Child.SelectSingleNode("./Quantity").InnerText; decimal quantity; if (Decimal.TryParse(Quantity, out quantity)) { bl.Quantity = quantity; } } //Get value of UnitOfMeasure if (Child.SelectSingleNode("./UnitOfMeasure") != null) { string UnitOfMeasure = Child.SelectSingleNode("./UnitOfMeasure").InnerText; } //Get all field values for OverrideUOMSetRef aggregate XmlNode OverrideUOMSetRef = Child.SelectSingleNode("./OverrideUOMSetRef"); if (OverrideUOMSetRef != null) { //Get value of ListID if (Child.SelectSingleNode("./OverrideUOMSetRef/ListID") != null) { string ListID = Child.SelectSingleNode("./OverrideUOMSetRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./OverrideUOMSetRef/FullName") != null) { string FullName = Child.SelectSingleNode("./OverrideUOMSetRef/FullName").InnerText; } } //Done with field values for OverrideUOMSetRef aggregate //Get value of Cost if (Child.SelectSingleNode("./Cost") != null) { string Cost = Child.SelectSingleNode("./Cost").InnerText; decimal unitCost; if (Decimal.TryParse(Cost, out unitCost)) { bl.UnitCost = unitCost; } } //Get value of Amount if (Child.SelectSingleNode("./Amount") != null) { string Amount = Child.SelectSingleNode("./Amount").InnerText; decimal amount; if (Decimal.TryParse(Amount, out amount)) { bl.Amount = amount; } } //Get all field values for ClassRef aggregate XmlNode ClassRef = Child.SelectSingleNode("./ClassRef"); if (ClassRef != null) { //Get value of ListID if (Child.SelectSingleNode("./ClassRef/ListID") != null) { string ListID = Child.SelectSingleNode("./ClassRef/ListID").InnerText; bl.AreaListID = ListID; } //Get value of FullName if (Child.SelectSingleNode("./ClassRef/FullName") != null) { string FullName = Child.SelectSingleNode("./ClassRef/FullName").InnerText; } } //Done with field values for ClassRef aggregate //Get value of BillableStatus if (Child.SelectSingleNode("./BillableStatus") != null) { string BillableStatus = Child.SelectSingleNode("./BillableStatus").InnerText; bl.BillableStatus = BillableStatus; } db.SaveChanges(); } if (Child.Name == "ItemGroupLineRet") { //Get value of TxnLineID string TxnLineID = Child.SelectSingleNode("./TxnLineID").InnerText; //Get all field values for ItemGroupRef aggregate //Get value of ListID if (Child.SelectSingleNode("./ItemGroupRef/ListID") != null) { string ListID = Child.SelectSingleNode("./ItemGroupRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./ItemGroupRef/FullName") != null) { string FullName = Child.SelectSingleNode("./ItemGroupRef/FullName").InnerText; } //Done with field values for ItemGroupRef aggregate //Get value of Desc if (Child.SelectSingleNode("./Desc") != null) { string Desc = Child.SelectSingleNode("./Desc").InnerText; } //Get value of Quantity if (Child.SelectSingleNode("./Quantity") != null) { string Quantity = Child.SelectSingleNode("./Quantity").InnerText; } //Get value of UnitOfMeasure if (Child.SelectSingleNode("./UnitOfMeasure") != null) { string UnitOfMeasure = Child.SelectSingleNode("./UnitOfMeasure").InnerText; } //Get all field values for OverrideUOMSetRef aggregate XmlNode OverrideUOMSetRef = Child.SelectSingleNode("./OverrideUOMSetRef"); if (OverrideUOMSetRef != null) { //Get value of ListID if (Child.SelectSingleNode("./OverrideUOMSetRef/ListID") != null) { string ListID = Child.SelectSingleNode("./OverrideUOMSetRef/ListID").InnerText; } //Get value of FullName if (Child.SelectSingleNode("./OverrideUOMSetRef/FullName") != null) { string FullName = Child.SelectSingleNode("./OverrideUOMSetRef/FullName").InnerText; } } //Done with field values for OverrideUOMSetRef aggregate //Get value of TotalAmount string TotalAmount = Child.SelectSingleNode("./TotalAmount").InnerText; //Walk list of ItemLineRet aggregates XmlNodeList ItemLineRetList = Child.SelectNodes("./ItemLineRet"); if (ItemLineRetList != null) { for (int j = 0; j < ItemLineRetList.Count; j++) { XmlNode ItemLineRet = ItemLineRetList.Item(j); //Get all field values for CustomerRef aggregate string CustomerListID = ""; XmlNode CustomerRef = ItemLineRet.SelectSingleNode("./CustomerRef"); if (CustomerRef != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./CustomerRef/ListID") != null) { CustomerListID = ItemLineRet.SelectSingleNode("./CustomerRef/ListID").InnerText; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./CustomerRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./CustomerRef/FullName").InnerText; } } //Done with field values for CustomerRef aggregate // Skip the rest if no associated customer (work order) if (CustomerListID == "") { continue; } //Get value of TxnLineID string TxnLineID2 = ItemLineRet.SelectSingleNode("./TxnLineID").InnerText; // Find existing or create new BillLine entry BillLine bl = FindOrCreateBillLine(db, TxnLineID2, TxnID, TimeCreated, TimeModified, EditSequence, TxnDate, AmountDue); bl.WorkOrderListID = CustomerListID; bl.VendorListID = VendorListID; //Get all field values for ItemRef aggregate XmlNode ItemRef = ItemLineRet.SelectSingleNode("./ItemRef"); if (ItemRef != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./ItemRef/ListID") != null) { string ListID = ItemLineRet.SelectSingleNode("./ItemRef/ListID").InnerText; bl.ItemListID = ListID; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./ItemRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./ItemRef/FullName").InnerText; } } //Done with field values for ItemRef aggregate //Get all field values for InventorySiteRef aggregate XmlNode InventorySiteRef = ItemLineRet.SelectSingleNode("./InventorySiteRef"); if (InventorySiteRef != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./InventorySiteRef/ListID") != null) { string ListID = ItemLineRet.SelectSingleNode("./InventorySiteRef/ListID").InnerText; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./InventorySiteRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./InventorySiteRef/FullName").InnerText; } } //Done with field values for InventorySiteRef aggregate //Get all field values for InventorySiteLocationRef aggregate XmlNode InventorySiteLocationRef = ItemLineRet.SelectSingleNode("./InventorySiteLocationRef"); if (InventorySiteLocationRef != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./InventorySiteLocationRef/ListID") != null) { string ListID = ItemLineRet.SelectSingleNode("./InventorySiteLocationRef/ListID").InnerText; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./InventorySiteLocationRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./InventorySiteLocationRef/FullName").InnerText; } } //Done with field values for InventorySiteLocationRef aggregate //Get value of Desc if (ItemLineRet.SelectSingleNode("./Desc") != null) { string Desc = ItemLineRet.SelectSingleNode("./Desc").InnerText; bl.Description = Desc; } //Get value of Quantity if (ItemLineRet.SelectSingleNode("./Quantity") != null) { string Quantity = ItemLineRet.SelectSingleNode("./Quantity").InnerText; decimal quantity; if (Decimal.TryParse(Quantity, out quantity)) { bl.Quantity = quantity; } } //Get value of UnitOfMeasure if (ItemLineRet.SelectSingleNode("./UnitOfMeasure") != null) { string UnitOfMeasure = ItemLineRet.SelectSingleNode("./UnitOfMeasure").InnerText; } //Get all field values for OverrideUOMSetRef aggregate XmlNode OverrideUOMSetRef2 = ItemLineRet.SelectSingleNode("./OverrideUOMSetRef"); if (OverrideUOMSetRef2 != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./OverrideUOMSetRef/ListID") != null) { string ListID = ItemLineRet.SelectSingleNode("./OverrideUOMSetRef/ListID").InnerText; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./OverrideUOMSetRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./OverrideUOMSetRef/FullName").InnerText; } } //Done with field values for OverrideUOMSetRef aggregate //Get value of Cost if (ItemLineRet.SelectSingleNode("./Cost") != null) { string Cost = ItemLineRet.SelectSingleNode("./Cost").InnerText; decimal cost; if (Decimal.TryParse(Cost, out cost)) { bl.UnitCost = cost; } } //Get value of Amount if (ItemLineRet.SelectSingleNode("./Amount") != null) { string Amount = ItemLineRet.SelectSingleNode("./Amount").InnerText; decimal amount; if (Decimal.TryParse(Amount, out amount)) { bl.Amount = amount; } } //Get all field values for ClassRef aggregate XmlNode ClassRef = ItemLineRet.SelectSingleNode("./ClassRef"); if (ClassRef != null) { //Get value of ListID if (ItemLineRet.SelectSingleNode("./ClassRef/ListID") != null) { string ListID = ItemLineRet.SelectSingleNode("./ClassRef/ListID").InnerText; bl.AreaListID = ListID; } //Get value of FullName if (ItemLineRet.SelectSingleNode("./ClassRef/FullName") != null) { string FullName = ItemLineRet.SelectSingleNode("./ClassRef/FullName").InnerText; } } //Done with field values for ClassRef aggregate //Get value of BillableStatus if (ItemLineRet.SelectSingleNode("./BillableStatus") != null) { string BillableStatus = ItemLineRet.SelectSingleNode("./BillableStatus").InnerText; bl.BillableStatus = BillableStatus; } db.SaveChanges(); } } } } }
public BillLine Update(BillLine billLine) { return(AutoMapperHelper.MapToSameType(_billLineDal.Update(billLine))); }
public BillLine Create(BillLine billLine) { return(AutoMapperHelper.MapToSameType(_billLineDal.Add(billLine))); }
private void btnSave_Click(object sender, EventArgs e) { //put the line level info into the bill lines foreach (DataGridViewRow row in grdBillLines.Rows) { double amount; //new rows if (row.Cells["BillLineId"].Value == null || row.Cells["BillLineId"].Value.ToString() == "" || row.Cells["BillLineId"].Value.ToString() == "0") { BillLine line = new BillLine(); if (!Double.TryParse(row.Cells["AmountShown"].Value.ToString(), out amount)) amount = 0; line.Amount = amount; line.OrderItemId = Convert.ToInt32(row.Cells["ItemId"].Value); bill.BillLines.Add(line); } else { //existing bill lines int billLineId = Convert.ToInt32(row.Cells["BillLineId"].Value); BillLine line = bill.BillLines.Where(p => p.Id == billLineId).First(); if (!Double.TryParse(row.Cells["AmountShown"].Value.ToString(), out amount)) amount = 0; line.Amount = amount; } } if(bill.Id == 0) context.Bills.AddObject(bill); context.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); MessageBox.Show("Saved Successfully"); InitializeData(); }