public void Initialize() { compra = BuilderFactories.Compra(1, DateTime.Now); compra.Id = 1; compra.Cliente = new ClienteTest().cliente; compra.CompraClientes = new List <CompraCliente>() { new CompraClienteTest().compraCliente }; compra.CompraClientes.FirstOrDefault().Producto = new ProductoTest().producto; compra.CompraClientes.FirstOrDefault().Producto.ProductoDescuentos = new List <ProductoDescuento>() { new ProductoDescuentoTest().productoDescuento }; compra.CompraClientes.FirstOrDefault().Producto.ProductoDescuentos.FirstOrDefault().Descuento = new DescuentoTest().descuento; compra.ComprobanteDePagos = new List <ComprobanteDePago>() { BuilderFactories.ComprobanteDePago(EstadoDePago.EN_ESPERA, compra.ObtenerTotal(), compra.ObtenerSubTotal(), MedioPago.EFECTIVO, 0, DateTime.Now, compra.ObtenerDescuento(), 1) }; compra.CompraEnvios = new List <CompraEnvio>() { new CompraEnvioTest().compraEnvio }; compra.CompraEnvios.FirstOrDefault().Id = 1; compra.CompraEnvios.FirstOrDefault().Compra = compra; compra.CompraEnvios.FirstOrDefault().CompraEnvioProductos = new List <CompraEnvioProducto> { new CompraEnvioProducto(1, 1, 1, DateTime.Now, Enum.EstadoDeEnvioProducto.NO_ENVIADO) }; compra.CompraEnvios.FirstOrDefault().EstadoDeEnvio = Enum.EstadoDeEnvio.EN_VERIFICACIÓN; }
public CompraModel Comprar(Compra compra) { if (compra == null || compra.CompraClientes == null) { return(null); } Instance.Compra = compra; var response = Instance.ServicioCompra.Create(new ServicioCompraRequest { Cliente_Id = compra.Cliente_Id, FechaCompra = compra.FechaCompra.Year < DateTime.Now.Year ? DateTime.Now : compra.FechaCompra, }); if (response.Status) { Instance.Compra.CompraClientes = compra.CompraClientes; Instance.Compra.CompraClientes.ToList().ForEach(x => { ServicioCompraCliente.Create(new ServicioCompraClienteRequest { Cantidad = x.Cantidad, Compra_Id = response.Id, Producto_Id = x.Producto_Id, EstadoClienteArticulo = x.EstadoClienteArticulo }); x.Producto = ProductoModel.ProductoModel.Instance.Find(x.Producto_Id); x.Producto.ProductoDescuentos = ProductoDescuentoModel.Instance._repository.FindBy(y => y.Producto_Id == x.Producto_Id); x.Producto.ProductoDescuentos.ToList().ForEach(z => { z.Descuento = DescuentoModel.Instance.Find(z.Descuento_Id); }); x.Compra_Id = response.Id; }); Instance.Compra.Id = response.Id; if (compra.ComprobanteDePagos == null) { compra.ComprobanteDePagos = new List <ComprobanteDePago>() { BuilderFactories.ComprobanteDePago(EstadoDePago.EN_ESPERA, Instance.Compra.ObtenerTotal(), Instance.Compra.ObtenerSubTotal(), MedioPago.EFECTIVO, 0, DateTime.Now, Instance.Compra.ObtenerDescuento(), response.Id) }; } Instance.Compra.ComprobanteDePagos = compra.ComprobanteDePagos; ComprobanteDePagoModel.Instance.Create(Instance.Compra.ComprobanteDePagos.FirstOrDefault()); } return(Instance); }