Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }