public ActionResult Edit(int id) { var service = CreateVisitService(); var unsortedVisitorList = new SelectList(service.GetOwnedList("Visitor"), "VisitorId", "FullName"); var visitorList = unsortedVisitorList.OrderBy(o => o.Text); var unsortedParkList = new SelectList(service.GetOwnedList("Park"), "ParkId", "ParkName"); var parkList = unsortedParkList.OrderBy(o => o.Text); var unsortedTeamList = new SelectList(service.GetOwnedList("Team"), "TeamId", "TeamName"); var teamList = unsortedTeamList.OrderBy(o => o.Text); ViewBag.VisitorId = visitorList; ViewBag.ParkId = parkList; ViewBag.HomeTeamId = teamList; ViewBag.AwayTeamId = teamList; var detail = service.GetVisitById(id); var model = new VisitEdit { VisitId = detail.VisitId, ParkName = detail.ParkName, HomeTeamName = detail.HomeTeamName, AwayTeamName = detail.AwayTeamName, VisitorFirstName = detail.VisitorFirstName, VisitorLastName = detail.VisitorLastName, VisitDate = detail.VisitDate, GotPin = detail.GotPin, GotPhoto = detail.GotPhoto }; return(View(model)); }
public bool UpdateVisit(VisitEdit model) { using (var ctx = new ApplicationDbContext()) { var entity = ctx.Visits.Single(e => e.VisitId == model.VisitId && e.OwnerId == _ownerId); //if (model.GotPin != entity.GotPin) //{ // if (entity.GotPin == true) // { // UpdatePinCount(entity.ParkId, -1, ctx); // UpdatePersonalPins(entity.VisitorId, -1, ctx); // } // else if (entity.GotPin == false) // { // UpdatePinCount(entity.ParkId, 1, ctx); // UpdatePersonalPins(entity.VisitorId, 1, ctx); // } //} //if (model.GotPhoto != entity.GotPhoto) //{ // if (entity.GotPhoto == true) UpdatePhotoCount(entity.ParkId, -1, ctx); // else if (entity.GotPhoto == false) UpdatePhotoCount(entity.ParkId, 1, ctx); //} entity.VisitDate = model.VisitDate; entity.GotPin = model.GotPin; entity.GotPhoto = model.GotPhoto; return(ctx.SaveChanges() == 1); } }
public IHttpActionResult Put(VisitEdit model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } VisitService service = CreateVisitService(); if (service.UpdateExistingVisit(model)) { return(Ok()); } return(InternalServerError()); }
public bool UpdateExistingVisit(VisitEdit model) { using (var ctx = new ApplicationDbContext()) { var entity = ctx.Visits.FirstOrDefault(visit => visit.VisitID == model.VisitID && visit.OwnerID == _userID); if (entity == null) { return(false); } entity.GotPin = model.GotPin; entity.TookPhoto = model.TookPhoto; entity.VisitorID = model.VisitorID; entity.GameID = model.GameID; return(ctx.SaveChanges() == 1); } }
public ActionResult Edit(int id, VisitEdit model) { if (!ModelState.IsValid) { return(View(model)); } if (model.VisitId != id) { ModelState.AddModelError("", "Ids are mismatched."); return(View(model)); } var service = CreateVisitService(); if (service.UpdateVisit(model)) { TempData["SaveResult"] = "Visit was updated."; return(RedirectToAction("Index")); } ModelState.AddModelError("", "Visit could not be updated."); return(View(model)); }