public ActionResult DeleteCategory(int cat) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var faq = Globals.FAQs.ElementAt(cat); repo.deleteCategory(faq); Globals.FAQs.Remove(faq); return RedirectToAction("Admin", "Auth"); }
public ActionResult Create(ShirtCreateViewModel model) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } if (model.title == null || Globals.Shirts.Exists(x => x.Title.ToLower() == model.title.ToLower())) { return RedirectToAction("Admin", "Auth", new RouteValueDictionary( new { success = 0, message = "Create shirt failed: please provide a unique title." })); } var repo = new ShirtRepository(); try { var displayBool = bool.Parse(model.display); if (model.newseries != null) { model.series = model.newseries; var url = repo.uploadSeriesImage(model.series, model.sliderimage); url = displayBool ? url : null; Globals.Types.Add(model.series, url); } var shirt = repo.Create(model); Globals.Shirts.Add(shirt); Globals.Shirts.Sort((x, y) => x.Title.CompareTo(y.Title)); Globals.Types = Globals.Types.OrderBy(x => x.Key.Length).ToDictionary(x => x.Key, x => x.Value); } catch (Exception e) { return RedirectToAction("Admin", "Auth", new RouteValueDictionary( new { success = 0, message = "Create shirt failed: " + e.Message })); } return RedirectToAction("Admin", "Auth", new RouteValueDictionary( new { success = 1, message = model.title + " successfully added to database." })); }
private async Task initializeData() { var repo = new ShirtRepository(); var docs = await repo.collection.Find(new BsonDocument()).ToListAsync(); foreach(var doc in docs) { var shirt = repo.createShirtFromBson(doc); if (!Globals.Types.Keys.Contains(shirt.Type) || (Globals.Types[shirt.Type] == null && shirt.Display == true)) { var url = shirt.Display ? "http://res.cloudinary.com/throw-down-attire/image/upload/" + shirt.Type + ".png" : null; Globals.Types.Add(shirt.Type, url); } Globals.Shirts.Add(shirt); } Globals.Shirts.Sort((x, y) => x.Title.CompareTo(y.Title)); Globals.Types = Globals.Types.OrderBy(x => x.Key.Length).ToDictionary(x => x.Key, x => x.Value); var faqDocs = await repo.FAQCollection.Find(new BsonDocument()).ToListAsync(); foreach (var doc in faqDocs) { repo.createFAQFromBson(doc); } }
public ActionResult DeleteFAQ(int cat, int q) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var faq = Globals.FAQs.ElementAt(cat); faq.Questions.Remove(faq.Questions.ElementAt(q)); faq.Answers.Remove(faq.Answers.ElementAt(q)); repo.deleteFAQ(faq, q); return RedirectToAction("Admin", "Auth"); }
public ActionResult UploadPhoto(HttpPostedFileBase[] images, string id) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var shirt = repo.FindShirtById(id); var urls = repo.uploadImages(images, shirt.Title); var photoList = shirt.Photos.ToList(); photoList.AddRange(urls); shirt.Photos = photoList.ToArray(); repo.UpdateShirt(shirt); return new JsonResult() { Data = new { sources = urls } }; }
public ActionResult UpdateSlider(string type, HttpPostedFileBase image) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var src = repo.updateSeriesImage(type, image); return new JsonResult() { Data = new { src = src } }; }
public ActionResult SetDisplay(string id, string display) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); repo.UpdateShirt(id, "display", display); var shirt = repo.FindShirtById(id); shirt.Display = bool.Parse(display); Globals.Types[shirt.Type] = repo.firstDisplayedShirtOfType(shirt.Type) == null ? null : "http://res.cloudinary.com/throw-down-attire/image/upload/" + shirt.Type + ".png"; return RedirectToAction("Admin", "Auth"); }
public ActionResult FAQ(string json) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var jObject = JObject.Parse(json); var faqs = new List<FAQ>(); foreach(var faq in jObject["faqs"]) { faqs.Add(new FAQ() { Category = (string) faq["category"], Questions = faq["questions"].ToObject<List<string>>(), Answers = faq["answers"].ToObject<List<string>>() }); } Globals.FAQs = faqs; try { repo.saveFAQs(); } catch(Exception e) { Globals.FAQs = new List<FAQ>(); } return RedirectToAction("Admin", "Auth"); }
public ActionResult Edit(ShirtEditViewModel model) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var shirtDoc = repo.UpdateShirt(model); var shirt = repo.createShirtFromBson(shirtDoc); var oldShirt = repo.FindShirtById(shirt.Id.ToString()); var i = Globals.Shirts.FindIndex(x => x.Id == shirt.Id); Globals.Shirts[i] = shirt; if (repo.firstShirtOfType(oldShirt.Type) == null) { Globals.Types.Remove(oldShirt.Type); repo.deleteImage(oldShirt.Type); } return RedirectToAction("Admin", "Auth"); }
public ActionResult DeleteShirt(string id) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var shirt = repo.deleteShirt(id); Globals.Shirts.Remove(shirt); if (repo.firstShirtOfType(shirt.Type) == null) { Globals.Types.Remove(shirt.Type); repo.deleteImage(shirt.Type); } else if (repo.firstDisplayedShirtOfType(shirt.Type) == null) { Globals.Types[shirt.Type] = null; } return RedirectToAction("Admin", "Auth"); }
public ActionResult DeletePhoto(string src, string id) { if (!Authenticated()) { return RedirectToAction("AdminLogin", "Auth"); } var repo = new ShirtRepository(); var shirt = repo.FindShirtById(id); var pub_id = src.Split('/').Last().Replace(".png", ""); try { repo.deleteImage(pub_id); var shirtList = shirt.Photos.ToList(); shirtList.Remove(src); shirt.Photos = shirtList.ToArray(); repo.UpdateShirt(shirt); ViewBag.Success = "Successfully deleted image for: " + shirt.Title; } catch (Exception e) { ViewBag.Failure = "Image delete failed " + e.Message; } return View("Edit", shirt.Id.ToString()); }