public async Task <IEnumerable <RetornoCopiarEventoDto> > Alterar(long id, EventoDto eventoDto) { var evento = repositorioEvento.ObterPorId(id); evento = MapearParaEntidade(evento, eventoDto); await servicoEvento.Salvar(evento); await GravarRecorrencia(eventoDto, evento); return(await CopiarEventos(eventoDto)); }
private async Task <IEnumerable <RetornoCopiarEventoDto> > CopiarEventos(EventoDto eventoDto) { var mensagens = new List <RetornoCopiarEventoDto>(); if (eventoDto.TiposCalendarioParaCopiar != null && eventoDto.TiposCalendarioParaCopiar.Any()) { foreach (var tipoCalendario in eventoDto.TiposCalendarioParaCopiar) { eventoDto.TipoCalendarioId = tipoCalendario.TipoCalendarioId; try { var eventoParaCopiar = MapearParaEntidade(new Evento(), eventoDto); await servicoEvento.Salvar(eventoParaCopiar); mensagens.Add(new RetornoCopiarEventoDto($"Evento copiado para o calendário: '{tipoCalendario.NomeCalendario}'.", true)); } catch (NegocioException nex) { mensagens.Add(new RetornoCopiarEventoDto($"Erro ao copiar para o calendário: '{tipoCalendario.NomeCalendario}'. {nex.Message}")); } } } return(mensagens); }