public void Obtem_Tabelas_Validas_Em_Periodo_Valido() { //Arrange IServicoFaturamento servicoFaturamento = new ServicoFaturamentoComContexto(_context, _endpoint); PeriodoSimples periodo = new PeriodoSimples(); //Act Task <IEnumerable <ITabelaDePreco <int> > > task = servicoFaturamento.ListaTabelasDePrecoAsync(periodo); //Assert Assert.DoesNotThrow(task.Wait); IEnumerable <ITabelaDePreco <int> > tabelas = task.Result; ITabelaDePreco <int> tabela = tabelas.ElementAt(new Random().Next(0, tabelas.Count() - 1)); DateTime dataAleatoria = PegaDataAleatoria(periodo); int categoriaAleatoria = 1; Assert.DoesNotThrow(() => tabela.PrecoEm(dataAleatoria, categoriaAleatoria)); }
public async Task <bool> AtualizarEntregasDosFuncionariosDaRegra(IEnumerable <EntregaDeSaldoFuncionario> entregas, ParametrosDeRegraDeRemuneracao paramRegra, IEnumerable <ITabelaDePreco <int> > tabelasDePreco) { var idEntregas = entregas.Select(x => x.Id).Distinct(); var tipoDaRegra = TipoDeRegraBD.Get(paramRegra.Tipo.Id); RegraDeRemuneracaoBD regra = tipoDaRegra.ConverterDe(paramRegra); var idTabelaDePreco = paramRegra.ParametrosExtras.IdTabelaDePreco.Value; ITabelaDePreco <int> tabela = tabelasDePreco.Single(x => x.Id == idTabelaDePreco); using (var context = _fabricaDeContextos.CriaContextoDe <EntregaContext>(TipoDeConexao.Entrega)) { foreach (var idEntrega in idEntregas) { EntregaDeSaldoFuncionarioBD entrega = await context.EntregasSaldoFuncionario.FindAsync(idEntrega); Dinheiro valorHora = tabela.PrecoEm(entrega.DataFaturamento, entrega.IdCategoria, Moeda.Real); entrega.IdRegra = regra.Id; entrega.PercentualDeRemuneracao = (int)regra.Percentual; entrega.Valor = (entrega.QtdMinutos / 60) * valorHora.Valor; entrega.ValorHora = valorHora.Valor; context.EntregasSaldoFuncionario.Update(entrega); } try { await context.SaveChangesAsync(); } catch (Exception ex) { return(false); } return(true); } }
public CalculadoraDePrecos(IServicoEntrega servicoEntrega, ITabelaDePreco tabela) { _servicoEntrega = servicoEntrega; _tabela = tabela; }
public CalculadoraDePrecos(ITabelaDePreco tabela, IServicoDeEntrega entrega) { this.tabela = tabela; this.entrega = entrega; }
public static IRegraDeRemuneracao ConstroiRegraPorHora(ParametrosDeRegraDeRemuneracao parametrosDeRegra, IFavorecimento favorecimento, ITabelaDePreco <int> tabelaDePreco) { Fixture fixture = new Fixture(); IServicoFaturamento servicoFaturamento = ConfigurarServicoFaturamentoMock(tabelasDePreco: new[] { tabelaDePreco }); IServicoRetaguarda servicoRetaguarda = ConfiguraRetaguardaMock(servicoFaturamento); IRegraDeRemuneracao regra = new ConstrutorDeRegraDeRemuneracaoPorHora(servicoRetaguarda) .ComFavorecimento(favorecimento) .ComParametros(parametrosDeRegra) .Construir(); return(regra); }
public CalculadoraDePrecos(IServicoDeEntrega servicoDeEntrega, ITabelaDePreco tabelaDePreco) { this.servicoDeEntrega = servicoDeEntrega; this.tabelaDePreco = tabelaDePreco; }
public CalculadoraDePrecos(ITabelaDePreco tabela, IServicoDeEntrega entrega) { _tabela = tabela; _entrega = entrega; }
public CalculadoraDePrecos(IServicoDeEntrega entrega, ITabelaDePreco tabela) { Entrega = entrega; Tabela = tabela; }