Exemplo n.º 1
0
        public ServiceResponse CompletarCompra(ServicesRequest request, Repository <CompraCliente> productoClientes, Repository <Domain.Entities.Producto.Producto> productos, Repository <Domain.Entities.Producto.ProductoDescuento> productoDescuentos, Repository <Domain.Entities.Producto.Descuento> descuentos, Repository <Domain.Entities.Cliente.Cliente> clientes, Repository <Domain.Entities.Cliente.ClienteMetodoDePago> clienteMetodoDePagos, Repository <Domain.Entities.Factura.ComprobanteDePago> comprobanteDePagos)
        {
            var compra = _repositoryCompra.FindBy(z => z.Id == request.Compra_Id).FirstOrDefault();

            compra.Cliente = clientes.FindBy(c => c.Id == compra.Cliente_Id).FirstOrDefault();
            compra.Cliente.ClienteMetodoDePagos = clienteMetodoDePagos.FindBy(c => c.Cliente_Id == compra.Cliente_Id && c.Activo == true).ToList();
            compra.ComprobanteDePagos           = comprobanteDePagos.FindBy(c => c.Compra_Id == request.Compra_Id).ToList();
            compra.CompraClientes = productoClientes.FindBy(m => m.Compra_Id == request.Compra_Id && m.EstadoClienteArticulo == EstadoClienteArticulo.NO_PAGADO).ToList();
            compra.CompraClientes.ToList().ForEach(x =>
            {
                x.Producto = productos.FindBy(f => f.Id == x.Producto_Id).FirstOrDefault();
                x.Producto.ProductoDescuentos = productoDescuentos.GetAll().ToList();

                x.Producto.ProductoDescuentos.ToList().ForEach(y =>
                {
                    y.Descuento = descuentos.FindBy(r => r.Id == y.Descuento_Id).FirstOrDefault();
                });
            });
            if (compra.CompletarCompras())
            {
                _repositoryCompra.Edit(compra);
                compra.CompraClientes.ToList().ForEach(x =>
                {
                    productoClientes.Edit(x);
                });

                clienteMetodoDePagos.Edit(compra.Cliente.ClienteMetodoDePagos.FirstOrDefault());
                comprobanteDePagos.Edit(compra.ComprobanteDePagos.FirstOrDefault());
                _unitOfWork.Commit();

                return(new ServiceResponse()
                {
                    Mensaje = "Operacion exitosa"
                });
            }
            else
            {
                return(new ServiceResponse()
                {
                    Mensaje = "No se pudo realizar la Operacion"
                });
            }
        }
Exemplo n.º 2
0
        public ServiceResponse Crear(ServicesRequest request)
        {
            var compraCliente = new Compra(request.Cliente_Id, request.FechaCompra);

            _repositoryCompra.Add(compraCliente);
            if (_unitOfWork.Commit() == 1)
            {
                return(new ServiceResponse()
                {
                    Mensaje = "Operacion exitosa"
                });
            }
            else
            {
                return(new ServiceResponse()
                {
                    Mensaje = "No se pudo realizar la compra"
                });
            }
        }
Exemplo n.º 3
0
 public Compra BuscarCompraPorProducto(ServicesRequest request, int producto_id, Repository <CompraCliente> repositoryProductoCliente, Repository <Domain.Entities.Producto.Producto> repositoryProducto, Repository <Domain.Entities.Cliente.Cliente> repositoryCliente, Repository <ComprobanteDePago> repositoryComprobanteDePago, Repository <Domain.Entities.Producto.ProductoDescuento> repositoryProductoDescuento, Repository <Domain.Entities.Producto.Descuento> repositoryDescuento, Repository <Domain.Entities.Cliente.ClienteMetodoDePago> repositoryMetodoPago)
 {
     /*ProductoClienteServicio productoClienteServicio = new ProductoClienteServicio(_unitOfWork, repositoryProductoCliente);
      * ProductoServicio producto = new ProductoServicio(_unitOfWork, repositoryProducto);
      * var cliente = new Cliente.ServicioCliente(_unitOfWork, repositoryCliente);
      *
      * var compra = _repositoryCompra.FindBy(z => z.Id == request.Compra_Id).FirstOrDefault();
      * compra.ComprobanteDePagos = repositoryComprobanteDePago.FindBy(v => v.Compra_Id == compra.Id).ToList();
      * compra.Cliente = cliente.BuscarCliente(compra.Cliente_Id); ;
      * compra.ProductoCliente = productoClienteServicio.BuscarProductoCLientes(request.Cliente_Id, producto_id);
      * compra.ProductoCliente.ToList().ForEach(x =>
      * {
      *  x.Producto = producto.BuscarProducto(producto_id);
      *  x.Producto.ProductoDescuentos = producto.BuscarProductoDescuentos(producto_id, repositoryProductoDescuento);
      *  x.Producto.ProductoDescuentos.ToList().ForEach(y =>
      *  {
      *      y.Descuento = producto.BuscarDescuento(y.Descuento_Id, repositoryDescuento);
      *  });
      *
      * });*/
     return(null);
 }