Пример #1
0
    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);
        }
    }
Пример #2
0
    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));
        }
    }
Пример #3
0
    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));
        }
    }
Пример #4
0
    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));
        }
    }