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)); }
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); }
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)); }