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());
        }