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);
            }
        }
示例#2
0
        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));
        }