예제 #1
0
 public frmDetalleArticulo(Articulo articulo, int indConsulta)
 {
     //
     // The InitializeComponent() call is required for Windows Forms designer support.
     //
     InitializeComponent();
     this.articulo = articulo;
     if (articulo != null)
     {
         if (indConsulta == 1)
         {
             bloquearCampos();
             btnModificar.Visible = false;
             btnEliminar.Visible = false;
         }
         else
         {
             mostrarArticulo(articulo);
             if (articulo.ArticuloArticuloXProveedorfk.Count >= 0)
                 artXproveed = Convierte(articulo.ArticuloArticuloXProveedorfk);
         }
     }
     else {
         this.articulo = new Articulo();
         this.articulo.Id = 0;
         artXproveed = new List<ArticuloXProveedor>();
     }
     this.txtISBN.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Utils.Utils.ValidaNumerico);
     this.txtArticulo.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Utils.Utils.ValidaNumerico);
     load = 0;
 }
예제 #2
0
 private bool articuloIngresado(Articulo art)
 {
     foreach (String linea in lineas)
         if (linea == art.Id.ToString())
             return true;
     return false;
 }
예제 #3
0
        public void CargarLinea(Articulo articulo)
        {
            ArticuloBL artBL = new ArticuloBL();
            ArticuloXLocal artxlocal =new ArticuloXLocalBL().findArticuloXLocal(articulo.Id, empleado.Local.Id);
            if ( artxlocal == null)
            {
                Utils.Utils.Error(this, "El local no contiene el articulo que solicito");
            }
            else
            {
                try
                {
                    if (!articuloIngresado(articulo))
                    {
                        object[] arreglo = { articulo.Id, articulo.Titulo, "" };
                        dgvArticulos.Rows.Add(arreglo);
                        guardarLinea(articulo);
                    }
                    else Utils.Utils.Error(this, "El articulo ya esta en la lista");

                }
                catch (NullReferenceException ex)
                {
                    Utils.Utils.Error(this, "El articulo no ha sido encontrado");
                }
            }
        }
예제 #4
0
        public static void Borrar(Articulo articulo)
        {
            try{
                articulo.Estado = "Inactivo";
                ArticuloDA articuloDA = ArticuloDA.getInstance();
                articuloDA.Update(articulo);

            }catch(Exception ex){
                log.Error("Error al eliminar artículo" + ex.Message);
                log.Error(ex.StackTrace);
            }
        }
예제 #5
0
        public ArticuloXProveedor findArticuloXProveedor(Articulo articulo)
        {
            try
            {
                ISession hisession = NHibernateHelper.GetCurrentSession();
                IQuery query = hisession.CreateQuery("FROM ArticuloXProveedor WHERE Estado = 'A' AND IdArticulo = " + articulo.Id);
                return query.List<ArticuloXProveedor>()[0];
            }
            catch (Exception ex)
            {

                return null;
            }
        }
예제 #6
0
        public ArticuloXProveedor Find(Articulo articulo, Proveedor proveedor)
        {
            List<string> properties = new List<string>();
            properties.Add("Proveedor.Id");
            properties.Add("Articulo.Id");
            List<object> values = new List<object>();

            values.Add(proveedor.Id);
            values.Add(articulo.Id);
            IList<ArticuloXProveedor> articulos = new ArticuloXProveedorDA().FindByProperties(properties, values);
            if (articulos.Count > 0)
            {
                return articulos[0];
            }
            return null;
        }
        public void CargarArticulo(Articulo articulo)
        {
            ArticuloXProveedor articuloxProveedor = ArticuloXProveedorBL.BuscarArticuloxProveedorActivo(articulo); // articuloBL.findArticuloxProveedorActivo(articulo);
            if (articuloxProveedor == null)
            {
                lblPrecioCosto.Text = "No registrado";
            }
            else
            {
                textPrecioCosto.Text = articuloxProveedor.Costo.ToString();
            }

            textCodigo.Text = articulo.CodigoArticulo;
            textPrecioVenta.Text = articulo.PrecioVenta.ToString("0.00");

            this.articulo = articulo;
        }
예제 #8
0
        public void agregarArticulo()
        {
            if (txtCodigo.Text.Trim() == "") Utils.Utils.Error(null, "Ingrese al menos un codigo de articulo");

             else
             {
                 if (upDwCantidadArticulo.Value.ToString() == "0")
                 {
                     Utils.Utils.Error(null, "La cantidad debe ser mayor a 1");
                     return;
                 }
                 else
                 {
                     if (articuloTemporal == null)
                     { //el articulo temporal fue ingresado manualmente
                         articuloTemporal = objArticuloBL.findByIdArticulo(txtCodigo.Text.Trim());  //buscamos por el id ingresado
                         if (articuloTemporal == null)
                         {
                             Utils.Utils.Error(null, "El codigo del articulo no existe");
                             return;
                         }
                     }

                    DescuentoXArticulo descXart = new  DescuentoXArticulo();
                    descXart.CantidadDisponible = (int)upDwCantidadArticulo.Value;
                    descXart.Articulo = articuloTemporal;
                    if (!((int)upDwPorcentaje.Value >= 0 && (int)upDwPorcentaje.Value <= 100))
                    {
                        Utils.Utils.Error(null,"El porcenaje debe ubicarse entre 0 y 100");
                        return;
                    }
                    descXart.PorcentajeDescuento = (int)upDwPorcentaje.Value;
                     listadescuentoXArt.Add(descXart);

                    float subtotal =  descXart.Articulo.PrecioVenta - descXart.PorcentajeDescuento*descXart.Articulo.PrecioVenta/100;

                     object[] row = { articuloTemporal.CodigoArticulo, articuloTemporal.Titulo, (int)upDwCantidadArticulo.Value, articuloTemporal.PrecioVenta.ToString(),
                                     descXart.PorcentajeDescuento.ToString() , subtotal.ToString() };
                     dgvArticulos.Rows.Add(row);
                     articuloTemporal = null;
                     lblCodigo.Focus();
                 }
             }
        }
예제 #9
0
        public void agregarArticulo(Articulo articulo)
        {
            if (!articuloRepetido(articulo))
             {
                 DescuentoXArticulo artxdesc = new DescuentoXArticulo();
                 artxdesc.CantidadDisponible = 1;
                 artxdesc.Articulo = articulo;

                 listadescuentoXArt.Add(artxdesc);

                 object[] row = { articuloTemporal.CodigoArticulo, articuloTemporal.Titulo, articuloTemporal.PrecioVenta, 1, 0, 0 };
                 dgvArticulos.Rows.Add(row);
                 calcularSubTotal();
             }
             else
             {
                 Utils.Utils.Error(null, "El articulo ya esta en la lista");
             }
        }
        public void CargarLinea(Articulo articulo)
        {
            ArticuloXLocalBL artxlocalBL = new ArticuloXLocalBL();
            ArticuloXLocal artxlocal= new ArticuloXLocal();
            try
            {
                if (cmbMovimiento.Text.Equals("SALIDA"))
                   artxlocal = artxlocalBL.findArticuloXLocal(articulo.Id, ((Local)cmbLocalOrigen.SelectedItem).Id);
                else
                    artxlocal = artxlocalBL.findArticuloXLocal(articulo.Id, ((Local)cmbLocalDestino.SelectedItem).Id);
                if (!articuloIngresado(artxlocal))
                {
                    object[] arreglo = { artxlocal.Id, articulo.Titulo, artxlocal.Cantidad, "" };
                    dgvArticulos.Rows.Add(arreglo);
                    guardarLinea(artxlocal);
                }
                else Utils.Utils.Error(this, "El articulo ya esta en la lista");

            }
            catch (NullReferenceException ex)
            {
                Utils.Utils.Error(this, "El local no contiene el articulo que solicito");
            }
        }
예제 #11
0
 public void CargarArticulo(Articulo articulo)
 {
 }
예제 #12
0
 public void CargarArticulo(Articulo articulo)
 {
     txtProducto.Text = articulo.CodigoArticulo;
     this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(articulo.Id, revisionSeleccionada.Local.Id);
 }
예제 #13
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            int row = -1;

            if (dgvArticulos.CurrentRow != null)
            {
                row = dgvArticulos.CurrentRow.Index;
                if (dgvArticulos.CurrentRow.Cells["Código"].Value != null)
                {
                    if ((row >= 0) && ((row - 1) <= articulos.Count))
                    {
                        articuloSeleccionado = articulos[row];
                        if (this.Owner.ActiveMdiChild is IFormExternoArticulo) {

                            ((IFormExternoArticulo)this.Owner.ActiveMdiChild).CargarArticulo(articuloSeleccionado);
                            if (articulosXLocal != null)
                            {
                                ((IFormExternoArticulo)this.Owner.ActiveMdiChild).CargarArticulo(articulosXLocal[row]);
                            }
                        }
                    }
                }
            }
            if (articuloSeleccionado == null)
            {
                Utils.Utils.Error(null, "Debe seleccionar un artículo");
            }
            else {
                Dispose();
            }
        }
예제 #14
0
        public static void Modificar(Articulo articulo)
        {
            try
            {
                ArticuloDA articuloDA = ArticuloDA.getInstance();
                articuloDA.Update(articulo);

            }
            catch (Exception ex)
            {
                log.Error("No se pudo modificar: " + ex.Message);
                log.Error(ex.StackTrace);
            }
        }
예제 #15
0
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            List<String> properties = new List<String>();
            List<Object> values = new List<Object>();
            properties.Add("IdArticuloXLocal");
            if ((articuloXlocal == null) && (txtProducto.Text!=""))  this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(int.Parse(txtProducto.Text), revisionSeleccionada.Local.Id);
            if (articuloXlocal == null)
            {
                Utils.Utils.Error(null, "El codigo del producto no es correcto");
            }
            else
            {
                values.Add(articuloXlocal.Id);
                properties.Add("NroControl");
                values.Add(revisionSeleccionada.NroControl.Id);
                controlInventarioLineas = new ControlInventarioLineaBL().Buscar(properties, values);
                if (controlInventarioLineas.Count == 0)
                {
                    nuevaLinea = true;
                }
                else nuevaLinea = false;
                    //txtCantidadProd.Text = controlInventarioLineas[0].Cantidad.ToString();

                if (txtProducto.Text == "")
                {
                    Utils.Utils.Error(null, "Debe ingresar un producto");
                    art = null;
                    articuloXlocal = null;
                }
                else
                {
                    if (txtCantidadProd.Text == "")
                    {
                        Utils.Utils.Error(null, "Debe ingresar la cantidad que se ha contado");
                    }
                    else if (articuloXlocal.Articulo.CodigoArticulo.CompareTo(txtProducto.Text) != 0)
                    {
                        Utils.Utils.Error(null, "El codigo del producto no es correcto");
                        art = null;
                        articulosXlocal = null;
                    }
                    else
                    {
                        lineaControlInventario = new ControlInventarioLinea();
                        if (nuevaLinea)
                        {
                            lineaControlInventario.ArticuloXLocal = this.articuloXlocal;
                            lineaControlInventario.NroControl = revisionSeleccionada.NroControl;
                        }
                        else
                        {
                            lineaControlInventario = controlInventarioLineas[0];
                        }
                        lineaControlInventario.Cantidad = int.Parse(txtCantidadProd.Text);

                        if (lineaControlInventario.ArticuloXLocal.Articulo.Id != articuloXlocal.Articulo.Id)
                        {
                            Utils.Utils.Error(null, "El codigo del articulo es incorrecto");
                            articuloXlocal = null;
                            art = null;
                        }
                        else
                        {
                            controlLineasBL.Grabar(lineaControlInventario);
                            Utils.Utils.OK(Utils.Utils.REGISTRO_OK);
                            btnRegistrar.Text = "Registrar";
                            txtProducto.Text = null;
                            txtCantidadProd.Text = null;
                            articuloXlocal = null;
                            art = null;
                        }
                    }
                }
            }
        }
예제 #16
0
 public void Update(Articulo articulo)
 {
     ISession hisession = null;
     try
     {
         hisession = NHibernateHelper.GetCurrentSession();
         hisession.BeginTransaction();
         hisession.Merge(articulo);
         hisession.Transaction.Commit();
         hisession.Close();
     }
     catch (Exception ex)
     {
         if (hisession != null)
         {
             if (hisession.IsOpen)
             {
                 hisession.Close();
             }
         }
         if (log.IsErrorEnabled)
         {
             log.Error("No se pudo registrar o modificar : " + ex.Message);
         }
     }
 }
예제 #17
0
        public void mostrarArticulo(Articulo articulo)
        {
            try
            {

                txtArticulo.Text = articulo.CodigoArticulo;
                txtTitulo.Text = articulo.Titulo;
                txtISBN.Text = articulo.ISBN;
                nmrEdicion.Value = Convert.ToDecimal(articulo.Edicion);
                txtEditora.Text = articulo.EditorialProductora;
                txtAutor.Text = articulo.AutorDirector;
                txtCategoria.Text = articulo.Categoria.Descripcion;
                cboFormato.Text = articulo.Formato;
                cboTipo.Text = articulo.Tipo;
                cboIGV.Text = articulo.IndIGV=="S"?"Sí":"No";
                llenarProveedores(articulo);
                llenarArticuloXlocal();
            }
            catch (Exception)
            {

            }
        }
예제 #18
0
        public void agregarArticulo(Articulo articulo)
        {
            if (!articuloRepetido(articulo))
            {
                ArticuloXPack artxpack = new ArticuloXPack();
                artxpack.CantidadPack = 1;
                artxpack.Articulo = articulo;

                listaArtxPack.Add(artxpack);

                object[] row = { articuloTemporal.CodigoArticulo, articuloTemporal.Titulo, articuloTemporal.Tipo, 1, articuloTemporal.PrecioVenta.ToString(), articuloTemporal.PrecioVenta.ToString() };
                dgvArticulos.Rows.Add(row);
                calcularSubTotal();
            }
            else
            {
                Utils.Utils.Error(null, "El articulo ya esta en la lista");
            }
        }
예제 #19
0
        private void agregarArticulo(Articulo articulo)
        {
            OrdenCompraLinea linea = new OrdenCompraLinea();
            linea.ArticuloXProveedor = new ArticuloXProveedorBL().Find(articulo, ordenCompra.Proveedor);
            if (linea.ArticuloXProveedor == null)
            {
                Utils.Utils.Error(null, "El proveedor no ofrece dicho artículo");
                return;
            }

            linea.OrdenCompra = ordenCompra;

            linea.ArticuloXProveedor.Articulo = articulo;
            linea.ArticuloXProveedor.Proveedor = ordenCompra.Proveedor;
            linea.Cantidad = 0;

            string precioUnitarioCompra = linea.ArticuloXProveedor.Costo.ToString();
            linea.PrecioUnitario = (float)Convert.ToDouble(precioUnitarioCompra);
            ocLineas.Add(linea);

            String[] datos = { articulo.CodigoArticulo, articulo.Titulo, "0", precioUnitarioCompra, "0" };
            dgvArticulos.Rows.Add(datos);
        }
예제 #20
0
 public void CargarArticulo(Articulo articulo)
 {
     try
      {
          this.articuloTemporal = articulo;
       //   txtCodigo.Text = articulo.CodigoArticulo;
      }
      catch (Exception exception) { }
 }
예제 #21
0
 private bool articuloRepetido(Articulo art)
 {
     foreach (DescuentoXArticulo linea in listadescuentoXArt)
      {
          if (linea.Articulo.Id == art.Id)
              return true;
      }
      return false;
 }
예제 #22
0
 private void guardarLinea(Articulo articulo)
 {
     String aux = articulo.Id.ToString();
     lineas.Add(aux);
 }
예제 #23
0
 //muestra proveedores que ofrecen el articulo
 private void llenarProveedores(Articulo articulo)
 {
     dgvProveedores.Rows.Clear();
     foreach (ArticuloXProveedor artXProv in articulo.ArticuloArticuloXProveedorfk) {
         String[] datos = { artXProv.Proveedor.RUC,artXProv.Proveedor.RazonSocial,artXProv.Costo.ToString() };
         if (artXProv.Estado=="Activo")
             dgvProveedores.Rows.Add(datos);
     }
 }
예제 #24
0
 private bool articuloRepetido(Articulo art)
 {
     foreach (ArticuloXPack linea in listaArtxPack)
     {
         if (linea.Articulo.Id == art.Id)
             return true;
     }
     return false;
 }
예제 #25
0
        private void ModificarStock(object sender, EventArgs e)
        {
            if ((articuloXlocal == null) && (txtProducto.Text != ""))
            {
                this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(int.Parse(txtProducto.Text), revisionSeleccionada.Local.Id);
            }
            if (articuloXlocal == null)
            {

            }
            else if (articuloXlocal.Articulo.CodigoArticulo.CompareTo(txtProducto.Text) == 0)
            {
                List<String> properties = new List<String>();
                List<Object> values = new List<Object>();
                properties.Add("IdArticuloXLocal");
                values.Add(articuloXlocal.Id);
                properties.Add("NroControl");
                values.Add(revisionSeleccionada.NroControl.Id);
                controlInventarioLineas = new ControlInventarioLineaBL().Buscar(properties, values);
                if (controlInventarioLineas == null)
                {
                    nuevaLinea = true;
                    btnRegistrar.Text = "Registrar";
                }
                else
                {
                    if (controlInventarioLineas.Count==0)
                    {
                        nuevaLinea = true;
                        btnRegistrar.Text = "Registrar";
                    }
                    else
                    {

                        nuevaLinea = false;
                        txtCantidadProd.Text = controlInventarioLineas[0].Cantidad.ToString();
                        btnRegistrar.Text = "Modificar";
                    }
                }

            }
            else
            {
                articulosXlocal = null;
                art = null;
                nuevaLinea = true;
                btnRegistrar.Text = "Registrar";
                txtCantidadProd.Text = null;
            }
        }
예제 #26
0
 private void btnEliminar_Click(object sender, EventArgs e)
 {
     DialogResult dr;
     dr=MessageBox.Show("¿Está seguro que desea borrar el artículo?","Confirmación",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
     if (dr == DialogResult.Yes)
     {
         ArticuloBL.Borrar(articulo);
         articulo = null;
         MessageBox.Show("Se cambió el estado del artículo");
         Dispose();
     }
 }
예제 #27
0
 public static ArticuloXProveedor BuscarArticuloxProveedorActivo(Articulo articulo)
 {
     ArticuloXProveedor articuloXProveedor = new ArticuloXProveedorDA().findArticuloXProveedor(articulo);
     return articuloXProveedor;
 }
예제 #28
0
 private void btnBuscar_Click(object sender, EventArgs e)
 {
     frmBusquedaArticulo ventArt=new frmBusquedaArticulo(frmBusquedaArticulo.IND_CONSULTA_EXTERNA);
     ventArt.setEstado("Activo");
     ventArt.ShowDialog(this);
     articuloTemporal = ventArt.ArticuloSeleccionado;
     if (articuloTemporal != null)
     {
         agregarArticulo(articuloTemporal);
     }
 }
예제 #29
0
        public static void Grabar(Articulo articulo)
        {
            try{

                ArticuloDA articuloDA = ArticuloDA.getInstance();
                if (articulo.Id == 0) {
                    articulo.Estado = "Activo";
                }
                articuloDA.Save(articulo);

            }catch(Exception ex){
                log.Error("No se pudo registrar: " + ex.Message);
                log.Error(ex.StackTrace);
            }
        }