Пример #1
0
        public ActionResult <EventoResponse> PutEvento([FromBody] EventoRequest eventoRequest, string id)
        {
            Evento evento = _eventoRepository.GetEvento(id);

            if (evento != null)
            {
                if (evento.Casa.UsuarioEmail != User.Identity.Name)
                {
                    return(BadRequest("Só é possível editar um evento que você criou."));
                }

                var eventoUpdate = eventoRequest.ToEvento();
                eventoUpdate.Id = id;

                bool deu = _eventoRepository.Update(eventoUpdate);

                if (deu)
                {
                    var casaUri   = Url.Action("GetCasa", "Casa", new{ id = eventoUpdate.CasaId });
                    var uriVendas = Url.Action("GetVendas", new{ id = eventoUpdate.Id });
                    return(eventoUpdate.ToEventoResponse(casaUri, uriVendas));
                }

                return(NotFound("Casa não existe."));
            }
            return(BadRequest("Evento não existe."));
        }
Пример #2
0
 public ActionResult <EventoResponse> PostEvento([FromBody] EventoRequest eventoRequest)
 {
     if (ModelState.IsValid)
     {
         Evento evento = eventoRequest.ToEvento();
         bool   deu    = _eventoRepository.Add(evento, User.Identity.Name);
         if (deu)
         {
             var uriEvento = Url.Action("GetEvento", new{ id = evento.Id });
             var uriCasa   = Url.Action("GetCasa", "Casa", new{ id = evento.CasaId });
             var uriVendas = Url.Action("GetVendas", new{ id = evento.Id });
             return(Created(uriEvento, evento.ToEventoResponse(uriCasa, uriVendas)));
         }
         return(BadRequest("Você não criou esta casa."));
     }
     return(BadRequest("Requisição inválida."));
 }