public ActionResult CreateCategory([Bind(Exclude = "Shop")] CategoryViewModel model, int shop, HttpPostedFileBase image) { var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { var category = Mapper.Map <Category>(model); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } category.Shop = myShop; category.Image = image.AddUploadedImage(Server, db.Users.FirstOrDefault(u => u.Id == userId)); db.Categories.Add(category); db.SaveChanges(); return(RedirectToAction("Categories", "Merchant", new { shop = myShop.Id })); } } 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(model)); }
public ActionResult EditCategory([Bind(Exclude = "Shop")] CategoryViewModel model, int shop, HttpPostedFileBase image) { var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { 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 == model.Id); if (myShop == null || category == null) { return(HttpNotFound()); } category.Name = model.Name; if (image != null && image.ContentLength > 0) { category.Image = image.AddUploadedImage(Server, db.Users.FirstOrDefault(u => u.Id == userId)); } db.SaveChanges(); return(RedirectToAction("EditCategory", "Merchant", new { shop = myShop.Id, model.Id })); } } 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 == model.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(model)); }
public static void Update(this PageStyle o, PageStyleViewModel model, HttpPostedFileBase imglogo, HttpPostedFileBase imgbackground, HttpPostedFileBase imgnav, HttpPostedFileBase imgfooter, HttpServerUtilityBase server) { o.BackgroundColor = model.BackgroundColor; o.ForegroundColor = model.ForegroundColor; o.NavColor = model.NavColor; o.SheetColor = model.SheetColor; o.Name = model.Name; if (imglogo != null) { o.Logo = imglogo.AddUploadedImage(server, o.Owner); } if (imgbackground != null) { o.BackgroundImage = imgbackground.AddUploadedImage(server, o.Owner); } if (imgnav != null) { o.NavImage = imgnav.AddUploadedImage(server, o.Owner); } if (imgfooter != null) { o.FooterImage = imgfooter.AddUploadedImage(server, o.Owner); } }
public ActionResult CreateProduct([Bind(Exclude = "Shop")] ProductViewModel model, int shop, HttpPostedFileBase image) { var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { var product = Mapper.Map <Product>(model); using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } product.Shop = myShop; product.Image = image.AddUploadedImage(Server, db.Users.FirstOrDefault(u => u.Id == userId)); product.Categories = model.Categories.Select(int.Parse).Select(cid => db.Categories.IncludeAll().Filter(userId, myShop.Id).FirstOrDefault(c => c.Id == cid)).ToList(); product.Views = 0; db.Products.Add(product); db.SaveChanges(); return(RedirectToAction("Products", "Merchant", new { shop = myShop.Id })); } } 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", model.Categories); } return(View(model)); }
public ActionResult EditProduct([Bind(Exclude = "Shop")] ProductViewModel model, int shop, HttpPostedFileBase image) { var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { using (var db = new UwtContext()) { var myShop = db.Shops.Filter(userId).FirstOrDefault(s => s.Id == shop); if (myShop == null) { return(HttpNotFound()); } var product = db.Products.IncludeAll().Filter(userId, myShop.Id).FirstOrDefault(c => c.Id == model.Id); if (product == null) { return(HttpNotFound()); } product.Title = model.Title; product.Count = model.Count; product.Description = model.Description; product.Tags = model.Tags; product.UnitPrice = model.UnitPrice; if (model.Categories != null) { product.Categories = model.Categories.Select(int.Parse).Select(cid => db.Categories.IncludeAll().Filter(userId, myShop.Id).FirstOrDefault(c => c.Id == cid)).ToList(); } if (image != null && image.ContentLength > 0) { product.Image = image.AddUploadedImage(Server, db.Users.FirstOrDefault(u => u.Id == userId)); } model.Image = product.Image.Source(); db.SaveChanges(); if (product.Count > 0) { // Mark messages as read var messages = db.Messages.IncludeAll().Filter(userId, model.Id).ActiveMessages().ToList(); messages.ForEach(m => m.DateRecieved = DateTime.UtcNow); db.SaveChanges(); } 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", model.Categories); } } 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", model.Categories); ViewBag.Sales = db.GetDailySales(model.Id, 30); ViewBag.Messages = db.Messages.Filter(userId, model.Id).ActiveMessages().Count(); } return(View(model)); }