Exemple #1
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);
                }
            }
        }
Exemple #2
0
        private void tsbProcesar_Click(object sender, EventArgs e)
        {
            try
            {
                dgvProcesarPrecios_CellEndEdit(null, null);
                List <tbProcesarPrecio> _ListtbProcesarPrecio = ((List <tbProcesarPrecio>)dgvProcesarPrecios.DataSource).Where(x => x.seleccionado).ToList();

                string mensaje = String.Empty;

                if (_ListtbProcesarPrecio.Count == 0)
                {
                    mensaje += "Seleccione al menos 1 precio para proceder a procesarlo\n";
                }
                if (_ListtbProcesarPrecio.Where(x => x.costo <= 0 || x.indiceComercial <= 0 || x.indiceFinanciero <= 0 || x.indiceInformativo <= 0).Any())
                {
                    mensaje += "Hay productos seleccionados con costo, índice comercial, índice financiero o índice informativo menor o igual que 0, favor verificar\n";
                }


                if (String.IsNullOrEmpty(mensaje.Trim()))
                {
                    _ListtbProcesarPrecio.ForEach(x =>
                    {
                        tbProcesarPrecio _tbProcesarPrecio = (from PP in _dbCosolemEntities.tbProcesarPrecio where PP.idProcesarPrecio == x.idProcesarPrecio select PP).FirstOrDefault();
                        if (_tbProcesarPrecio != null)
                        {
                            _tbProcesarPrecio.procesarPrecio = false;
                            _tbProcesarPrecio.estadoRegistro = false;
                            _tbProcesarPrecio.fechaHoraUltimaModificacion = Program.fechaHora;
                            _tbProcesarPrecio.idUsuarioUltimaModificacion = idUsuario;
                            _tbProcesarPrecio.terminalUltimaModificacion  = Program.terminal;
                        }
                        _dbCosolemEntities.tbPrecio.Where(y => y.idEmpresa == idEmpresa && y.idProducto == x.idProducto && y.estadoRegistro).ToList().ForEach(z =>
                        {
                            z.estadoRegistro = false;
                            z.fechaHoraUltimaModificacion = Program.fechaHora;
                            z.idUsuarioUltimaModificacion = idUsuario;
                            z.terminalUltimaModificacion  = Program.terminal;
                            z.fechaHoraEliminacion        = Program.fechaHora;
                            z.idUsuarioEliminacion        = idUsuario;
                            z.terminalEliminacion         = Program.terminal;
                        });
                        tbPrecio _tbPrecio           = new tbPrecio();
                        _tbPrecio.idEmpresa          = idEmpresa;
                        _tbPrecio.idProducto         = x.idProducto;
                        _tbPrecio.costo              = x.costo;
                        _tbPrecio.precioOferta       = _tbPrecio.costo * x.indiceComercial;
                        _tbPrecio.precioVentaPublico = _tbPrecio.precioOferta * x.indiceFinanciero;
                        _tbPrecio.precioInformativo  = _tbPrecio.precioVentaPublico * x.indiceInformativo;
                        _tbPrecio.estadoRegistro     = true;
                        _tbPrecio.fechaHoraIngreso   = Program.fechaHora;
                        _tbPrecio.idUsuarioIngreso   = idUsuario;
                        _tbPrecio.terminalIngreso    = Program.terminal;
                        _dbCosolemEntities.tbPrecio.AddObject(_tbPrecio);
                    });
                    _dbCosolemEntities.SaveChanges();

                    MessageBox.Show("Registro grabado satisfactoriamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    frmPrecios_Load(null, null);
                }
                else
                {
                    MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                Util.MostrarException(this.Text, ex);
            }
        }