/// <summary> /// Actualiza los datos de un determinado proveedor del sistema /// </summary> /// <param name="proveedor">Proveedor a actualizar</param> public void Actualizar(Proveedor proveedor) { ValidarProveedor(proveedor); Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL(); Datos.Proveedor proveedorDAL = dalProveedores.Obtener(proveedor.CUIT); if (proveedorDAL == null) { throw new OBMCateringException(string.Format(Resources.BL_Validaciones_ProveedorInvalido, proveedor.CUIT)); } Datos.LocalidadesDAL dalLocalidades = dal.ObtenerLocalidadesDAL(); Datos.Localidad localidadDAL = dalLocalidades.Obtener(proveedor.Localidad.Id); if (localidadDAL == null) { throw new OBMCateringException(string.Format(Resources.BL_Validaciones_LocalidadInvalida, proveedor.Localidad.Nombre)); } proveedorDAL.Domicilio = proveedor.Domicilio; proveedorDAL.Localidad = localidadDAL; proveedorDAL.CodigoPostal = proveedor.CodigoPostal; proveedorDAL.Telefono = proveedor.Telefono; proveedorDAL.Email = proveedor.Email; proveedorDAL.FechaBaja = proveedor.FechaBaja; dalProveedores.Actualizar(proveedorDAL); dal.Guardar(); }
/// <summary> /// Obtiene la lista completa de proveedores del sistema /// </summary> /// <returns>Listado de proveedores</returns> public IEnumerable <Proveedor> Obtener() { Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL(); IEnumerable <Datos.Proveedor> proveedoresDAL = dalProveedores.Obtener(); return(Obtener(proveedoresDAL)); }
/// <summary> /// Obtiene un determinado proveedor segun su numero de CUIT /// </summary> /// <param name="cuit">Numero de CUIT del proveedor</param> /// <returns>Proveedor encontrado</returns> public Proveedor ObtenerPorCUIT(string cuit) { if (string.IsNullOrEmpty(cuit)) { throw new OBMCateringException(Resources.BL_Validaciones_CUITNull); } Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL(); Datos.Proveedor proveedorDAL = dalProveedores.Obtener(cuit); return(Obtener(proveedorDAL)); }
/// <summary> /// Crea una nueva orden de pago en el sistema, lo que implica que una determinada orden de compra ha sido finalizada /// </summary> /// <param name="ordenPago">Orden de pago a crear</param> public void Crear(OrdenPago ordenPago) { ValidarOrdenPago(ordenPago); Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL(); Datos.Proveedor proveedorDAL = dalProveedores.Obtener(ordenPago.Proveedor.CUIT); if (proveedorDAL == null) { throw new OBMCateringException(string.Format(Resources.BL_Validaciones_ProveedorInvalido, ordenPago.Proveedor.CUIT)); } Datos.OrdenesCompraDAL dalOrdenesCompra = dal.ObtenerOrdenesCompraDAL(); List <Datos.ItemOrdenPago> itemsOrdenesPagoDAL = new List <Datos.ItemOrdenPago>(); foreach (ItemOrdenPago itemOrdenPago in ordenPago.Items) { Datos.ItemOrdenCompra itemOrdenCompraDAL = dalOrdenesCompra.ObtenerItem(itemOrdenPago.ItemOrdenCompra.Id); if (itemOrdenCompraDAL == null) { throw new OBMCateringException(Resources.OrdenesPagoBL_Validaciones_ItemOrdenCompraInvalido); } Datos.ItemOrdenPago itemOrdenPagoDAL = new Datos.ItemOrdenPago { ItemOrdenCompra = itemOrdenCompraDAL, Precio = itemOrdenPago.Precio }; itemsOrdenesPagoDAL.Add(itemOrdenPagoDAL); } Datos.OrdenPago ordenPagoDAL = new Datos.OrdenPago { Fecha = ordenPago.Fecha, Pagada = ordenPago.Pagada, Proveedor = proveedorDAL, ItemsOrdenesPago = itemsOrdenesPagoDAL }; Datos.OrdenesPagoDAL dalOrdenesPago = dal.ObtenerOrdenesPagoDAL(); dalOrdenesPago.Crear(ordenPagoDAL); dal.Guardar(); }
/// <summary> /// Obtiene el listado de ordenes de pago por proveedor /// </summary> /// <param name="proveedor">Proveedor del cual se quiere consultar sus ordenes de pago</param> /// <returns>Listado de ordenes de pago del proveedor</returns> public IEnumerable <OrdenPago> Obtener(Proveedor proveedor) { if (proveedor == null) { throw new OBMCateringException(Resources.BL_Validaciones_ProveedorNull); } Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL(); Datos.Proveedor proveedorDAL = dalProveedores.Obtener(proveedor.CUIT); if (proveedorDAL == null) { throw new OBMCateringException(string.Format(Resources.BL_Validaciones_ProveedorInvalido, proveedor.CUIT)); } Datos.OrdenesPagoDAL dalOrdenesPago = dal.ObtenerOrdenesPagoDAL(); IEnumerable <Datos.OrdenPago> ordenesPagoDAL = dalOrdenesPago.Obtener(proveedorDAL); return(Obtener(ordenesPagoDAL)); }