Esempio n. 1
0
        public ActionResult Edit(EventoViewModel evento)
        {
            //TODO: o evento não pode estar cancelado para ser alterado. Não mostrar o botão de alterar para eventos cancelados. Fazer isso também na tela de detalhes que possui link para a alteração
            if (ModelState.IsValid)
            {
                var eventoDomain = Mapper.Map <EventoViewModel, Evento>(evento);
                eventoDomain.UsuarioId        = User.Identity.GetUserId();
                eventoDomain.DataCancelamento = null;
                _eventoApp.Update(eventoDomain);

                return(RedirectToAction("Index"));
            }

            return(View(evento));
        }
Esempio n. 2
0
        public IActionResult Put([FromBody] MeetupViewModel meetupViewModel)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(Response());
            }

            _meetupAppService.Update(meetupViewModel);
            return(Response(meetupViewModel));
        }
        public async Task <IActionResult> Put(int eventoId, [FromBody] EventoViewModel model)
        {
            try
            {
                var idLotes        = new List <int>();
                var idRedesSociais = new List <int>();

                idLotes.AddRange(model.Lotes.Select(x => x.Id));
                idRedesSociais.AddRange(model.RedesSociais.Select(x => x.Id));

                var evento = await eventoAppService.ObterEventoAsyncPorEventoId(eventoId, false);

                if (evento == null)
                {
                    return(NotFound());
                }

                var lotes        = evento.Lotes.Where(x => !idLotes.Contains(x.Id));
                var redesSociais = evento.RedesSociais.Where(x => !idRedesSociais.Contains(x.Id));

                if (lotes.Any())
                {
                    eventoAppService.DeleteLotes(lotes);
                }

                if (redesSociais.Any())
                {
                    eventoAppService.DeleteRedesSociais(redesSociais);
                }

                evento = eventoAppService.Update(model);
                if (await eventoAppService.SaveChangesAsync())
                {
                    return(Created($"/api/evento/{evento.Id}", evento));
                }
            }
            catch (System.Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Banco de dados Falhou!"));
            }
            return(BadRequest());
        }