/// <summary> Update Visit </summary>
        /// <param name="id"> visit id </param>
        /// <param name="visited"></param>
        /// <returns> Updates Visit Object </returns>
        public IHttpActionResult Put(VisitedEdit visited, int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var visitedService = CreateVisitService();

            result = visitedService.UpdateVisit(visited, id);
            if (result == "Invalid Trail ID")
            {
                return(BadRequest("Invalid Trail ID. Trail not found"));
            }
            if (result == "Update Error")
            {
                return(BadRequest("Invalid Trail ID. You have not visited that Trail."));
            }
            return(Ok());
        }
예제 #2
0
        public string UpdateVisit(VisitedEdit model, int id)
        {
            using (var ctx = new ApplicationDbContext())
            {
                try
                {
                    var entity = ctx.Visits.Single(e => e.TrailID == id);

                    if (model.TrailID != null)
                    {
                        entity.TrailID = model.TrailID;
                    }
                    if (model.Rating != 0)
                    {
                        entity.Rating = model.Rating;
                    }
                    if (model.Review != null)
                    {
                        entity.Review = model.Review;
                    }
                    entity.AddToFavorites = model.AddToFavorites;
                    try
                    {
                        ctx.SaveChanges();
                        return("Okay");
                    }
                    catch
                    {
                        if (entity.Trail == null)
                        {
                            return("Invalid Trail ID");
                        }
                    }
                }
                catch { }

                return("Update Error");
            }
        }