Exemple #1
0
        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));
            }
        }