public Corkboard CreateCorkboard(Corkboard corkboard) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } corkboardDbContext.Corkboards.Add(corkboard); corkboardDbContext.SaveChanges(); return(corkboard); }
public ActionResult AddPushpin(AddPushpinViewModel pushpinDetails, int id) { Uri uriResult; bool check = IsImageUrl(pushpinDetails.Url); if (Uri.IsWellFormedUriString(pushpinDetails.Url, UriKind.Absolute) && check) { if (ModelState.IsValid) { using (pushpinDbContext) { Pushpin pushpin = new Pushpin(); pushpin.CorkboardId = id; pushpin.Url = pushpinDetails.Url; pushpin.Description = pushpinDetails.Description; pushpin.Tags = pushpinDetails.Tags; pushpin.DateTime = DateTime.Now; Corkboard corkboardInDb = corkboardDbContext.Corkboards.Where(query => query.Cid.Equals(id)).SingleOrDefault(); corkboardInDb.DateTime = DateTime.Now; pushpinDbContext.Pushpins.Add(pushpin); pushpinDbContext.SaveChanges(); corkboardDbContext.SaveChanges(); } } else { ModelState.AddModelError("Failure", "Fill in the right details"); return(View("AddPushpin", pushpinDetails)); } } else if (Uri.TryCreate(pushpinDetails.Url, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps) && check) { if (ModelState.IsValid) { using (pushpinDbContext) { Pushpin pushpin = new Pushpin(); pushpin.CorkboardId = id; pushpin.Url = pushpinDetails.Url; pushpin.Description = pushpinDetails.Description; pushpin.Tags = pushpinDetails.Tags; pushpin.DateTime = DateTime.Now; var corkboardInDb = corkboardDbContext.Corkboards.SingleOrDefault(c => c.Cid == id); corkboardInDb.DateTime = DateTime.Now; pushpinDbContext.Pushpins.Add(pushpin); pushpinDbContext.SaveChanges(); corkboardDbContext.SaveChanges(); } } else { ModelState.AddModelError("Failure", "Fill in the right details"); return(View("AddPushpin", pushpinDetails)); } } else { ModelState.AddModelError("Failure", "Enter a valid http or https url"); return(View("AddPushpin", pushpinDetails)); } ViewBag.Message = "New Pushpin has been added saved"; return(RedirectToAction("ViewCorkboard", "CorkBoard", new { id = id })); }
public ActionResult SaveCorkboard(AddCorkboardVewModel corkboardDetails) { if (corkboardDetails.VisibilityTypeId.ToString().Equals("Private")) { if (ModelState.IsValid) { //create database context using Entity framework using (corkboardDbContext) { User user = userDbContext.Users.Where(query => query.Email.Equals(User.Identity.Name) && query.Password.Equals(corkboardDetails.Pin)).SingleOrDefault(); if (user != null) { CorkboardCategory corkboardCategory = categoryDbContext. CorkboardCategories. Where(query => query.Id.Equals(corkboardDetails.CategoryTypeId)) .SingleOrDefault(); Corkboard corkboard = new Corkboard(); corkboard.UserId = user.Id; corkboard.Title = corkboardDetails.Title; corkboard.CategoryId = corkboardCategory.Id; corkboard.VisibilityId = 1; corkboard.Watch = 0; corkboard.DateTime = DateTime.Now; corkboardDbContext.Corkboards.Add(corkboard); corkboardDbContext.SaveChanges(); } else { var categoryType = categoryDbContext.CorkboardCategories.ToList(); var viewModel = new AddCorkboardVewModel { CorkboardCategories = categoryType }; ModelState.AddModelError("Failure", "Wrong Password!"); return(View("AddCorkboard", viewModel)); } } } else { var categoryType = categoryDbContext.CorkboardCategories.ToList(); var viewModel = new AddCorkboardVewModel { CorkboardCategories = categoryType }; return(View("AddCorkboard", viewModel)); } } else if (corkboardDetails.VisibilityTypeId.ToString().Equals("Public")) { //create database context using Entity framework using (corkboardDbContext) { Corkboard corkboard = new Corkboard(); CorkboardCategory corkboardCategory = categoryDbContext. CorkboardCategories. Where(query => query.Id.Equals(corkboardDetails.CategoryTypeId)) .SingleOrDefault(); string Email = User.Identity.Name; User user = userDbContext.Users.Where(query => query.Email.Equals(Email)).SingleOrDefault(); corkboard.UserId = user.Id; corkboard.Title = corkboardDetails.Title; corkboard.CategoryId = corkboardCategory.Id; corkboard.VisibilityId = 0; corkboard.Watch = 0; corkboard.DateTime = DateTime.Now; corkboardDbContext.Corkboards.Add(corkboard); corkboardDbContext.SaveChanges(); } } else { var categoryType = categoryDbContext.CorkboardCategories.ToList(); var viewModel = new AddCorkboardVewModel { CorkboardCategories = categoryType }; return(View("AddCorkboard", viewModel)); } ViewBag.Message = "New CorkBoard has been added saved"; return(RedirectToAction("Index", "CorkBoard")); }