public ActionResult ReportSpam(ReportSpamViewModel model) { if (ModelState.IsValid) { if (Session["Username"] != null) { string username = Session["Username"] as string; Spam spam = new Spam(model, username); SuccessAndMsg addNewSpamResult = spamDAO.AddNewSpam(spam); if (!addNewSpamResult.IsSuccess) { // thêm báo cáo vi phạm thất bại, chuyển đến trang lỗi TempData["Error"] = new ErrorViewModel(addNewSpamResult.Message); return(RedirectToAction("SharedError", "Error")); } else { ViewBag.AddNewSpamMsg = addNewSpamResult.Message; } } } else { ModelState.AddModelError("", ActionMessage.MissingOrInvalidInfo); } return(View(model)); }
/// <summary> /// Thêm sản phẩm và các hình ảnh vào CSDL /// </summary> /// <param name="username">Tên người dùng</param> /// <param name="model">Thông tin sản phẩm</param> /// <param name="files"></param> /// <param name="serverPath"></param> public SuccessAndMsg AddProductToDb(string username, Product model, List <HttpPostedFileBase> files, string serverPath) { if (files != null && files[0] != null) { SuccessAndMsg addProductResult = AddNewProduct(username, model); if (!addProductResult.IsSuccess) { return(new SuccessAndMsg(false, AddNewProductResult.AddProductFailed)); } SuccessAndMsg copyImagesResult = CopyImages(model, files, serverPath); if (!copyImagesResult.IsSuccess) { return(new SuccessAndMsg(false, AddNewProductResult.AddProductFailed)); } try { // lưu xuống CSDL db.SaveChanges(); return(new SuccessAndMsg(true, AddNewProductResult.AddProductSuccessful)); } catch { return(new SuccessAndMsg(false, AddNewProductResult.AddProductFailed)); } } return(new SuccessAndMsg(false, AddNewProductResult.MissingPictures)); }
public ActionResult Register(RegisterViewModel user) { if (ModelState.IsValid) { SuccessAndMsg registerResult = dao.Register(user); if (registerResult.IsSuccess) { // hiển thị thông báo đăng ký thành công ViewBag.RegisterMsg = registerResult.Message; // xóa dữ liệu cũ đi ModelState.Clear(); } else // lỗi đăng ký: tài khoản đã tồn tại { ModelState.AddModelError("", registerResult.Message); return(View(user)); } } else { // hiển thị thông báo lỗi cho người dùng ModelState.AddModelError("", ActionMessage.MissingOrInvalidInfo); } return(View()); }
// // POST: public ActionResult AddProductToWishList(int productID) { // nếu chưa có Danh sách sản phẩm muốn mua thì khởi tạo if (Session["WishList"] == null) { Session["WishList"] = new Dictionary <int, ProductInWishListViewModel>(); } // đã có Danh sách sản phẩm muốn mua Dictionary <int, ProductInWishListViewModel> dictProducts = Session["WishList"] as Dictionary <int, ProductInWishListViewModel>; SuccessAndMsg addProdToWishListResult = null; if (Session["Username"] != null) { string username = Session["Username"] as string; addProdToWishListResult = dao.AddProdToWishListInDb(username, productID); dao.AddProdToWishList(dictProducts, productID); } else { addProdToWishListResult = dao.AddProdToWishList(dictProducts, productID); } if (addProdToWishListResult.IsSuccess) { // thay đổi Danh sách sản phẩm muốn mua Session["WishList"] = dictProducts; return(RedirectToAction("Index")); } // thêm sản phẩm vào Danh sách sản phẩm muốn mua thất bại TempData["Error"] = new ErrorViewModel(addProdToWishListResult.Message); return(RedirectToAction("SharedError", "Error")); }
public ActionResult ChangePersonalDetail(AccountInfoViewModel model) { if (ModelState.IsValid) { SuccessAndMsg changeUserInfoResult = accountDAO.ChangePersonalDetail(model); if (changeUserInfoResult.IsSuccess) { // đổi thông tin tài khoản thành công ViewBag.UpdateInfoMsg = changeUserInfoResult.Message; } else { // đổi thông tin tài khoản thất bại ModelState.AddModelError("", changeUserInfoResult.Message); } } else { // nhập thiếu thông tin hoặc thông tin không hợp lệ ModelState.AddModelError("", ActionMessage.MissingOrInvalidInfo); } return(View(model)); }
public ActionResult Index(List <ProductInWishListViewModel> model) { if (model != null) { SuccessAndMsg updateWishList = null; if (Session["Username"] != null) { string username = Session["Username"] as string; updateWishList = dao.UpdateWishListInDb(model, username); } else { updateWishList = dao.UpdateWishList(model); } if (updateWishList.IsSuccess) { Dictionary <int, ProductInWishListViewModel> wishList = updateWishList.Value as Dictionary <int, ProductInWishListViewModel>; Session["WishList"] = wishList; ViewBag.UpdateWishListMsg = WishListControllerMsg.UpdateWishListSuccessful; model = wishList.Values.ToList(); } else { // cập nhật Danh sách sản phẩm muốn mua thất bại TempData["Error"] = new ErrorViewModel(updateWishList.Message); return(RedirectToAction("SharedError", "Error")); } } else { model = new List <ProductInWishListViewModel>(); } return(View(model)); }
public ActionResult ChangePassword(ChangePasswordViewModel model) { if (ModelState.IsValid) { SuccessAndMsg changePassResult = accountDAO.ChangePassword(model); if (changePassResult.IsSuccess) { // đổi mật khẩu thành công ViewBag.ChangePasswordMsg = changePassResult.Message; ModelState.Clear(); } else { // đổi mật khẩu thất bại ModelState.AddModelError("", changePassResult.Message); } } else { // đổi mật khẩu thất bại ModelState.AddModelError("", ActionMessage.MissingOrInvalidInfo); } return(View()); }
public SuccessAndMsg GetProductReport(int productID) { var product = db.Products.FirstOrDefault(p => p.ProductID == productID); if (product != null) { SuccessAndMsg getUserResult = userDAO.GetUser(product.Username); SuccessAndMsg getImageUrlResult = imageDAO.GetFirstUrlString(productID); // lấy thông tin người dùng thất bại if (!getUserResult.IsSuccess) { return(new SuccessAndMsg(false, getUserResult.Message)); } // lấy đường dẫn hình ảnh thất bại if (!getImageUrlResult.IsSuccess) { return(new SuccessAndMsg(false, getImageUrlResult.Message)); } User user = getUserResult.Value as User; string url = getImageUrlResult.Value as string; ProductReportViewModel result = new ProductReportViewModel(product, user, url); return(new SuccessAndMsg(true, ProductDAOMsg.GetProductReportSuccessful, result)); } return(new SuccessAndMsg(false, ProductDAOMsg.GetProductReportFailed)); }
public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { LoginResultType loginResult = dao.Login(model); if (loginResult.IsSuccess) { Session["Username"] = loginResult.CurrentUser.Username; Session["Role"] = loginResult.CurrentUser.Role; // lấy ra Danh sách sản phẩm muốn mua trong session Dictionary <int, ProductInWishListViewModel> wishList = Session["WishList"] != null ? Session["WishList"] as Dictionary <int, ProductInWishListViewModel> : new Dictionary <int, ProductInWishListViewModel>(); SuccessAndMsg getWishListInDb = wishListDAO.GetWishListInDb(loginResult.CurrentUser.Username); if (!getWishListInDb.IsSuccess) { // lấy ra Danh sách sản phẩm muốn mua thất bại TempData["Error"] = new ErrorViewModel(getWishListInDb.Message); return(RedirectToAction("SharedError", "Error")); } // gộp 2 Danh sách sản phẩm muốn mua SuccessAndMsg combineWishList = wishListDAO.CombineWishList(getWishListInDb.Value as Dictionary <int, ProductInWishListViewModel>, wishList); if (!combineWishList.IsSuccess) { // gộp 2 Danh sách sản phẩm muốn mua thất bại TempData["Error"] = new ErrorViewModel(combineWishList.Message); return(RedirectToAction("SharedError", "Error")); } // lưu Danh sách sản phẩm muốn mua mới vào Session Session["WishList"] = combineWishList.Value as Dictionary <int, ProductInWishListViewModel>; // chuyển đến trang được yêu cầu trước đó if (returnUrl != null) { return(Redirect(returnUrl)); } // chuyển về trang chủ nếu không có trang yêu cầu trước đó return(RedirectToAction("Index", "Home")); } else { ModelState.Clear(); ModelState.AddModelError("", loginResult.Message); } } else { // hiển thị thông báo lỗi cho người dùng ModelState.AddModelError("", ActionMessage.MissingOrInvalidInfo); } return(View()); }
// // GET: /Admin/ManageAccount public ActionResult ManageAccount(int?page, string viewType, string search, string userAction) { if (Session["Username"] != null) { SuccessAndMsg getListUsersResult = dao.GetListAccInManageAccs(viewType, search); // lần đầu hiển thị if (page == null) { if (getListUsersResult.IsSuccess) { List <AccInManageAccViewModel> model = getListUsersResult.Value as List <AccInManageAccViewModel>; int pageSize = 10; int pageNumber = (page ?? 1); // trả về giá trị của page nếu nó là 1 giá trị khác null, nếu không trả về 1 ViewBag.PagedList = model.ToPagedList(pageNumber, pageSize); ViewBag.TotalPages = model.Count % 10 == 0 ? model.Count / 10 : model.Count / 10 + 1; return(View(model.OrderByDescending(u => u.Username).Skip((pageNumber - 1) * 10).Take(10).ToList())); } // lấy danh sách các tài khoản thất bại TempData["Error"] = new ErrorViewModel(getListUsersResult.Message); return(RedirectToAction("SharedError", "Error")); } else { // thiết lập lại các giá trị viewType, search để tránh gặp lỗi viewType = viewType == null ? "" : viewType; search = search == null ? "" : search; // Trả về danh sách các sản phẩm theo điều kiện lọc List <AccInManageAccViewModel> model = getListUsersResult.Value as List <AccInManageAccViewModel>; int pageSize = 10; int pageNumber = (page ?? 1); // trả về giá trị của page nếu nó là 1 giá trị khác null, nếu không trả về 1 ViewBag.PagedList = model.ToPagedList(pageNumber, pageSize); ViewBag.TotalPages = model.Count % 10 == 0 ? model.Count / 10 : model.Count / 10 + 1; ViewBag.ViewType = viewType; ViewBag.SearchKey = search; ViewBag.UserAction = userAction; return(View(model.OrderByDescending(u => u.Username).Skip((pageNumber - 1) * 10).Take(10).ToList())); } } return(RedirectToAction("SharedError", "Error")); }
public ActionResult ManageAccount(List <AccInManageAccViewModel> model, int?page, string viewType, string search, string userAction) { if (Session["Username"] != null) { string username = Session["Username"] != null ? Session["Username"] as string : string.Empty; // thực hiện hành động của người dùng userAction = userAction == null ? string.Empty : userAction; switch (userAction) { case "Khóa tài khoản": dao.BlockAccounts(model); break; case "Mở khóa tài khoản": dao.UnlockAccounts(model); break; default: // không làm gì cả break; } // xử lý theo từng cách hiển thị: viewType = viewType == null ? "" : viewType; search = search == null ? "" : search; SuccessAndMsg getListUsersResult = dao.GetListAccInManageAccs(viewType, search); if (getListUsersResult.IsSuccess) { // Trả về danh sách các sản phẩm theo điều kiện lọc model = getListUsersResult.Value as List <AccInManageAccViewModel>; ModelState.Clear(); // xóa các dữ liệu cũ int pageSize = 10; int pageNumber = (page ?? 1); // trả về giá trị của page nếu nó là 1 giá trị khác null, nếu không trả về 1 ViewBag.PagedList = model.ToPagedList(pageNumber, pageSize); ViewBag.TotalPages = model.Count % 10 == 0 ? model.Count / 10 : model.Count / 10 + 1; ViewBag.ViewType = viewType; ViewBag.SearchKey = search; ViewBag.UserAction = userAction; return(View(model.OrderByDescending(u => u.Username).Skip((pageNumber - 1) * 10).Take(10).ToList())); } } return(View(model)); }
/// <summary> /// Lấy Danh sách sản phẩm muốn mua trong CSDL /// </summary> /// <param name="username">Tên người dùng</param> /// <returns></returns> public SuccessAndMsg GetWishListInDb(string username) { try { var wishList = db.WishLists.Where(wl => wl.Username == username); if (wishList != null) { Dictionary <int, ProductInWishListViewModel> dictWishList = new Dictionary <int, ProductInWishListViewModel>(); List <WishList> lstProdsInWishList = wishList.ToList(); for (int i = 0; i < lstProdsInWishList.Count; i++) { WishList item = lstProdsInWishList[i]; // lấy thông tin người dùng đăng sản phẩm này SuccessAndMsg getImageUrl = imageDAO.GetFirstUrlString(item.ProductID); SuccessAndMsg getProduct = productDAO.GetProduct(item.ProductID); SuccessAndMsg getUser = userDAO.GetUser(item.Username); // lấy đường dẫn hình ảnh của sản phẩm thất bại if (!getImageUrl.IsSuccess) { return(new SuccessAndMsg(false, getImageUrl.Message)); } // lấy sản phẩm thất bại if (!getProduct.IsSuccess) { return(new SuccessAndMsg(false, getProduct.Message)); } // lấy thông tin người dùng thất bại if (!getUser.IsSuccess) { return(new SuccessAndMsg(false, getUser.Message)); } ProductInWishListViewModel prod = new ProductInWishListViewModel(getProduct.Value as Product, getUser.Value as User, getImageUrl.Value as string); dictWishList.Add(prod.ProductID, prod); } return(new SuccessAndMsg(true, WishListDAOMsg.GetWishListSuccessfull, dictWishList)); } } catch { } return(new SuccessAndMsg(false, WishListDAOMsg.GetWishListFailed)); }
/// <summary> /// Lấy ra sản phẩm bị báo cáo vi phạm /// </summary> /// <param name="productID">Mã sản phẩm</param> /// <returns></returns> public ActionResult ReportProduct(int productID) { if (Session["Username"] != null) { SuccessAndMsg getReportProductResult = productDAO.GetProductReport(productID); if (getReportProductResult.IsSuccess) { ProductReportViewModel model = getReportProductResult.Value as ProductReportViewModel; return(PartialView("_ProductIsReportedPartial", model)); } TempData["Error"] = new ErrorViewModel(getReportProductResult.Message); return(RedirectToAction("SharedError", "Error")); } return(RedirectToAction("SharedError", "Error")); }
/// <summary> /// Lấy chi tiết sản phẩm theo tên người dùng /// </summary> /// <param name="username">Tên người dùng</param> /// <returns></returns> public SuccessAndMsg GetAccListProduct(string username) { List <ProductDetailViewModel> lstProducts = new List <ProductDetailViewModel>(); try { List <string> imageUrls = new List <string>(); var products = from p in db.Products where p.Username == username select new ProductDetailViewModel { ProductID = p.ProductID, ProductName = p.ProductName, Price = p.Price, Username = p.Username, ListImages = imageUrls }; // thiết lập kết quả trả về if (products != null && products.Count() > 0) { lstProducts = products.ToList(); // gán danh sách đường dẫn hình ảnh vào các sản phẩm liên quan foreach (ProductDetailViewModel product in lstProducts) { SuccessAndMsg getListImageUrlsResult = imageDAO.GetListImageUrls(product.ProductID); if (getListImageUrlsResult.IsSuccess) { product.ListImages = getListImageUrlsResult.Value as List <string>; } } return(new SuccessAndMsg(true, GetListProductResult.GetListProductSuccessful, lstProducts)); } } catch (Exception e) { } return(new SuccessAndMsg(false, GetListProductResult.GetListProductFailed)); }
public ActionResult NewPost(Product model, List <HttpPostedFileBase> files) { if (Session["Username"] != null) { string username = Session["Username"] as string; // thêm danh sách các loại sp để hiển thị lại List <SelectListItem> categories = listAndDict.GetListCategories(); categories[0].Selected = true; ViewBag.Categories = categories; ViewBag.DictCategories = listAndDict.GetDictCategories(); if (ModelState.IsValid) { // Thêm sản phẩm mới string serverPath = Server.MapPath("~/Images/Products"); SuccessAndMsg addProductResult = dao.AddProductToDb(username, model, files, serverPath); if (addProductResult.IsSuccess) { // thêm sản phẩm mới thành công ViewBag.AddProductMsg = addProductResult.Message; } else { // thêm sản phẩm mới thất bại ModelState.AddModelError("", addProductResult.Message); } } else { ModelState.AddModelError("", AddNewProductResult.AddProductFailed); } } else { ModelState.AddModelError("", AddNewProductResult.AddProductFailed); } return(View()); }
/// <summary> /// Lấy ra tất cả bài đăng của người dùng /// </summary> /// <param name="username">Tên người dùng</param> /// <returns></returns> public ActionResult AccountPost(int?page, string username, string name) { SuccessAndMsg getListProductResult = productDAO.GetAccListProduct(username); if (getListProductResult.IsSuccess) { // lấy danh sách sản phẩm thành công List <ProductDetailViewModel> lstProducts = getListProductResult.Value as List <ProductDetailViewModel>; int pageNumber = (page ?? 1); // trả về giá trị của page nếu nó là 1 giá trị khác null, nếu không trả về 1 ViewBag.Username = username; ViewBag.ProductQuanlity = lstProducts.Count; ViewBag.Name = name; return(PartialView("_GetAccountPostPartial", lstProducts.OrderByDescending(m => m.ProductID).ToPagedList(pageNumber, pageSize))); } // đặt lỗi trong TempData để sử dụng hiển thị ra màn hình lỗi TempData["Error"] = new ErrorViewModel(InfoActionErrorMsg.AccountPostError); return(RedirectToAction("Error", "Info")); }
/// <summary> /// Thêm 1 sản phẩm vào Danh sách sản phẩm muốn mua /// </summary> /// <param name="dictProducts">Danh sách sản phẩm muốn mua đã có: gồm mã sản phẩm và thông tin sản phẩm tương ứng</param> /// <param name="productID">Mã sản phẩm</param> /// <returns></returns> public SuccessAndMsg AddProdToWishList(Dictionary <int, ProductInWishListViewModel> dictProducts, int productID) { var product = db.Products.FirstOrDefault(p => p.ProductID == productID); if (product != null && dictProducts != null) { // nếu chưa tồn tại sản phẩm đó if (!dictProducts.ContainsKey(productID)) { // lấy thông tin người dùng đăng sản phẩm này SuccessAndMsg getUserResult = userDAO.GetUser(product.Username); SuccessAndMsg getImageUrlResult = imageDAO.GetFirstUrlString(productID); // lấy thông tin người dùng thất bại if (!getUserResult.IsSuccess) { return(new SuccessAndMsg(false, getUserResult.Message)); } // lấy đường dẫn hình ảnh của sản phẩm thất bại if (!getImageUrlResult.IsSuccess) { return(new SuccessAndMsg(false, getImageUrlResult.Message)); } User user = getUserResult.Value as User; string imageUrl = getImageUrlResult.Value as string; // tồn tại sản phẩm có mã sản phẩm là productID ProductInWishListViewModel prodInWishList = new ProductInWishListViewModel(product, user, imageUrl); dictProducts.Add(productID, prodInWishList); } return(new SuccessAndMsg(true, WishListDAOMsg.AddProdToWishListSuccessful, dictProducts)); } return(new SuccessAndMsg(false, WishListDAOMsg.AddProdToWishListFailed)); }