public dynamic Dynamic_FE_GetDetail(int idVoucher) { try { DataClassesDataContext db = new DataClassesDataContext(); dynamic result = db.TBVouchers.Where(x => !x.Deflag && x.IDVoucher == idVoucher).Select(x => new { x.IDCustomer, x.IDVoucher, x.Name, x.Code, x.Description, x.VoucherType, Value = Class_Currency.GetPriceConversionCurrency(x.Value), x.TotalAvailable, x.Used, MinimumAmount = Class_Currency.GetPriceConversionCurrency(x.MinimumAmount), x.StartDate, x.EndDate, x.Active }).FirstOrDefault(); if (result == null) { return(ReturnData.MessageFailed("Data not found", null)); } return(result); } catch (Exception ex) { Class_Log_Error log = new Class_Log_Error(); log.Insert(ex.Message, ex.StackTrace); return(null); } }
public dynamic DYNAMIC_AddToCart_Renew(int idProduct, int idCustomer, int idCustomerProduct) { try { DataClassesDataContext db = new DataClassesDataContext(); Class_Order _Order = new Class_Order(); var dataOrder = db.TBProducts.Where(x => x.IDProduct == idProduct).FirstOrDefault(); //HttpCookie _cookie = HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieCart"].ToString()]; string anonID = HttpContext.Current.Request.AnonymousID; TBOrder_temp _cookie = _Order.GetEncodedDataOrder(anonID); string _token = ""; Dictionary <string, dynamic> _product = new Dictionary <string, dynamic>(); List <Dictionary <string, dynamic> > _listProduct = new List <Dictionary <string, dynamic> >(); Dictionary <string, dynamic> _tokenData = new Dictionary <string, dynamic>(); TBProduct_Combination productCombination = db.TBProduct_Combinations.Where(x => !x.Deflag && x.IDProduct_Combination == dataOrder.TBProduct_Combinations.FirstOrDefault().IDProduct_Combination).FirstOrDefault(); if (productCombination == null) { return(ReturnData.MessageFailed("Data not found", null)); } _product.Add("IDProduct", dataOrder.IDProduct); _product.Add("IDCombination", dataOrder.TBProduct_Combinations.FirstOrDefault().IDProduct_Combination); _product.Add("Price", dataOrder.Price * 1); _product.Add("CombinationName", dataOrder.TBProduct_Combinations.FirstOrDefault().Name); _product.Add("Quantity", 1); _product.Add("ProductName", dataOrder.Name); _product.Add("PricePerUnit", dataOrder.Price); _product.Add("Weight", productCombination.Weight); _product.Add("WeightPerUnit", productCombination.Weight); _listProduct.Add(_product); _tokenData.Add("Product", _listProduct); _tokenData.Add("TotalPrice", dataOrder.Price); _tokenData.Add("TotalQuantity", 1); _tokenData.Add("TotalWeight", productCombination.Weight); _tokenData.Add("Subtotal", dataOrder.Price); _tokenData.Add("IDCurrency", Class_Currency.GetActiveCurrencyID()); _tokenData.Add("OrderType", "renew"); _tokenData.Add("IDCustomerProduct", idCustomerProduct); _token = OurClass.EncryptToken(_tokenData); //HttpContext.Current.Response.Cookies.Add(new HttpCookie(System.Configuration.ConfigurationManager.AppSettings["cookieCart"].ToString(), _token)); _Order.SaveEncodeDataOrder(HttpContext.Current.Request.AnonymousID, _token); //HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieCart"].ToString()].Expires = DateTime.Now.AddMinutes(120); return(ReturnData.MessageSuccess("Product add to cart successfully", _tokenData)); //cek cookies nya ada ngga, kalo ada ganti token //kalo ga ada tambahin dulu _witcomcrt_ //cek kalo token nya kosong // kalo ngga kosong, decrypt dulu, ambil object nya. //trus tambahin sama cart yang baru } catch (Exception ex) { Class_Log_Error log = new Class_Log_Error(); log.Insert(ex.Message, ex.StackTrace); return(ReturnData.MessageFailed(ex.Message, null)); } }
public ReturnData AJAX_SaveShippingToCart(int idShipping) { try { //var cartCookies = HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieCart"].ToString()]; Class_Order order = new Class_Order(); var cartCookies = order.GetEncodedDataOrder(HttpContext.Current.Request.AnonymousID); if (cartCookies == null) { return(ReturnData.MessageFailed("Invalid token", null)); } DataClassesDataContext db = new DataClassesDataContext(); Class_Shipping shipping = new Class_Shipping(); var token = cartCookies.EncodedData; dynamic CartData = OurClass.DecryptToken(token); dynamic address = CartData["DeliveryAddress"]; int idDistrict = address["IDDistrict"]; dynamic shippingData = shipping.Dynamic_GetShipping_ByIDShipping(idShipping); dynamic resultShipping = new Dictionary <string, dynamic>(); decimal totalPrice = 0; decimal price = 0; totalPrice = Class_Currency.GetPriceConversionCurrency(shippingData.Price * Math.Ceiling((decimal)CartData["TotalWeight"])); price = Class_Currency.GetPriceConversionCurrency(shippingData.Price); if (CartData["TotalWeight"] < 1) { totalPrice = Class_Currency.GetPriceConversionCurrency(shippingData.Price); } resultShipping["IDCarrier"] = shippingData.IDCarrier; resultShipping["IDShipping"] = shippingData.IDShipping; resultShipping["IDDistrict"] = shippingData.IDDistrict; resultShipping["Image"] = shippingData.Image; resultShipping["Name"] = shippingData.Name; resultShipping["Price"] = price; resultShipping["Information"] = shippingData.Information; resultShipping["TotalPrice"] = totalPrice; CartData["Shipping"] = resultShipping; token = OurClass.EncryptToken(CartData); //HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieCart"].ToString()].Value = token; order.SaveEncodeDataOrder(HttpContext.Current.Request.AnonymousID, token); return(ReturnData.MessageSuccess("OK", CartData)); } catch (Exception ex) { Class_Log_Error log = new Class_Log_Error(); log.Insert(ex.Message, ex.StackTrace); return(ReturnData.MessageFailed(ex.Message, null)); } }
public ReturnData AJAX_SubmitVoucher(string code, string token, int amount) { try { DataClassesDataContext db = new DataClassesDataContext(); Class_Customer _cust = new Class_Customer(); TBVoucher _voucher = db.TBVouchers.Where(x => x.Active && !x.Deflag && x.Code == code).FirstOrDefault(); if (_voucher == null) { return(ReturnData.MessageFailed("This voucher is invalid", null)); } if (_voucher.IDCustomer != null) { if (_voucher.IDCustomer != null && (token == null || token == "")) { return(ReturnData.MessageFailed("Please login to use this voucher", null)); } else if (token != "") { var _temp = _cust.DecryptToken(token) as IDictionary <string, object>; var Customer = _cust.DYNAMIC_GetData_ByEmailAndPassword(_temp["email"].ToString(), _temp["password"].ToString()); if (_voucher.IDCustomer != null && _voucher.IDCustomer.Value != Customer.IDCustomer) { return(ReturnData.MessageFailed("You cannot use this voucher", null)); } } } if (_voucher.TotalAvailable != 0 && _voucher.TotalAvailable == _voucher.Used) { return(ReturnData.MessageFailed("This voucher only valid for first " + _voucher.TotalAvailable.ToString() + " use", null)); } if (amount < Class_Currency.GetPriceConversionCurrency(_voucher.MinimumAmount)) { return(ReturnData.MessageFailed("You have not reached the minimum amount required to use this voucher", null)); } if (_voucher.EndDate < DateTime.Now) { return(ReturnData.MessageFailed("This voucher has expired", null)); } if (_voucher.StartDate > DateTime.Now) { return(ReturnData.MessageFailed("This voucher is not yet valid", null)); } _voucher.DateLastUpdate = DateTime.Now; db.SubmitChanges(); dynamic result = Dynamic_GetDetail(_voucher.IDVoucher); string voucherToken = OurClass.EncryptToken((result)); var cookie = HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()]; if (cookie == null) { HttpContext.Current.Response.Cookies.Add(new HttpCookie(System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString(), voucherToken)); } else { HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()].Value = voucherToken; } HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()].Expires = DateTime.Now.AddMinutes(120); return(ReturnData.MessageSuccess("OK", result)); } catch (Exception ex) { Class_Log_Error log = new Class_Log_Error(); log.Insert(ex.Message, ex.StackTrace); return(ReturnData.MessageFailed(ex.Message, null)); } }