private string GenerateOrderLinesString(PayExPayment payExPayment) { var onlineInvoice = new OnlineInvoice(); onlineInvoice.OrderLines.AddRange(_financialInvoicingOrderLineFormatter.CreateOrderLines(payExPayment)); return(PayExXmlSerializer.Serialize(onlineInvoice)); }
public JsonResult Create(string order, string PaymentType, int Outlet, string PayerNumber, string TransNumber, string PaymentMethod, int City, string Address, string ContactNumber, string FullName) { bool result = false; int transID = db.OnlineInvoices.Where(t => t.TransNumber.Trim() == TransNumber.Trim()).Count(); if (Request.IsAuthenticated && transID == 0) { var lastInv = db.OnlineInvoices.OrderByDescending(p => p.OnlineInvoiceID).FirstOrDefault(); string year = DateTime.Now.Year.ToString(); ShippingAddress sa = new ShippingAddress(); sa.FullName = FullName; sa.Address = Address; sa.CityID = City; sa.ContactNumber = ContactNumber; db.ShippingAddresses.Add(sa); db.SaveChanges(); int lastShipID = sa.ShippingAddressID; OnlineInvoice pmnt = new OnlineInvoice(); pmnt.PaymentMethod = PaymentMethod; pmnt.TransNumber = TransNumber; pmnt.UserName = HttpContext.User.Identity.Name; pmnt.PayerNumber = PayerNumber; pmnt.PaymentType = PaymentType; pmnt.OutletID = Outlet; pmnt.ShippingAddressID = lastShipID; pmnt.IsPaid = false; pmnt.IsDeleted = false; pmnt.OrderDate = DateTime.Now; if (lastInv == null) { pmnt.InvoiceNumber = "ONINV" + year + "00001"; } else { string invoiceNo = "ONINV" + year + (Convert.ToInt32(lastInv.InvoiceNumber.Substring(9, lastInv.InvoiceNumber.Length - 9)) + 1).ToString("D5"); if (lastInv.InvoiceNumber != invoiceNo) { pmnt.InvoiceNumber = invoiceNo; } else { ShippingAddress s = db.ShippingAddresses.Find(lastShipID); db.ShippingAddresses.Remove(s); db.SaveChanges(); return(Json(result = false, JsonRequestBehavior.AllowGet)); } } db.OnlineInvoices.Add(pmnt); db.SaveChanges(); int lastPmntID = pmnt.OnlineInvoiceID; OnlineSale[] a = JsonConvert.DeserializeObject <OnlineSale[]>(order); foreach (var item in a) { OnlineSale os = new OnlineSale(); os.ItemID = item.ItemID; os.Quantity = item.Quantity; os.OnlineInvoiceID = lastPmntID; os.ItemSize = item.ItemSize; os.ItemPrice = item.ItemPrice; db.OnlineSales.Add(os); db.SaveChanges(); } result = true; return(Json(result, JsonRequestBehavior.AllowGet)); } else { result = false; return(Json(result, JsonRequestBehavior.AllowGet)); } }