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));
        }
Exemple #2
0
        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));
        }