Ejemplo n.º 1
0
        public async Task Deve_Inserir_Nova_Entrega_De_Hora_No_Banco()
        {
            //Arrange
            IRepositorioDeEntregas repositorioEntrega = TesteInfraService.ServiceProvider.GetService <IRepositorioDeEntregas>();
            EntregaDeHora          entregaHora        = new EntregaDeHora();

            throw new NotImplementedException();
            ////Act
            //int idInserido = await repositorioEntrega.InserirAsync(entregaHora);
            //IEntrega[] entregaObtida = (await repositorioEntrega.ObterAsync(new int[] { idInserido }));

            ////Assert
            //Assert.IsNotNull(entregaObtida[0]);
            //Assert.AreEqual(entregaHora.Tipo.Id, entregaObtida[0].Tipo.Id);
        }
        public IEntregaBD ConverteDe(IEntrega entrega)
        {
            //TODO: Por enquanto as regras possuem apenas id, o conversor terá que ser alterado para conter informações relevantes a entregas

            if (!(entrega is EntregaDeHora))
            {
                throw new ArgumentException("Necessário entrada de regras por hora para este conversor");
            }

            EntregaDeHorasBD entregaConvertida = new EntregaDeHorasBD(TipoDeEntregaModeloBD.Hora);
            EntregaDeHora    entragaHora       = entrega as EntregaDeHora;

            entregaConvertida.Id = entragaHora.Id;

            entregaConvertida.DataDaEfetivacao = entragaHora.DataDaEfetivacao;

            throw new NotImplementedException();

            return(entregaConvertida);
        }
        public IEntrega ConverteParaEntrega(IEntregaBD entregaModeloBanco)
        {
            //TODO: Não está convertendo a entrega de verdade, apenas igualando id
            //Em regra tem ParametrosDeRegraDeRemuneracaoPorHora, criado a partir do argumento do método, provavelmente será assim com entrega também
            if (entregaModeloBanco is EntregaDeHorasBD)
            {
                EntregaDeHorasBD entregaDeHorasDoBanco = (EntregaDeHorasBD)entregaModeloBanco;

                EntregaDeHora entregaHora = new EntregaDeHora()
                {
                    Id = entregaDeHorasDoBanco.Id,
                    DataDaEfetivacao     = entregaDeHorasDoBanco.DataDaEfetivacao,
                    Executor             = new Profissional(entregaDeHorasDoBanco.IdDoFuncionarioExecutor, null, null),
                    Vinculacao           = entregaDeHorasDoBanco.Vinculacao,
                    PercentualDisponivel = entregaDeHorasDoBanco.Percentual,
                    QuantidadeDeMinutos  = entregaDeHorasDoBanco.Quantidade_De_Minutos,
                    Procedimentos        = entregaDeHorasDoBanco.Procedimentos.Select(proc => proc.ConverteParaModelo()).ToArray()
                };

                return(entregaHora);
            }
            throw new InvalidOperationException("Conversão de entrega de horas chamada para converter entrega que não é de horas");
        }