public async Task <long> Handle(CreateRelatoArquivoCommand request, CancellationToken cancellationToken) { var entity = new Domain.Entities.RelatoArquivo { CodRelato = request.CodRelato, NomeArquivo = request.NomeArquivo, Arquivo = request.Arquivo, Caminho = request.Caminho, CriadoPor = request.CriadoPor, DataCriacao = DateTime.Now }; _context.RelatoArquivo.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.CodRelatoArquivo); }
public async Task <long> Handle(CreateRelatoCommand request, CancellationToken cancellationToken) { try { var entity = new Domain.Entities.Relato { CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura, DatOcorrencia = Convert.ToDateTime(request.DatOcorrencia), HorOcorrencia = request.HorOcorrencia, DscEnvolvidosOcorrencia = request.DscEnvolvidosOcorrencia, DscLocalOcorrenciaRelator = request.DscLocalOcorrenciaRelator, DscOcorrenciaRelator = request.DscOcorrenciaRelator, NomRelator = request.NomRelator, EmailRelator = request.EmailRelator, NumTelefoneRelator = request.NumTelefoneRelator, NomEmpresaRelator = request.NomEmpresaRelator, CriadoPor = request.CriadoPor, DataCriacao = DateTime.Now, //Rn0033 - Nao Iniciado FlgStatusRelato = request.FlgStatusRelato, FlagAtivo = true, NumRelato = string.Empty }; _context.Relato.Add(entity); await _context.SaveChangesAsync(cancellationToken); //Rn0033 - Ocorrencia Não Iniciada var entityHistoricoRelato = new Domain.Entities.HistoricoRelato { CodRelato = entity.CodRelato, DscNaoIniciado = request.DscOcorrenciaStatus, CriadoPor = request.CriadoPor, DataCriacao = DateTime.Now }; _context.HistoricoRelato.Add(entityHistoricoRelato); await _context.SaveChangesAsync(cancellationToken); //Rn0086 entity.NumRelato = DateTime.Now.Year.ToString() + request.Sigla + entity.CodRelato.ToString().PadLeft(4, '0').ToString(); await _context.SaveChangesAsync(cancellationToken); foreach (var item in request.ListRelatoArquivo) { var entityRelatoArquivo = new Domain.Entities.RelatoArquivo { CodRelato = entity.CodRelato, Arquivo = item.Arquivo, NomeArquivo = item.NomeArquivo, Caminho = item.Caminho, CriadoPor = request.CriadoPor, DataCriacao = DateTime.Now, FlagAtivo = true }; _context.RelatoArquivo.Add(entityRelatoArquivo); await _context.SaveChangesAsync(cancellationToken); } //Rn0032 var listUsuario = await _context.ResponsavelTecnico.Where(x => //x.ListEmpresa.CodUnidadeInfraestrutura == request.CodUnidadeInfraestrutura //&& x.FlagGestorSgso == true) .ProjectTo <ResponsavelTecnicoDto>(_mapper.ConfigurationProvider) .ToListAsync(cancellationToken); foreach (var usu in listUsuario) { var entityAtribuicaoRelato = new Domain.Entities.AtribuicaoRelato { CodUsuarioAtribuidor = request.CodUsuarioAtribuidor, CodRelato = entity.CodRelato, CodResponsavelTecnico = usu.CodResponsavelTecnico, CodSituacaoAtribuicao = request.CodSituacaoAtribuicao, DthAtribuicao = DateTime.Now, CriadoPor = request.CriadoPor, DataCriacao = DateTime.Now, FlagAtivo = true }; _context.AtribuicaoRelato.Add(entityAtribuicaoRelato); await _context.SaveChangesAsync(cancellationToken); } //Rn0039 - Ocorrência Atribuída entityHistoricoRelato.DscAtribuicao = "Ocorrência Atribuída, " + DateTime.Now.ToString("dd/MM/yyyy") + ", " + DateTime.Now.ToString("hh:mm"); entityHistoricoRelato.AlteradoPor = request.CriadoPor; entityHistoricoRelato.DataAlteracao = DateTime.Now; await _context.SaveChangesAsync(cancellationToken); return(entity.CodRelato); } catch (Exception e) { return(0); } }