Example #1
0
 public ActionResult AddOrEdit(CategoryViewModel model)
 {
     if (model.ID == 0)
     {
         var id = _categoryService.GetAll().Select(t => t.ID).DefaultIfEmpty().Max() + 1;
         model.ID = id;
         _categoryService.Create(model.ToCategory());
     }
     else
     {
         var cat = _categoryService.GetAll(t => t.ID == model.ID).FirstOrDefault();
         if (cat == null)
         {
             return(Json(new { success = false, message = "Category not exists!" })); //todo
         }
         cat = model.ToCategory(cat);
         // cat.Name = model.Name;
         // cat.Description = model.Description;
         _categoryService.Update(cat);
     }
     return(Json(
                new
     {
         success = true,
         message = "Successfully Submited!",
         html = ViewToString.RenderRazorViewToString(this, "ViewAll", GetAllCategories())
     }, JsonRequestBehavior.AllowGet
                ));
 }
        public JsonResult Register(User user, Customer customer)
        {
            HashingData hashingData = new HashingData();

            try
            {
                user.Role          = UserRole.Customer;
                user.Status        = Status.Inactive;
                customer.CreatedAt = DateTime.Now;
                customer.Status    = Status.Inactive;
                user.Customer      = customer;
                var key = hashingData.EncryptString(user.Username, AppSettingConstant.PasswordHash);
                user.ActiveMail = key;
                user.CreatedAt  = DateTime.Now;
                var result = _userService.Register(user);
                if (result)
                {
                    UserEmailConfirm model = new UserEmailConfirm(user.Email, hashingData.Encode(key), user.Username);
                    var body = ViewToString.RenderRazorViewToString(this, "ConfirmAccount", model);
                    Task.Factory.StartNew((() =>
                    {
                        SendEmail.Send(user.Email, body, "Confirm your email!");
                    }));
                    return(Json(new { status = true, url = "/register/ConfirmEmail" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
        }
        private string ClearStatisticsAsString()
        {
            var user         = db.Users.Where(m => m.Email == User.Identity.Name).FirstOrDefault();
            var publications = db.Publications.Include(m => m.User);

            ViewBag.Users      = db.Users;
            ViewBag.UsersCount = db.Users.Count();
            return(ViewToString.RenderViewToString(this.ControllerContext, "~/Views/Admin/ClearStatistics.cshtml", publications));
        }
Example #4
0
        public ActionResult Delete(int id)
        {
            var category = _categoryService.GetAll(t => t.ID == id).FirstOrDefault();

            if (category != null)
            {
                _categoryService.Delete(category);
            }

            return(Json(new
            {
                success = true,
                message = "Successfully Deleted!",
                html = ViewToString.RenderRazorViewToString(this, "ViewAll", GetAllCategories())
            }, JsonRequestBehavior.AllowGet));
        }
 private string ClearStatisticsAsString()
 {
     if (User.Identity.IsAuthenticated)
     {
         var user = db.Users.Where(m => m.Email == User.Identity.Name).FirstOrDefault();
         if (user != null)
         {
             var publications = db.Publications.Include(m => m.User).Where(m => m.User.Email == User.Identity.Name);
             var chats        = db.Chats.Include(m => m.User1).Include(m => m.User2).Where(m => m.User1Id == user.Id || m.User2Id == user.Id);
             ViewBag.Chats      = chats.Include(m => m.Messages);
             ViewBag.ChatsCount = chats.Count();
             ViewBag.UserId     = user.Id;
             return(ViewToString.RenderViewToString(this.ControllerContext, "~/Views/Account/ClearStatistics.cshtml", publications));
         }
     }
     return(null);
 }
        public ActionResult LoadAll()
        {
            var carts     = ShoppingCart.Cart.Items;
            var cartModel = (ICollection <OrderDetail>)carts;

            foreach (var item in cartModel)
            {
                var test = productDetailService.FindById(item.ProductDetaiID);
                item.ProductDetail = productDetailService.FindById(item.ProductDetaiID);
            }
            ViewBag.Discount = ShoppingCart.Cart.discount;
            var cartDTO = AutoMapper.Mapper.Map <IEnumerable <OrderDetailDTO> >(cartModel);
            // return Mutil partialview
            var quickCart = ViewToString.RenderRazorViewToString(this.ControllerContext, "_QuickCartPartial", cartDTO);
            var cart      = ViewToString.RenderRazorViewToString(this.ControllerContext, "Cart/_Cart", cartDTO);
            var json      = Json(new { quickCart, cart }, JsonRequestBehavior.AllowGet);

            return(json);
        }
Example #7
0
        public JsonResult Payment(long id)
        {
            var         message     = "";
            UserSession userSession = SessionHelper.GetSession(AppSettingConstant.LoginSessionCustomer) as UserSession;

            if (userSession != null)
            {
                var user = _userRepository.Find(u => u.Status.Equals(Status.Active) && u.Username.Equals(userSession.Username));
                if (user != null)
                {
                    var orderSession = SessionHelper.GetSession(AppSettingConstant.CheckOutSession) as Order;
                    if (orderSession != null)
                    {
                        var card = user.Customer.CreditCards.FirstOrDefault(c => c.CreditCardId == id & c.Status == Status.Active);
                        if (card != null)
                        {
                            var bankCredit = _bankService.CheckCard(AESEncrytDecry.DecryptStringAES(card.CreditNumber), card.Expire, card.CVC);
                            if (bankCredit != null)
                            {
                                var    cart      = SessionHelper.GetSession(AppSettingConstant.CartSession) as List <CartItem>;
                                var    amount    = cart.Sum(c => c.Quantity * (c.Product.ProductPrice + c.Material.Price));
                                string rootPath  = "~/Images/Upload/";
                                var    extenPath = string.Format("{0}/{1}_{2}", user.Username, DateTime.Now.Second, DateTime.Now.Millisecond);
                                string path      = Server.MapPath(rootPath + extenPath); //Path

                                //Check if directory exist
                                if (!System.IO.Directory.Exists(path))
                                {
                                    System.IO.Directory.CreateDirectory(path); //Create directory if it doesn't exist
                                }
                                foreach (var item in cart as List <CartItem> )
                                {
                                    string imgPath    = Path.Combine(path, item.ImageTitle);
                                    byte[] imageBytes = Convert.FromBase64String(item.Image);
                                    System.IO.File.WriteAllBytes(imgPath, imageBytes);
                                }
                                if (bankCredit.Balance >= amount)
                                {
                                    bankCredit.Balance -= amount.Value;
                                    List <OrderDetail> orderDetails = new List <OrderDetail>();
                                    foreach (var item in cart)
                                    {
                                        OrderDetail orderDetail = new OrderDetail()
                                        {
                                            MaterialId = item.Material.Id,
                                            ProductId  = item.Product.ProductId,
                                            Quantity   = item.Quantity,
                                            Option     = item.Option,
                                            Image      = item.ImageTitle
                                        };
                                        orderDetails.Add(orderDetail);
                                    }
                                    orderSession.CreditCardId = card.CreditCardId;
                                    orderSession.CreatedAt    = DateTime.Now;
                                    orderSession.Status       = OrderStatus.Pending;
                                    orderSession.CustomerId   = user.CustomerId;
                                    orderSession.FolderImage  = extenPath;
                                    orderSession.IsCancel     = true;
                                    var transac = _orderServiceTrans.TransactionPayment(orderSession, orderDetails, bankCredit);
                                    if (transac != null)
                                    {
                                        var       addressDetails = _addressRepository.Find(a => a.AddressId == orderSession.AddressId);
                                        MailOrder model          = new MailOrder(cart, transac.OrderId, user.Email, addressDetails.AddressDetails, user.Customer.CustomerName, card.CreditNumber, transac.FolderImage, amount.Value, transac.PhoneNumber);
                                        var       body           = ViewToString.RenderRazorViewToString(this, "MailOrder", model);
                                        var       bodyAdmin      = ViewToString.RenderRazorViewToString(this, "MailBackAdmin", model);
                                        string    mailAdmin      = ConfigurationManager.AppSettings["mailadmin"];
                                        Task.Factory.StartNew((() =>
                                        {
                                            SendEmail.Send(mailAdmin, bodyAdmin, "New order notification!");
                                            SendEmail.Send(user.Email, body, "Your order information!");
                                        }));
                                        SessionHelper.Delete(AppSettingConstant.CartSession);
                                        TempData["Success"] = "Order Success";
                                        return(Json(new { status = true, message, transac.OrderId }, JsonRequestBehavior.AllowGet));
                                    }
                                    else
                                    {
                                        if (System.IO.File.Exists(path))
                                        {
                                            System.IO.File.Delete(path);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            return(Json(new { status = false, message }, JsonRequestBehavior.AllowGet));
        }