public bool Discounts(ShopDiscountModel model) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var result = db.UpdateDiscounts(model, userId); db.SaveChanges(); return(result); } }
public ActionResult Index() { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var messages = db.Messages.Where(m => m.Reciever.Id == userId && m.DateRecieved > DateTime.UtcNow).Include(m => m.Product.Shop).ToList(); return(View(messages)); } }
/// <summary> /// Checks if there are enough products in the inventory and reserves them /// </summary> /// <param name="basket"></param> /// <param name="db"></param> /// <returns></returns> public static bool ReserveProducts(this Basket basket, UwtContext db) { // Check if there are enough products available if (basket != null && basket.BasketItems.Any() && !basket.BasketItems.Any(b => b.Product.Count < b.Amount)) { // Remove products from inventory basket.BasketItems.ForEach(b => b.Product.Count -= b.Amount); return(true); } return(false); }
public bool Dismiss() { string userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var messages = db.Messages.Where(m => m.Reciever.Id == userId && m.DateRecieved > DateTime.UtcNow).ToList(); messages.ForEach(m => m.DateRecieved = DateTime.UtcNow); db.SaveChanges(); } return(true); }
public static Image CreateUserImage(this UwtContext db, HttpPostedFileBase newImage, HttpServerUtilityBase server, User user) { if (newImage != null) { var image = db.CreateUserImage(newImage, server); image.Owner = user; image.UserProfile = user; return(image); } return(db.Images.FirstOrDefault(i => i.Path == DefaultProfileImage)); }
public static Image CreateUserImage(this UwtContext db, HttpPostedFileBase image, HttpServerUtilityBase server) { if (image == null || image.ContentLength == 0) { // Use default image return(db.Images.FirstOrDefault(i => i.Path == DefaultProfileImage)); } return(new Image { DateCreated = DateTime.UtcNow, Path = image.SaveUploadedImage(server) }); }
// // GET: /Manage/Index public ActionResult Index(ManageMessageId?message) { ViewBag.StatusMessage = message.ToMessageString(); var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var user = db.Users.Find(userId); var model = user.ToIndexViewModel(); return(View(model)); } }
public static Shop GetShop(this Invoice invoice, UwtContext db) { var basketItem = invoice.Basket.BasketItems.FirstOrDefault(); if (basketItem == null) { return(null); } var shopId = basketItem.Product.Shop.Id; return(db.Shops.IncludeAll().FirstOrDefault(s => s.Id == shopId)); }
public ActionResult EditPageStyle(int id) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var pageStyle = db.PageStyles.IncludeAll().Filter(userId).FirstOrDefault(ps => ps.Id == id); if (pageStyle == null) { return(HttpNotFound()); } return(View(Mapper.Map <PageStyleViewModel>(pageStyle))); } }
public bool UnblockUser(string email) { using (var db = new UwtContext()) { var user = db.Users.FirstOrDefault(u => u.Email == email); if (user != null && user.IsBlocked()) { user.Unblock(); db.SaveChanges(); return(true); } } return(false); }
public ActionResult Index(int shop, string deliveryaddress, string deliveryperson) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var basket = db.GetCurrentBasket(userId, shop); if (basket != null) { basket.DeliveryAddress = deliveryaddress; basket.DeliveryPerson = deliveryperson; db.SaveChanges(); } return(RedirectToAction("Index", new { shop = shop })); } }
public ActionResult CreateCategory(int shop) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } ViewBag.ShopName = myShop.Name; ViewBag.ShopId = myShop.Id; return(View()); } }
public static Image AddUploadedImage(this UwtContext db, HttpPostedFileBase image, HttpServerUtilityBase server, string userId) { if (image == null || image.ContentLength == 0) { return(null); } var img = new Image { DateCreated = DateTime.UtcNow, Path = SaveUploadedImage(image, server), Owner = db.Users.FirstOrDefault(u => u.Id == userId) }; db.Images.Add(img); return(img); }
public ActionResult Discounts(int id) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var shop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == id); if (shop == null) { return(HttpNotFound()); } var model = Mapper.Map <ShopDiscountModel>(shop); return(View(model)); } }
public ActionResult Products(int shop) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } ViewBag.ShopName = myShop.Name; ViewBag.ShopId = myShop.Id; var products = db.Products.Filter(userId, myShop.Id).ToList().Select(Mapper.Map <ProductViewModel>).ToList(); return(View(products)); } }
public ActionResult Invoice(int id) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var invoice = db.Invoices.FilterByShopOwner(userId).IncludeAll().FirstOrDefault(i => i.Id == id); if (invoice == null) { return(HttpNotFound()); } ViewBag.ShopId = invoice.GetShop(db).Id; var model = Mapper.Map <InvoiceViewModel>(invoice); return(View(model)); } }
public ActionResult EditCategory(int shop, int id) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); var category = db.Categories.IncludeAll().Filter(userId, shop).FirstOrDefault(c => c.Id == id); if (myShop == null || category == null) { return(HttpNotFound()); } ViewBag.ShopName = myShop.Name; ViewBag.ShopId = myShop.Id; ViewBag.Products = category.Products.Select(Mapper.Map <ProductViewModel>).ToList(); return(View(Mapper.Map <CategoryViewModel>(category))); } }
public ActionResult CreateShop() { string userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var pageStyles = db.PageStyles.Filter(userId).ToList(); var pageLayouts = db.PageLayouts.ToList(); ViewBag.PageStyles = pageStyles.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }); ViewBag.PageLayouts = pageLayouts.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }); } return(View()); }
public ActionResult Index(int shop) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var basket = db.GetCurrentBasket(userId, shop); if (basket != null) { ViewBag.Shop = Mapper.Map <ShopViewModel>(db.Shops.FirstOrDefault(s => s.Id == shop)); var model = Mapper.Map <BasketViewModel>(basket); model.BasketItems.ForEach(i => i.Product.Image = i.Product.Image.Replace("~", "")); return(View(model)); } return(HttpNotFound()); } }
public ActionResult CreateLayout(PageLayoutViewModel model, HttpPostedFileBase layout) { if (ModelState.IsValid && layout != null) { using (var db = new UwtContext()) { var userId = User.Identity.GetUserId(); var pageLayout = Mapper.Map <PageLayout>(model); pageLayout.DateCreated = DateTime.UtcNow; pageLayout.Owner = db.Users.FirstOrDefault(u => u.Id == userId); pageLayout.Layout = layout.SaveUploadedLayout(Server); db.PageLayouts.Add(pageLayout); db.SaveChanges(); } return(RedirectToAction("PageLayouts")); } return(View(model)); }
public ActionResult CreateProduct(int shop) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } ViewBag.ShopName = myShop.Name; ViewBag.ShopId = myShop.Id; ViewBag.Categories = new MultiSelectList(db.Categories.Filter(userId, myShop.Id).ToList().Select(c => new SelectListItem { Text = c.Name, Value = c.Id.ToString() }).ToArray(), "Value", "Text"); return(View()); } }
public ActionResult Index(int id) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var shop = db.Shops.FirstOrDefault(s => s.Id == id); if (shop == null) { return(HttpNotFound()); } var invoices = db.Invoices.IncludeAll().Filter(userId, id).ToList(); var model = invoices.Select(Mapper.Map <InvoiceViewModel>).ToList(); ViewBag.Shop = Mapper.Map <ShopViewModel>(shop); return(View(model)); } }
public int BuyBasket(int shop) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var basket = db.GetCurrentBasket(userId, shop); if (!basket.ReserveProducts(db)) { return(0); } var invoice = new Invoice { Basket = basket, DateCreated = DateTime.UtcNow }; db.Invoices.Add(invoice); db.SaveChanges(); return(invoice.Id); } }
public ActionResult EditPageStyle(PageStyleViewModel model, HttpPostedFileBase imglogo, HttpPostedFileBase imgbackground, HttpPostedFileBase imgnav, HttpPostedFileBase imgfooter) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var pageStyle = db.PageStyles.IncludeAll().Filter(userId).FirstOrDefault(ps => ps.Id == model.Id); if (pageStyle == null) { return(HttpNotFound()); } pageStyle.Update(model, imglogo, imgbackground, imgnav, imgfooter, Server); db.SaveChanges(); } return(RedirectToAction("EditPageStyle", "Merchant", new { model.Id })); } return(View(model)); }
public ActionResult CreatePageStyle(PageStyleViewModel model, HttpPostedFileBase imglogo, HttpPostedFileBase imgbackground, HttpPostedFileBase imgnav, HttpPostedFileBase imgfooter) { if (ModelState.IsValid) { var pageStyle = Mapper.Map <PageStyle>(model); var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { pageStyle.Logo = db.AddUploadedImage(imglogo, Server, userId); pageStyle.BackgroundImage = db.AddUploadedImage(imgbackground, Server, userId); pageStyle.NavImage = db.AddUploadedImage(imgnav, Server, userId); pageStyle.FooterImage = db.AddUploadedImage(imgfooter, Server, userId); pageStyle.Owner = db.Users.FirstOrDefault(u => u.Id == userId); pageStyle.DateCreated = DateTime.UtcNow; db.PageStyles.Add(pageStyle); db.SaveChanges(); } return(RedirectToAction("PageStyles")); } return(View(model)); }
public ActionResult Index(IndexViewModel model, HttpPostedFileBase image) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var user = db.Users.Find(userId); user.Name = model.Name; user.Surname = model.Surname; user.Address = model.Address; user.PhoneNumber = model.PhoneNumber; if (image != null) { db.Images.Add(db.CreateUserImage(image, Server, user)); } db.SaveChanges(); } return(RedirectToAction("Index")); } return(View(model)); }
public bool UpdateBasketAmount(int product, int newAmount) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var dbProduct = db.Products.IncludeAll().FirstOrDefault(p => p.Id == product); if (dbProduct == null) { return(false); } var basket = db.GetCurrentBasket(userId, dbProduct.Shop.Id); var item = basket.BasketItems.FirstOrDefault(i => i.Product.Id == product); if (item == null) { return(false); } item.Amount = newAmount; db.SaveChanges(); return(true); } }
public ActionResult Index(int?id, int?category, string search) { using (var db = new UwtContext()) { var shop = db.Shops.FirstOrDefault(s => s.Id == id); if (shop == null) { var shops = db.Shops.ToList().Select(Mapper.Map <ShopViewModel>).ToList(); return(View(shops)); } var model = Mapper.Map <ShopViewModel>(shop); var products = db.Products.Filter(model.Id).Where(p => category == null || p.Categories.FirstOrDefault(c => c.Id == category) != null).ToList().Select(Mapper.Map <ProductViewModel>).ToList(); if (User.Identity.IsAuthenticated) { var userId = User.Identity.GetUserId(); products.ForEach(p => p.InBasket = p.InBasket(userId, shop.Id)); ViewBag.BasketItemsCount = db.GetCurrentBasket(userId, shop.Id).BasketItems.Count; products.ForEach(p => p.MessageSent = db.Messages.Any(m => m.Sender.Id == userId && m.Product.Id == p.Id && m.DateRecieved > DateTime.UtcNow)); } ViewBag.Products = products; return(View("Shop", model)); } }
public async Task <ActionResult> Register(RegisterViewModel model, HttpPostedFileBase image, bool merchant) { if (ModelState.IsValid) { Image profileImage; using (var db = new UwtContext()) { profileImage = db.CreateUserImage(image, Server); db.SaveChanges(); } var user = model.ToUser(profileImage); try { user.Blocked = DateTime.MaxValue; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (merchant) { await UserManager.AddToRoleAsync(user.Id, Roles.Merchant); } await SignInManager.SignInAsync(user, false, false); return(RedirectToAction("Index", "Home")); } AddErrors(result); } catch (Exception ex) { Console.WriteLine(ex); } } ViewBag.Merchant = merchant; return(View(model)); }
public ActionResult DesignPreview(int id, int?layoutId, int?styleId) { var userId = User.Identity.GetUserId(); using (var db = new UwtContext()) { var dbShop = db.Shops.FirstOrDefault(s => s.Id == id && s.Owner.Id == userId); if (dbShop == null) { return(HttpNotFound()); } var layout = db.PageLayouts.FirstOrDefault(s => s.Id == layoutId) ?? dbShop.PageLayout; var style = db.PageStyles.FirstOrDefault(s => s.Owner.Id == userId && s.Id == styleId) ?? dbShop.PageStyle; if (layout == null || style == null) { return(HttpNotFound()); } ViewBag.PageLayout = Mapper.Map <PageLayoutViewModel>(layout); ViewBag.PageStyle = Mapper.Map <PageStyleViewModel>(style); return(View(Mapper.Map <ShopViewModel>(dbShop))); } }