示例#1
0
        /// <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));
        }
示例#2
0
        /// <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();
        }
示例#3
0
        /// <summary>
        /// Crea un nuevo proveedor en el sistema
        /// </summary>
        /// <param name="proveedor">Proveedor a crear</param>
        public void Crear(Proveedor proveedor)
        {
            ValidarProveedor(proveedor);

            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));
            }

            Datos.Proveedor proveedorDAL = new Datos.Proveedor
            {
                CUIT         = proveedor.CUIT,
                Nombre       = proveedor.Nombre,
                Domicilio    = proveedor.Domicilio,
                Localidad    = localidadDAL,
                CodigoPostal = proveedor.CodigoPostal,
                Telefono     = proveedor.Telefono,
                Email        = proveedor.Email,
                FechaAlta    = proveedor.FechaAlta,
                FechaBaja    = proveedor.FechaBaja
            };

            Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL();

            dalProveedores.Crear(proveedorDAL);
            dal.Guardar();
        }
示例#4
0
        /// <summary>
        /// Obtiene un determinado proveedor segun su nombre
        /// </summary>
        /// <param name="nombre">Nombre del proveedor</param>
        /// <returns>Proveedor encontrado</returns>
        public Proveedor ObtenerPorNombre(string nombre)
        {
            if (string.IsNullOrEmpty(nombre))
            {
                throw new OBMCateringException(Resources.ProveedoresBL_Validaciones_NombreNull);
            }

            Datos.ProveedoresDAL dalProveedores = dal.ObtenerProveedoresDAL();
            Datos.Proveedor      proveedorDAL   = dalProveedores.ObtenerPorNombre(nombre);

            return(Obtener(proveedorDAL));
        }
示例#5
0
        /// <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));
        }
示例#6
0
        /// <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();
        }
示例#7
0
        /// <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));
        }