Пример #1
0
        public ActionResult Finalize(string cellnumber, string postal, string address, string city, string fullname, string activationCode)
        {
            try
            {
                cellnumber = cellnumber.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3")
                             .Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8")
                             .Replace("۹", "9");

                activationCode = activationCode.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3")
                                 .Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8")
                                 .Replace("۹", "9");

                User user = db.Users.FirstOrDefault(current => current.CellNum == cellnumber);

                if (user != null)
                {
                    if (user.Password == activationCode)
                    {
                        user.IsActive         = true;
                        user.LastModifiedDate = DateTime.Now;
                        db.SaveChanges();

                        List <ProductInCart> productInCarts = GetProductInBasketByCoockie();

                        Order order = ConvertCoockieToOrder(productInCarts);

                        if (order != null)
                        {
                            order.UserId            = user.Id;
                            order.DeliverFullName   = fullname;
                            order.DeliverCellNumber = cellnumber;
                            order.Address           = address;
                            order.PostalCode        = postal;
                            order.CityId            = new Guid(city);



                            OrderStatus orderStatus = db.OrderStatuses.FirstOrDefault(current => current.Code == 2);
                            if (orderStatus != null)
                            {
                                order.OrderStatusId = orderStatus.Id;
                            }

                            db.SaveChanges();
                            RemoveCookie();

                            string res = "";

                            if (order.TotalAmount == 0)
                            {
                                res = "freecallback?orderid=" + order.Id;
                            }

                            else
                            {
                                res = zp.ZarinPalRedirect(order, order.TotalAmount);
                            }

                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                        return(Json("false", JsonRequestBehavior.AllowGet));
                    }
                    return(Json("invalid", JsonRequestBehavior.AllowGet));
                }

                return(Json("false", JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json("false", JsonRequestBehavior.AllowGet));
            }
        }
Пример #2
0
        public ActionResult Finalize(string notes, string email, string cellNumber, string activationCode, string city, string address, string postal)
        {
            try
            {
                cellNumber = cellNumber.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3").Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8").Replace("۹", "9");

                activationCode = activationCode.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3").Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8").Replace("۹", "9");

                User user = db.Users.Where(current => current.CellNum == cellNumber).FirstOrDefault();

                if (user != null)
                {
                    ActivationCode activation = IsValidActivationCode(user.Id, activationCode);

                    if (activation != null)
                    {
                        ActivateUser(user, activationCode);
                        UpdateActivationCode(activation, null, null, null, null);
                        db.SaveChanges();

                        List <ProductInCart> productInCarts = GetProductInBasketByCoockie();

                        Order order = ConvertCoockieToOrder(productInCarts, user.Id, notes, email, city, address, postal);

                        RemoveCookie();

                        string res = "";

                        if (order.TotalAmount == 0)
                        {
                            res = "freecallback?orderid=" + order.Id;
                        }

                        else
                        {
                            res = zp.ZarinPalRedirect(order, order.TotalAmount);
                        }

                        return(Json(res, JsonRequestBehavior.AllowGet));
                    }

                    if (user.IsActive && user.Password == activationCode)
                    {
                        List <ProductInCart> productInCarts = GetProductInBasketByCoockie();

                        Order order = ConvertCoockieToOrder(productInCarts, user.Id, notes, email, city, address, postal);

                        RemoveCookie();

                        string res = "";

                        if (order.TotalAmount == 0)
                        {
                            res = "freecallback?orderid=" + order.Id;
                        }

                        else
                        {
                            res = zp.ZarinPalRedirect(order, order.TotalAmount);
                        }

                        return(Json(res, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json("invalid", JsonRequestBehavior.AllowGet));
            }

            catch (Exception e)
            {
                return(Json("false", JsonRequestBehavior.AllowGet));
            }
        }