Ejemplo n.º 1
0
        public IHttpActionResult Patch(Guid tripId,
                                       [FromBody] Marvin.JsonPatch.JsonPatchDocument <DTO.Trip> tripPatchDocument)
        {
            try
            {
                using (var uow = new PartiallyUpdateTrip(null, tripId))
                {
                    var uowResult = uow.Execute(tripPatchDocument);

                    switch (uowResult.Status)
                    {
                    case UnitOfWork.UnitOfWorkStatus.Ok:
                        return(Ok(uowResult.Result));

                    case UnitOfWork.UnitOfWorkStatus.Invalid:
                        return(BadRequest());

                    case UnitOfWork.UnitOfWorkStatus.Forbidden:
                        return(StatusCode(HttpStatusCode.Forbidden));

                    case UnitOfWork.UnitOfWorkStatus.NotFound:
                        return(NotFound());

                    default:
                        return(InternalServerError());
                    }
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult Patch(Guid tripId,
                                       [FromBody] Marvin.JsonPatch.JsonPatchDocument <DTO.Trip> tripPatchDocument)
        {
            try
            {
                // is the user allowed to update THIS trip? => check in UnitOfWork
                string ownerId = TokenIdentityHelper.GetOwnerIdFromToken();

                using (var uow = new PartiallyUpdateTrip(ownerId, tripId))
                {
                    var uowResult = uow.Execute(tripPatchDocument);

                    switch (uowResult.Status)
                    {
                    case UnitOfWork.UnitOfWorkStatus.Ok:
                        return(Ok(uowResult.Result));

                    case UnitOfWork.UnitOfWorkStatus.Invalid:
                        return(BadRequest());

                    case UnitOfWork.UnitOfWorkStatus.Forbidden:
                        return(StatusCode(HttpStatusCode.Forbidden));

                    case UnitOfWork.UnitOfWorkStatus.NotFound:
                        return(NotFound());

                    default:
                        return(InternalServerError());
                    }
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }