/// <summary> /// 0=Success, 1=InvalidExpirationDate, 2=InvalidCvv, 3=InvalidProduct, 4=InvalidPaymentAmount /// </summary> public int DoPurchase(string purchaseRequest) { JavaScriptSerializer serializer = new JavaScriptSerializer(); PurchaseRequest request = (PurchaseRequest)serializer.Deserialize(purchaseRequest, typeof(PurchaseRequest)); using (MundiShopEntities db = new MundiShopEntities()) { if (request.CreditCardExpirationYear < DateTime.Now.Year || (request.CreditCardExpirationYear == DateTime.Now.Year && request.CreditCardExpirationMonth < DateTime.Now.Month)) { return 1; } if (String.IsNullOrWhiteSpace(request.CreditCardCvv) || request.CreditCardCvv.Length != 3) return 2; Product product = db.Product.FirstOrDefault(p => p.Id == request.ProductId); if (product == null) return 3; if (request.AmountPaid != product.Price) return 4; Purchase purchase = new Purchase() { CreditCardCvv = request.CreditCardCvv, CreditCardExpirationMonth = request.CreditCardExpirationMonth, CreditCardExpirationYear = request.CreditCardExpirationYear, CreditCardFlag = request.CreditCardFlag, CreditCardNumber = request.CreditCardNumber, CustomerName = request.CustomerName, dateCreate= DateTime.Now }; purchase.Product.Add(product); db.Purchase.AddObject(purchase); db.SaveChanges(); return 0; } }
/// <summary> /// Create a new Purchase object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="creditCardFlag">Initial value of the CreditCardFlag property.</param> /// <param name="creditCardExpirationYear">Initial value of the CreditCardExpirationYear property.</param> /// <param name="creditCardExpirationMonth">Initial value of the CreditCardExpirationMonth property.</param> /// <param name="dateCreate">Initial value of the dateCreate property.</param> public static Purchase CreatePurchase(global::System.Int32 id, global::System.Int32 creditCardFlag, global::System.Int32 creditCardExpirationYear, global::System.Int32 creditCardExpirationMonth, global::System.DateTime dateCreate) { Purchase purchase = new Purchase(); purchase.Id = id; purchase.CreditCardFlag = creditCardFlag; purchase.CreditCardExpirationYear = creditCardExpirationYear; purchase.CreditCardExpirationMonth = creditCardExpirationMonth; purchase.dateCreate = dateCreate; return purchase; }
/// <summary> /// Deprecated Method for adding a new object to the Purchase EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToPurchase(Purchase purchase) { base.AddObject("Purchase", purchase); }