示例#1
0
        private void dgvProductosComplementarios_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataTable _DataTable = new DataTable();
                _DataTable.Columns.AddRange(new DataColumn[] { new DataColumn("Marca"), new DataColumn("Línea"), new DataColumn("Grupo"), new DataColumn("SubGrupo"), new DataColumn("Modelo"), new DataColumn("Código de producto"), new DataColumn("Descripción"), new DataColumn("Características"), new DataColumn("Fecha de registro"), new DataColumn("producto", typeof(object)) });

                (from P in _dbCosolemEntities.tbProducto
                 where P.estadoRegistro && P.idProducto != idProducto
                 select new
                {
                    marca = P.tbMarca.descripcion,
                    linea = P.tbModelo.tbSubGrupo.tbGrupo.tbLinea.descripcion,
                    grupo = P.tbModelo.tbSubGrupo.tbGrupo.descripcion,
                    subgrupo = P.tbModelo.tbSubGrupo.descripcion,
                    modelo = P.tbModelo.descripcion,
                    codigoProducto = P.codigoProducto,
                    descripcion = P.descripcion,
                    caracteristicas = P.caracteristicas,
                    fechaRegistro = P.fechaHoraIngreso,
                    producto = P
                }).ToList().ForEach(x => _DataTable.Rows.Add(x.marca, x.linea, x.grupo, x.subgrupo, x.modelo, x.codigoProducto, x.descripcion, x.caracteristicas, x.fechaRegistro, x.producto));

                frmBusqueda _frmBusqueda = new frmBusqueda(this.Text, _DataTable);
                if (_frmBusqueda.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    tbProductoComplementario productoComplementario = (tbProductoComplementario)dgvProductosComplementarios.CurrentRow.DataBoundItem;
                    tbProducto producto = (tbProducto)_frmBusqueda._object;
                    productoComplementario.idProductoComplementario = producto.idProducto;
                    productoComplementario.producto        = producto.codigoProducto + " - " + producto.descripcion;
                    productoComplementario.caracteristicas = producto.caracteristicas;
                    dgvProductosComplementarios.Refresh();
                }
            }
        }
示例#2
0
        private void txtCodigoProducto_Leave(object sender, EventArgs e)
        {
            txtCodigoProducto.Tag = null;
            txtDescripcionProducto.Clear();

            if (!String.IsNullOrEmpty(txtCodigoProducto.Text.Trim()))
            {
                var        _tbProducto = edmCosolemFunctions.getProductos(txtCodigoProducto.Text.Trim());
                tbProducto producto    = _tbProducto.Count == 0 ? null : _tbProducto[0].producto;
                SetearProducto(producto);
            }
        }
示例#3
0
 private void txtCodigoProducto_Leave(object sender, EventArgs e)
 {
     txtDescripcionProducto.Clear();
     dgvPrecios.DataSource = new List <Precio>();
     lvwInventario.Items.Clear();
     lvwInventario.Groups.Clear();
     if (!String.IsNullOrEmpty(txtCodigoProducto.Text.Trim()))
     {
         var        _tbProducto = edmCosolemFunctions.getProductos(txtCodigoProducto.Text.Trim());
         tbProducto producto    = _tbProducto.Count == 0 ? null : _tbProducto[0].producto;
         SetearProducto(producto);
     }
 }
示例#4
0
        private void btnAgregarProductos_Click(object sender, EventArgs e)
        {
            string mensaje = String.Empty;

            if (((Marca)cmbMarca.SelectedItem).idMarca == 0)
            {
                mensaje += "Seleccione marca\n";
            }
            if (((Linea)cmbLinea.SelectedItem).idLinea == 0)
            {
                mensaje += "Seleccione línea\n";
            }
            if (((Grupo)cmbGrupo.SelectedItem).idGrupo == 0)
            {
                mensaje += "Seleccione grupo\n";
            }
            if (((SubGrupo)cmbSubGrupo.SelectedItem).idSubGrupo == 0)
            {
                mensaje += "Seleccione subgrupo\n";
            }
            if (((Modelo)cmbModelo.SelectedItem).idModelo == 0)
            {
                mensaje += "Seleccione modelo\n";
            }

            if (String.IsNullOrEmpty(mensaje))
            {
                tbProducto _tbProducto = new tbProducto {
                    idMarca = ((Marca)cmbMarca.SelectedItem).idMarca, idModelo = ((Modelo)cmbModelo.SelectedItem).idModelo
                };
                _dbCosolemEntities.ObjectStateManager.ChangeObjectState(_tbProducto, EntityState.Detached);
                frmProducto _frmProducto = new frmProducto(_tbProducto);
                _frmProducto.Text = "Producto";
                if (_frmProducto.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    _tbProducto = _frmProducto._tbProducto;
                    if (_tbProducto.idProducto == 0 && _tbProducto.estadoRegistro)
                    {
                        _BindingListtbProducto.Add(_tbProducto);
                    }
                    InactivarRegistros(ref dgvProductos);
                }
            }
            else
            {
                MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#5
0
        private void SetearProducto(tbProducto _tbProducto)
        {
            txtCodigoProducto.Clear();
            txtCodigoProducto.Tag = null;
            txtDescripcionProducto.Clear();

            if (_tbProducto == null)
            {
                MessageBox.Show("Producto no existe", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                txtCodigoProducto.Text      = _tbProducto.codigoProducto;
                txtCodigoProducto.Tag       = _tbProducto.idProducto;
                txtDescripcionProducto.Text = _tbProducto.descripcion;
            }
        }
示例#6
0
 private void dgvProductos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         tbProducto  _tbProducto  = (tbProducto)dgvProductos.CurrentRow.DataBoundItem;
         frmProducto _frmProducto = new frmProducto(_tbProducto);
         _frmProducto.Text = "Producto";
         if (_frmProducto.ShowDialog() == System.Windows.Forms.DialogResult.OK)
         {
             _tbProducto = _frmProducto._tbProducto;
         }
         if (_tbProducto.idProducto == 0 && !_tbProducto.estadoRegistro)
         {
             _BindingListtbProducto.Remove(_tbProducto);
         }
         InactivarRegistros(ref dgvProductos);
     }
 }
示例#7
0
 private void SetearProducto(tbProducto _tbProducto)
 {
     try
     {
         cmbMarca.SelectedValue = _tbProducto.idMarca;
         cmbLinea.SelectedValue = _tbProducto.tbModelo.tbSubGrupo.tbGrupo.idLinea;
         cmbLinea_SelectionChangeCommitted(null, null);
         cmbGrupo.SelectedValue = _tbProducto.tbModelo.tbSubGrupo.idGrupo;
         cmbGrupo_SelectionChangeCommitted(null, null);
         cmbSubGrupo.SelectedValue = _tbProducto.tbModelo.tbSubGrupo.idSubGrupo;
         cmbSubGrupo_SelectionChangeCommitted(null, null);
         cmbModelo.SelectedValue = _tbProducto.tbModelo.idModelo;
         cmbModelo_SelectionChangeCommitted(null, null);
     }
     catch (Exception ex)
     {
         Util.MostrarException(this.Text, ex);
     }
 }
示例#8
0
        private void frmProducto_Load(object sender, EventArgs e)
        {
            _dbCosolemEntities = new dbCosolemEntities();

            cmbTipoProducto.DataSource    = (from TP in _dbCosolemEntities.tbTipoProducto select new { idTipoProducto = TP.idTipoProducto, descripcion = TP.descripcion }).ToList();
            cmbTipoProducto.ValueMember   = "idTipoProducto";
            cmbTipoProducto.DisplayMember = "descripcion";

            if (this._tbProducto.idTipoProducto > 0)
            {
                cmbTipoProducto.SelectedValue = this._tbProducto.idTipoProducto;
            }
            txtCodigoProducto.Text = this._tbProducto.codigoProducto;
            if (this._tbProducto.idProducto != 0)
            {
                idProducto = this._tbProducto.idProducto;
                txtCodigoProducto.Enabled = false;
            }
            txtDescripcion.Text         = this._tbProducto.descripcion;
            txtCaracteristicas.Text     = this._tbProducto.caracteristicas;
            txtUrlEspecificaciones.Text = this._tbProducto.urlEspecificaciones;
            txtUrlManual.Text           = this._tbProducto.urlManual;
            txtCapacidad.Text           = this._tbProducto.capacidad.ToString(Application.CurrentCulture.NumberFormat);
            if (this._tbProducto.imagen != null)
            {
                pbxImagen.Image = Util.ObtenerImagen(this._tbProducto.imagen);
            }

            dgvProductosComplementarios.AutoGenerateColumns = false;
            this._tbProducto.tbProductoComplementario.ToList().ForEach(x =>
            {
                tbProducto producto = _dbCosolemEntities.tbProducto.Where(y => y.idProducto == x.idProductoComplementario).FirstOrDefault();
                x.producto          = producto.codigoProducto + " - " + producto.descripcion;
                x.caracteristicas   = producto.caracteristicas;
            });
            productosComplementarios = new BindingList <tbProductoComplementario>(this._tbProducto.tbProductoComplementario.ToList());
            dgvProductosComplementarios.DataSource = productosComplementarios;
            InactivarRegistros(ref dgvProductosComplementarios);
        }
示例#9
0
 public frmProducto(tbProducto _tbProducto)
 {
     this._tbProducto = _tbProducto;
     InitializeComponent();
 }
示例#10
0
        private void tsbGrabar_Click(object sender, EventArgs e)
        {
            dynamic _tbTipoProducto = (dynamic)cmbTipoProducto.SelectedItem;

            string mensaje = String.Empty;

            if (String.IsNullOrEmpty(txtCodigoProducto.Text.Trim()))
            {
                mensaje += "Ingrese código de producto\n";
            }
            if (String.IsNullOrEmpty(txtDescripcion.Text.Trim()))
            {
                mensaje += "Ingrese descripción\n";
            }
            if (String.IsNullOrEmpty(txtCapacidad.Text.Trim()))
            {
                mensaje += "Ingrese capacidad\n";
            }
            if (pbxImagen.Image == null)
            {
                mensaje += "Seleccione imagen\n";
            }
            if (txtCodigoProducto.Enabled)
            {
                mensaje += VerificaProducto(txtCodigoProducto.Text.Trim());
            }
            mensaje += VerificaProductoComplementario();

            if (String.IsNullOrEmpty(mensaje))
            {
                tbProducto _tbProducto = new tbProducto
                {
                    idTipoProducto      = _tbTipoProducto.idTipoProducto,
                    codigoProducto      = txtCodigoProducto.Text.Trim(),
                    descripcion         = txtDescripcion.Text.Trim(),
                    caracteristicas     = txtCaracteristicas.Text.Trim(),
                    urlEspecificaciones = txtUrlEspecificaciones.Text.Trim(),
                    urlManual           = txtUrlManual.Text.Trim(),
                    capacidad           = Convert.ToDecimal(txtCapacidad.Text.Trim()),
                    imagen                  = (byte[])new ImageConverter().ConvertTo(pbxImagen.Image, typeof(byte[])),
                    estadoRegistro          = true,
                    descripcionTipoProducto = _tbTipoProducto.descripcion
                };

                if (this._tbProducto.idProducto == 0)
                {
                    this._tbProducto.fechaHoraIngreso = Program.fechaHora;
                    this._tbProducto.idUsuarioIngreso = idUsuario;
                    this._tbProducto.terminalIngreso  = Program.terminal;
                }
                else
                {
                    if (_tbProducto.idTipoProducto != this._tbProducto.idTipoProducto || _tbProducto.codigoProducto != this._tbProducto.codigoProducto || _tbProducto.descripcion != this._tbProducto.descripcion || _tbProducto.caracteristicas != this._tbProducto.caracteristicas || _tbProducto.urlEspecificaciones != this._tbProducto.urlEspecificaciones || _tbProducto.urlManual != this._tbProducto.urlManual || _tbProducto.estadoRegistro != this._tbProducto.estadoRegistro)
                    {
                        this._tbProducto.fechaHoraUltimaModificacion = Program.fechaHora;
                        this._tbProducto.idUsuarioUltimaModificacion = idUsuario;
                        this._tbProducto.terminalUltimaModificacion  = Program.terminal;
                    }
                }
                this._tbProducto.idTipoProducto      = _tbProducto.idTipoProducto;
                this._tbProducto.codigoProducto      = _tbProducto.codigoProducto;
                this._tbProducto.descripcion         = _tbProducto.descripcion;
                this._tbProducto.caracteristicas     = _tbProducto.caracteristicas;
                this._tbProducto.urlEspecificaciones = _tbProducto.urlEspecificaciones;
                this._tbProducto.urlManual           = _tbProducto.urlManual;
                this._tbProducto.capacidad           = _tbProducto.capacidad;
                this._tbProducto.imagen                  = _tbProducto.imagen;
                this._tbProducto.estadoRegistro          = _tbProducto.estadoRegistro;
                this._tbProducto.descripcionTipoProducto = _tbProducto.descripcionTipoProducto;
                productosComplementarios.ToList().ForEach(x => { if (x.idSecuencia == 0)
                                                                 {
                                                                     this._tbProducto.tbProductoComplementario.Add(x);
                                                                 }
                                                          });

                this.DialogResult = System.Windows.Forms.DialogResult.OK;
            }
            else
            {
                MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#11
0
        private void SetearProducto(tbProducto _tbProducto)
        {
            long idEmpresa  = ((Empresa)cmbEmpresa.SelectedItem).idEmpresa;
            long idProducto = 0;

            txtCodigoProducto.Clear();
            txtDescripcionProducto.Clear();
            List <Precio> precios = new List <Precio>();

            if (idEmpresa == 0)
            {
                MessageBox.Show("Seleccione empresa", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (_tbProducto == null)
            {
                MessageBox.Show("Producto no existe", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                tbPrecio _tbPrecio = edmCosolemFunctions.getPrecio(idEmpresa, _tbProducto.idProducto);
                txtCodigoProducto.Text      = _tbProducto.codigoProducto;
                txtDescripcionProducto.Text = _tbProducto.descripcion;
                idProducto = _tbProducto.idProducto;
                if (_tbPrecio != null)
                {
                    precios.Add(new Precio {
                        codigoProducto = _tbProducto.codigoProducto, seleccionado = false, descripcionFormaPago = "Efectivo", precio = _tbPrecio.precioOferta
                    });
                    precios.Add(new Precio {
                        codigoProducto = _tbProducto.codigoProducto, seleccionado = false, descripcionFormaPago = "Crédito", precio = _tbPrecio.precioVentaPublico
                    });
                    precios.Add(new Precio {
                        codigoProducto = _tbProducto.codigoProducto, seleccionado = false, descripcionFormaPago = "Informativo", precio = _tbPrecio.precioInformativo
                    });

                    if (!String.IsNullOrEmpty(formaPago))
                    {
                        precios.Where(x => x.descripcionFormaPago == formaPago).FirstOrDefault().seleccionado = true;
                    }
                }
            }
            dgvPrecios.DataSource = precios;

            lvwInventario.Items.Clear();
            lvwInventario.Groups.Clear();

            List <clsInventarioGeneral> inventarioGeneral = edmCosolemFunctions.getInventarioGeneral(idEmpresa, idProducto);

            foreach (var tienda in inventarioGeneral.Select(x => new { idTienda = x.idTienda, descripcionTienda = x.descripcionTienda }).Distinct().ToList())
            {
                ListViewGroup grupo = new ListViewGroup(tienda.descripcionTienda);
                lvwInventario.Groups.Add(grupo);
                foreach (var bodega in inventarioGeneral.Where(x => x.idTienda == tienda.idTienda).Select(y => new { idBodega = y.idBodega, descripcionBodega = y.descripcionBodega, fisicoDisponible = y.fisicoDisponible, reservado = y.reservado, inventario = y.inventario }).ToList())
                {
                    ListViewItem subGrupo = new ListViewItem {
                        Tag = bodega.idBodega, Text = bodega.descripcionBodega, Group = grupo
                    };
                    subGrupo.SubItems.Add(bodega.fisicoDisponible.ToString());
                    subGrupo.SubItems.Add(bodega.reservado.ToString());
                    subGrupo.SubItems.Add(bodega.inventario.ToString());
                    lvwInventario.Items.Add(subGrupo);
                }
            }
        }