Exemple #1
0
        OrdenPago Obtener(Datos.OrdenPago ordenPagoDAL)
        {
            List <ItemOrdenPago> items = new List <ItemOrdenPago>();

            foreach (Datos.ItemOrdenPago itemDAL in ordenPagoDAL.ItemsOrdenesPago)
            {
                ItemOrdenCompra itemOrdenCompra = ordenesCompraBL.ObtenerItem(itemDAL.ItemOrdenCompra);
                ItemOrdenPago   item            = new ItemOrdenPago
                {
                    Id = itemDAL.ID,
                    ItemOrdenCompra = itemOrdenCompra,
                    Precio          = itemDAL.Precio
                };

                items.Add(item);
            }

            Proveedor proveedor = proveedoresBL.Obtener(ordenPagoDAL.Proveedor);

            return(new OrdenPago
            {
                Id = ordenPagoDAL.ID,
                Fecha = ordenPagoDAL.Fecha,
                Pagada = ordenPagoDAL.Pagada,
                Proveedor = proveedor,
                Items = items
            });
        }
Exemple #2
0
        /// <summary>
        /// Actualiza los datos de una determinada orden de pago en el sistema
        /// Los datos que se permiten actualizar son los precios de los items y el estado de la orden, es decir si esta pagada o no
        /// </summary>
        /// <param name="ordenPago">Orden de pago a actualizar</param>
        public void Actualizar(OrdenPago ordenPago)
        {
            ValidarOrdenPago(ordenPago);

            Datos.OrdenesPagoDAL dalOrdenesPago = dal.ObtenerOrdenesPagoDAL();
            Datos.OrdenPago      ordenPagoDAL   = dalOrdenesPago.Obtener(ordenPago.Id);

            if (ordenPagoDAL == null)
            {
                throw new OBMCateringException(Resources.BL_Validaciones_OrdenPagoInvalida);
            }

            foreach (Datos.ItemOrdenPago itemDAL in ordenPagoDAL.ItemsOrdenesPago)
            {
                ItemOrdenPago itemOrdenPago = null;

                foreach (ItemOrdenPago item in ordenPago.Items)
                {
                    if (item.ItemOrdenCompra.Ingrediente.Nombre == itemDAL.ItemOrdenCompra.Ingrediente.Nombre)
                    {
                        itemOrdenPago = item;
                        break;
                    }
                }

                if (itemOrdenPago != null)
                {
                    itemDAL.Precio = itemOrdenPago.Precio;
                }
            }

            ordenPagoDAL.Pagada = ordenPago.Pagada;

            dalOrdenesPago.Actualizar(ordenPagoDAL);
            dal.Guardar();
        }