public void SaveXmlOpenFood(BillOpenFoodModel model, string Path, string KotFilePath) { int oulte = getOutletId(); XDocument xd = XDocument.Load(Path); var items = from item in xd.Descendants("Items") where item.Element("UserId").Value == oulte.ToString() && item.Element("TableNo").Value == model.TableNo.ToString() && item.Element("ItemName").Value == model.OpenFoodName.ToString() select item; xml.UpdateKotXmlData(Path, KotFilePath, model.TableNo.ToString(), model.OpenFoodName, model.OpenFoodQuantity.ToString(), "0"); if (items.Count() > 0) { foreach (XElement itemElement in items) { var totalamount = (Convert.ToDecimal(model.OpenFoodPrice)) * Convert.ToDecimal(model.OpenFoodQuantity) + Convert.ToDecimal(itemElement.Element("Amount").Value); var vatamtchrg = (totalamount * Convert.ToDecimal(Convert.ToDecimal(model.OpenFoodVat)) / 100); itemElement.SetElementValue("UserId", oulte.ToString()); itemElement.SetElementValue("TableNo", model.TableNo.ToString()); itemElement.SetElementValue("ItemId", "0"); itemElement.SetElementValue("ItemName", model.OpenFoodName); itemElement.SetElementValue("HalfQty", "0"); itemElement.SetElementValue("Fullprice", model.OpenFoodPrice); itemElement.SetElementValue("HalfPrice", "0"); itemElement.SetElementValue("VatAmt", model.OpenFoodVat); itemElement.SetElementValue("FullQty", Convert.ToInt32(model.OpenFoodQuantity) + Convert.ToInt32(itemElement.Element("FullQty").Value)); itemElement.SetElementValue("Amount", totalamount); itemElement.SetElementValue("VatAmountCharges", vatamtchrg); itemElement.SetElementValue("OfferQty", "0"); } xd.Save(Path); } else { var totalamount = (Convert.ToDecimal(model.OpenFoodPrice)) * Convert.ToDecimal(model.OpenFoodQuantity); var vatamtchrg = (totalamount * Convert.ToDecimal(Convert.ToDecimal(model.OpenFoodVat)) / 100); var newElement = new XElement("Items", new XElement("UserId", oulte.ToString()), new XElement("TableNo", model.TableNo), new XElement("ItemId", "0"), new XElement("ItemName", model.OpenFoodName), new XElement("FullQty", model.OpenFoodQuantity), new XElement("HalfQty", "0"), new XElement("Fullprice", model.OpenFoodPrice), new XElement("HalfPrice", "0"), new XElement("Amount", totalamount), new XElement("VatAmt", model.OpenFoodVat), new XElement("VatAmountCharges", vatamtchrg), new XElement("OfferQty", "0")); xd.Element("Item").Add(newElement); xd.Save(Path); } }
public PartialViewResult DispatchOpenFood(BillOpenFoodModel model) { int oulte = xml.getOutletId(); OpenFood food = new OpenFood(); food.Date = DateTime.Now.Date; food.ItemName = model.OpenFoodName; food.OutletId = oulte; food.Price = model.OpenFoodPrice; food.Quantity = model.OpenFoodQuantity; food.Amount = model.OpenFoodPrice * model.OpenFoodQuantity; food.Vat = model.OpenFoodVat; db.OpenFoods.Add(food); db.SaveChanges(); var Path = Server.MapPath("/xmltables/table" + model.TableNo + ".xml"); var KotFilePath = Server.MapPath("~/xmlkot/Kot.xml"); GetBillingModel m = new GetBillingModel(); nibsrepo.SaveXmlOpenFood(model, Path, KotFilePath); m = xml.GetBillingItem(model.TableNo.ToString(), Path, KotFilePath); return(PartialView("_CreatePartial", m)); }