[InlineData()] //Retorna 3 tabelas public void TestQTDAMENOR() { FiltroPedidoDomain filtro = new FiltroPedidoDomain(); filtro.pedido = "123456"; filtro.status = "APROVADO"; filtro.valorAprovado = 20; filtro.itensAprovados = 2; PedidoDomain pedido = new PedidoDomain(); ItemDomain item = new ItemDomain(); pedido.itens = new List <ItemDomain>(); pedido.pedido = "123456"; item.descricao = "Item A"; item.precoUnitario = 10; item.qtd = 1; pedido.itens.Add(item); item = new ItemDomain(); item.descricao = "Item B"; item.precoUnitario = 5; item.qtd = 2; pedido.itens.Add(item); var domain = provider.GetService <ISelecionarStatusDomain>(); var retorno = domain.RegraStatus(pedido, filtro); Assert.Equal("APROVADO_QTD_A_MENOR", retorno.status.First().status); }
public void TestPEDIDOINVALIDO(FiltroPedidoDomain filtro, PedidoDomain pedido) { var domain = provider.GetService <ISelecionarStatusDomain>(); var retorno = domain.RegraStatus(pedido, filtro); Assert.Equal("CODIGO_PEDIDO_INVALIDO", retorno.status.First().status); }
public PedidoDomain Execute(FiltroPedidoDomain filtro) { PedidoDomain pedido = new PedidoDomain(); SelecionarPedidoDomain domainPedido = new SelecionarPedidoDomain(); pedido = domainPedido.Execute(filtro.pedido); return(this.RegraStatus(pedido, filtro)); }
private static FiltroPedidoDomain ConvertToModelView(vmFiltroPedido v) { var item = new FiltroPedidoDomain { pedido = v.pedido, itensAprovados = v.itensAprovados, status = v.status, valorAprovado = v.valorAprovado, }; return(item); }
public IEnumerator <object[]> GetEnumerator() { //Invalido FiltroPedidoDomain filtroPedidoInvalido = new FiltroPedidoDomain(); filtroPedidoInvalido.pedido = "123456"; filtroPedidoInvalido.status = "APROVADO"; filtroPedidoInvalido.valorAprovado = 0; filtroPedidoInvalido.itensAprovados = 0; PedidoDomain pedidoInvalido = new PedidoDomain(); yield return(new object[] { filtroPedidoInvalido, pedidoInvalido }); }
public PedidoDomain RegraStatus(PedidoDomain pedido, FiltroPedidoDomain filtro) { PedidoDomain retorno = new PedidoDomain(); retorno.status = new List <StatusDomain>(); StatusDomain status; int qtdItens = 0; decimal valorTotal = 0; retorno.pedido = pedido.pedido; if (pedido.pedido == null) { status = new StatusDomain(); status.status = "CODIGO_PEDIDO_INVALIDO"; retorno.status.Add(status); return(retorno); } foreach (var item in pedido.itens) { qtdItens = qtdItens + item.qtd; valorTotal = valorTotal + (item.qtd * item.precoUnitario); } if (filtro.status == "REPROVADO" || qtdItens == 0 && valorTotal == 0) { status = new StatusDomain(); status.status = "REPROVADO"; retorno.status.Add(status); return(retorno); } if (filtro.itensAprovados == qtdItens && filtro.valorAprovado == valorTotal && filtro.status == "APROVADO") { status = new StatusDomain(); status.status = "APROVADO"; retorno.status.Add(status); } if (filtro.valorAprovado < valorTotal && filtro.status == "APROVADO") { status = new StatusDomain(); status.status = "APROVADO_VALOR_A_MENOR"; retorno.status.Add(status); } if (filtro.itensAprovados < qtdItens && filtro.status == "APROVADO") { status = new StatusDomain(); status.status = "APROVADO_QTD_A_MENOR"; retorno.status.Add(status); } if (filtro.valorAprovado > valorTotal && filtro.status == "APROVADO") { status = new StatusDomain(); status.status = "APROVADO_VALOR_A_MAIOR"; retorno.status.Add(status); } if (filtro.itensAprovados > qtdItens && filtro.status == "APROVADO") { status = new StatusDomain(); status.status = "APROVADO_QTD_A_MAIOR"; retorno.status.Add(status); } return(retorno); }