Пример #1
0
        List <ArticuloVenta> ObtenerListaArticulosAGuardar(ref decimal diferenciaPrecio)
        {
            List <ArticuloVenta> listaSinPaquetes = (from art in listaArticulosVenta where !art.EsPaquete select art).ToList();
            decimal    totalDetallePaquete        = 0;
            decimal    totalPaquete    = 0;
            var        consultaPaquete = from art in listaArticulosVenta where art.EsPaquete select art;
            clsPaquete cPaquete        = new clsPaquete();

            foreach (ArticuloVenta pqte in consultaPaquete)
            {
                cPaquete.pqt_codigo = pqte.CodigoArticulo;
                var detalles = cPaquete.TraerDetallePaquetes();
                totalPaquete += pqte.Precio;
                if (detalles == null)
                {
                    continue;
                }

                foreach (DataRow r in detalles.Tables[0].Rows)
                {
                    int          cantidad       = int.Parse(r.ItemArray[3].ToString());
                    string       claveArt       = r.ItemArray[0].ToString();
                    clsArticulos cArticulo      = new clsArticulos();
                    DataSet      articulo       = cArticulo.leerArticulosUnicoPorClave(claveArt);
                    decimal      precio         = decimal.Parse(articulo.Tables[0].Rows[0][10].ToString());
                    string       descripcionArt = articulo.Tables[0].Rows[0][1].ToString();
                    AgregarArticuloALista(claveArt, descripcionArt, cantidad, precio, false, ref listaSinPaquetes);
                    totalDetallePaquete += (precio * cantidad);
                }
            }
            diferenciaPrecio = totalDetallePaquete - totalPaquete;
            return(listaSinPaquetes);
        }
        public void CargarArticulos()
        {
            clsArticulos colArticulos = new clsArticulos();

            cbArticulos.DataSource = colArticulos.GetAll();
            cbArticulos.DataBind();

            colArticulos = null;
        }
        public void CargarArticulos()
        {
            clsArticulos colArticulos = new clsArticulos();

            cbArticulos.DataSource = colArticulos.GetAll();
            cbArticulos.DataBind();
            //ddlClientes.Items.Insert(0, new ListItem("[TODOS]", "0"));

            colArticulos = null;
        }
        private void btnBuscarArticulo_Click(object sender, EventArgs e)
        {
            string       dato     = txtCodigo.Text;
            clsArticulos artic    = new clsArticulos();
            DataSet      consulta = artic.BuscarArticulos(dato);

            if (consulta != null && consulta.Tables.Count > 0)
            {
                dgvProductos.DataSource = consulta.Tables[0];
            }
            else if (!string.IsNullOrEmpty(artic.mensaje))
            {
                MessageBox.Show(artic.mensaje, "¡Ocurrio un error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        void TraerArticulos()
        {
            clsArticulos artic    = new clsArticulos();
            DataSet      consulta = artic.leerArticulos();

            if (consulta != null && consulta.Tables.Count > 0)
            {
                dgvProductos.DataSource = consulta.Tables[0];
                dt = consulta.Tables[0];
            }
            else if (!string.IsNullOrEmpty(artic.mensaje))
            {
                MessageBox.Show(artic.mensaje, "¡Ocurrio un error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void CargarArticulos()
        {
            int PrvCod = 0;
            clsArticulos colArticulos = new clsArticulos();

            if (cboxProveedores.SelectedIndex != -1)
                PrvCod = int.Parse(cboxProveedores.SelectedValue);

            if (PrvCod == 0)
                cboxArticulos.DataSource = colArticulos.GetAll();
            else
                cboxArticulos.DataSource = colArticulos.GetArticulosByPrvCod(PrvCod);
            cboxArticulos.DataBind();
            cboxArticulos.Items.Insert(0, new ListItem("[TODOS]", "0"));
            colArticulos = null;
        }
Пример #7
0
        void TraerArticulos()
        {
            List <ArticuloVenta> articulosEncontrados = new List <ArticuloVenta>();
            string dato = txtDatoProducto.Text;

            clsArticulos artic             = new clsArticulos();
            DataSet      consultaArticulos = artic.leerArticulos();

            if (consultaArticulos != null && consultaArticulos.Tables.Count > 0)
            {
                foreach (DataRow r in consultaArticulos.Tables[0].Rows)
                {
                    articulosEncontrados.Add(ConvertirDataSetArticulo(r));
                }
            }

            clsPaquete paquete          = new clsPaquete();
            DataSet    consultaPaquetes = paquete.TraerDetallePaquetes();

            if (consultaPaquetes != null && consultaPaquetes.Tables.Count > 0)
            {
                foreach (DataRow r in consultaPaquetes.Tables[0].Rows)
                {
                    articulosEncontrados.Add(ConvertirDataSetPaquete(r));
                }
            }

            dgvProductos.AutoGenerateColumns = false;
            if (articulosEncontrados.Count > 0)
            {
                dgvProductos.DataSource = articulosEncontrados;
            }
            else if (!string.IsNullOrEmpty(artic.mensaje))
            {
                MessageBox.Show(artic.mensaje, "¡Ocurrio un error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public static String[] BuscarArticulos(string prefixText)
        {
            String[] sList = null;
            List<string> sArticuloList = new List<string>();
            clsArticulos lstArticulos = new clsArticulos();

            try
            {
                DataTable dtArticulos = lstArticulos.BuscarArticulos(prefixText);

                if (dtArticulos.Rows.Count > 0)
                {
                    for (int i = 0; i < dtArticulos.Rows.Count; i++)
                    {
                        sArticuloList.Add(AjaxControlToolkit.AutoCompleteExtender.
                          CreateAutoCompleteItem(dtArticulos.Rows[i]["ArtDescripcion"].ToString(), dtArticulos.Rows[i]["ArtCod"].ToString()));
                    }
                    sList = new String[10];
                    sList = sArticuloList.ToArray();
                }
                else
                {
                    sList = new String[1];
                    sList[0] = "Sin Resultados";
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                lstArticulos = null;
            }
            return sList;
        }
        private void EventoModificarProducto()
        {
            EventoLlenarLista();
            EventoLlenarListaProveedores();

            int linProCodigo;
            linProCodigo = (int)LeerVariableSesion("proCodigo");

            DataRow drArticulo;
            CArticulo objArticulo = new CArticulo();
            drArticulo = objArticulo.fnDatosArticulo(linProCodigo);

            Articulos oArticulo = new Articulos();
            clsArticulos lstArticulos = new clsArticulos();

            oArticulo = lstArticulos.GetArticulo(linProCodigo);
            this.AgregarVariableSession("oArticulo", oArticulo);

            if (drArticulo != null)
            {
                txtCodigo.Text = drArticulo["artCod"].ToString();
                txtDescripcion.Text = drArticulo["artDescripcion"].ToString();

                //grabamos el stock del producto
                decimal ldeStockProducto = 0;
                if (drArticulo["artStock"] != null)
                    ldeStockProducto = Convert.ToDecimal( drArticulo["artStock"]);

                txtStock.Text = ldeStockProducto.ToString();
                this.AgregarVariableSession("stockProducto", ldeStockProducto);

                //txtStockMax.Text = drArticulo["artStockMax"].ToString();
                //txtStockMin.Text = drArticulo["artStockMin"].ToString();
                txtFecVencimiento.Text = drArticulo["artFecVen"].ToString();
                txtCostoPromedio.Text = drArticulo["artCostoProm"].ToString();
                txtPeso.Text = drArticulo["artPeso"].ToString();
                chkestado.Checked = Convert.ToBoolean( drArticulo["artEstado"]);

                ListItem liElegido;
                //si DropDownList está visible
                if (ddlUnidadMedida.Items.Count > 0)
                {
                    liElegido = ddlUnidadMedida.Items.FindByValue(drArticulo["UniCod"].ToString());
                    ddlUnidadMedida.SelectedIndex = ddlUnidadMedida.Items.IndexOf(liElegido);
                }

                ListItem liElegidoProveedor;
                //si DropDownList está visible
                if (ddlProveedor.Items.Count > 0)
                {
                    liElegidoProveedor = ddlProveedor.Items.FindByValue(drArticulo["PrvCod"].ToString());
                    ddlProveedor.SelectedIndex = ddlProveedor.Items.IndexOf(liElegidoProveedor);
                }

                //CONSULTAR PRECIOS Y LOTES DEL PRODUCTO
                MostrarPreciosLotes(linProCodigo);

                //MODIFICAR , se guarda en variable cache
                AgregarVariableSession("operacion", 2);
                pnlBusqueda.Visible = false;
                pnlProductos.Visible = false;
                pnlEditProductos.Visible = true;
                pnlListaPrecios.Visible = true;
                pnlDetallePrecio.Visible = false;
                lblMensajes.Visible = false;

                btnNuevoPrecio.Visible = true;
            }
        }
Пример #10
0
        void BuscarProducto()
        {
            if (string.IsNullOrEmpty(txtClaveProducto.Text))
            {
                return;
            }

            string[] cantidadCodigo = txtClaveProducto.Text.Split('*');
            int      cantidad       = 0;
            string   codigo         = "";

            if (cantidadCodigo.Length > 1)
            {
                if (!int.TryParse(cantidadCodigo[0], out cantidad))
                {
                    cantidad = 1;
                }
                codigo = cantidadCodigo[1];
            }
            else
            {
                cantidad = 1;
                codigo   = cantidadCodigo[0];
            }

            clsArticulos articulos = new clsArticulos();

            articulos.art_codbar = codigo;
            DataSet respuesta = articulos.leerArticulosUnicoPorCodigoBarras();

            bool articuloEncontrado = false;
            bool esPaquete          = false;

            if (!string.IsNullOrEmpty(articulos.mensaje))
            {
                MessageBox.Show(articulos.mensaje, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            articuloEncontrado = respuesta != null && respuesta.Tables[0].Rows.Count > 0;

            if (!articuloEncontrado)
            {
                respuesta          = articulos.leerArticulosUnicoPorClave(codigo);
                articuloEncontrado = respuesta != null && respuesta.Tables[0].Rows.Count > 0;
            }

            if (!articuloEncontrado)
            {
                clsPaquete cPaquete = new clsPaquete();
                respuesta          = cPaquete.TraerPaqueteUnicoPorClave(codigo);
                articuloEncontrado = respuesta != null && respuesta.Tables[0].Rows.Count > 0;
                esPaquete          = articuloEncontrado;
            }

            if (!articuloEncontrado)
            {
                txtClaveProducto.Text = "";
                return;
            }

            string  clavearticulo  = esPaquete ? respuesta.Tables[0].Rows[0][1].ToString() : respuesta.Tables[0].Rows[0][0].ToString();
            string  codigoBarras   = esPaquete ? respuesta.Tables[0].Rows[0][1].ToString() : respuesta.Tables[0].Rows[0][20].ToString();
            string  nombreArticulo = esPaquete ? respuesta.Tables[0].Rows[0][4].ToString() : respuesta.Tables[0].Rows[0][1].ToString();
            decimal precio         = esPaquete ? decimal.Parse(respuesta.Tables[0].Rows[0][5].ToString()) : decimal.Parse(respuesta.Tables[0].Rows[0][10].ToString());

            AgregarVentaArticulo(clavearticulo, nombreArticulo, cantidad, precio, esPaquete);
            CalcularMontos();
            txtClaveProducto.Text = "";
        }
Пример #11
0
        private void IniciarCamposArticulos()
        {
            LimpiarCamposArticulos();

            txtArtPreUnitario.Attributes.Add("onFocus", "JavaScript:this.select();");
            txtArtDescuento.Attributes.Add("onFocus", "JavaScript:this.select();");
            txtArtCant.Attributes.Add("onFocus", "JavaScript:this.select();");

            clsProveedores lstProveedor = new clsProveedores();
            ddlLaboratorios.DataSource = lstProveedor.GetAll();
            ddlLaboratorios.DataBind();
            ddlLaboratorios.Items.Insert(0, new ListItem("Todos", "-1"));

            clsArticulos oArticulos = new clsArticulos();
            lsbArticulos.DataSource = oArticulos.GetArticulosStock();
            lsbArticulos.DataBind();

            if (lsbArticulos.Items.Count == 0)
            {
                lsbArticulos.Items.Add(new ListItem("No existen Articulos en Stock", "0"));
            }
        }
Пример #12
0
        protected void ddlLaboratorios_SelectedIndexChanged(object sender, EventArgs e)
        {
            clsArticulos colArticulos = new clsArticulos();
            int PrvCod = Int32.Parse(ddlLaboratorios.SelectedValue);

            if (PrvCod == -1)
                lsbArticulos.DataSource = colArticulos.GetArticulosStock();
            else
                lsbArticulos.DataSource = colArticulos.GetArticulosStockByPrvCod(PrvCod);
            lsbArticulos.DataBind();
            if (lsbArticulos.Items.Count == 0)
            {
                lsbArticulos.Items.Add(new ListItem("Sin Articulos en Stock", "0"));
            }
            colArticulos = null;

            if (lsbArticulos.SelectedIndex >= 0)
                lsbArticulos_SelectedIndexChanged(sender, e);

            ModalPopupAgregar.Show();
        }
        protected void btnAgregarArticulo_Click(object sender, EventArgs e)
        {
            DataTable dtDetalleCompra;
            DataRow NewRow;
            bool bExiste = false;
            double nPrecio = 0.0;
            double nCantidad = 0.0;
            double nDescuento = 0.0;
            double nTotal = 0.0;
            string cMensaje = "";

            clsListaPrecios lstPrecios = new clsListaPrecios();
            clsArticulos colArticulos = new clsArticulos();
            ListaPrecios oPrecio = new ListaPrecios();

            try
            {
                if (ValidarDatos("ART",ref cMensaje))
                {
                    //AGREGAMOS ARTICULO A LISTA DE ARTICULOS
                    dtDetalleCompra = g_dtDetOperacion;

                    if (dtDetalleCompra.Rows.Count > 0)
                    {
                        for (int i = 0; i < dtDetalleCompra.Rows.Count; i++)
                        {
                            if (dtDetalleCompra.Rows[i]["ArtCod"].ToString() == txtArtCod.Text)
                            {
                                nPrecio = Double.Parse(dtDetalleCompra.Rows[i]["dtpPrecioVen"].ToString());
                                nCantidad = Double.Parse(dtDetalleCompra.Rows[i]["dtpCantidad"].ToString()) + double.Parse(txtArtCant.Text);
                                nTotal = Double.Parse(dtDetalleCompra.Rows[i]["dtpSubTotal"].ToString());
                                nTotal += Double.Parse(txtImpTotal.Text);
                                nDescuento = 100 - ((100 * nTotal) / (nPrecio * nCantidad));

                                dtDetalleCompra.Rows[i]["dtpCantidad"] = nCantidad.ToString();
                                dtDetalleCompra.Rows[i]["dtpDscto"] = nDescuento;
                                dtDetalleCompra.Rows[i]["dtpSubTotal"] = nTotal.ToString();
                                i = dtDetalleCompra.Rows.Count + 10;
                                bExiste = true;
                            }
                        }
                    }

                    if (!bExiste)
                    {
                        NewRow = dtDetalleCompra.NewRow();
                        NewRow["ArtCod"] = txtArtCod.Text;
                        NewRow["ArtPeso"] = colArticulos.GetArticulo(int.Parse(txtArtCod.Text)).ArtPeso;
                        NewRow["LotNro"] = txtLotNro.Text;
                        NewRow["ArtDescripcion"] = lsbArticulos.SelectedItem.Text;
                        NewRow["UniAbrev"] = txtArtUniMed.Text;
                        NewRow["dtpCantidad"] = txtArtCant.Text;
                        NewRow["dtpPrecioVen"] = txtArtPreUnitario.Text;
                        if (ddlTipDcto.SelectedValue == "%")
                            NewRow["dtpDscto"] = txtArtDescuento.Text;
                        else
                            NewRow["dtpDscto"] = (double.Parse(txtArtDescuento.Text) * 100) / (double.Parse(txtArtPreUnitario.Text) * double.Parse(txtArtCant.Text));
                        NewRow["dtpSubTotal"] = txtImpTotal.Text;
                        dtDetalleCompra.Rows.Add(NewRow);
                    }

                    CalcularPago(dtDetalleCompra);
                    g_dtDetOperacion = dtDetalleCompra;
                    RellenarGrilla(ref dgvDetalleVenta, dtDetalleCompra, this.nNroDetPed);
                }
                else
                {
                    ModalPopupAgregar.Show();
                    MessageBox(cMensaje);
                }

            }
            catch (Exception ex)
            {
                MessageBox(ex.Message);
            }
            lstPrecios = null;
            oPrecio = null;
        }
        private void IniciarCamposArticulos(string cTipo = "NORMAL")
        {
            LimpiarCamposArticulos();

            lblEstadoVenArticulo.Value = cTipo;
            txtArtPreUnitario.Attributes.Add("onFocus", "JavaScript:this.select();");
            txtArtDescuento.Attributes.Add("onFocus", "JavaScript:this.select();");
            txtArtCant.Attributes.Add("onFocus", "JavaScript:this.select();");
            txtImpTotal.Attributes.Add("onFocus", "JavaScript:this.select();");

            clsProveedores lstProveedores = new clsProveedores();
            ddlLaboratorios.DataSource = lstProveedores.GetAll();
            ddlLaboratorios.DataBind();
            ddlLaboratorios.Items.Insert(0,new ListItem("Todos", "-1"));

            clsArticulos oArticulos = new clsArticulos();
            lsbArticulos.DataSource = oArticulos.GetAll();
            lsbArticulos.DataBind();

            if (lsbArticulos.Items.Count == 0) {
                lsbArticulos.Items.Add(new ListItem("No existen Articulos en Stock","0"));
            }

            if (cTipo == "ESPECIAL")
            {
                TablaArtLeft.Visible = false;

                txtArtPreUnitario.Enabled = true;
                txtArtCant.Enabled = false;
                txtLotVenci.Enabled = false;
                btnGuardarPrecio.Visible = true;
                btnAgregarArticulo.Visible = false;
            }
            else {
                TablaArtLeft.Visible = true;

                txtArtCant.Enabled = true;
                txtLotVenci.Enabled = true;
                btnGuardarPrecio.Visible = false;
                btnAgregarArticulo.Visible = true;
            }
        }
        protected void lsbArticulos_SelectedIndexChanged(object sender, EventArgs e)
        {
            int ArtCod = 0;
            int LotNro = 0;
            double LprPrecio = 0.0;
            double LprDscto = 0.0;

            if (lsbArticulos.SelectedValue != "")
                ArtCod = int.Parse(lsbArticulos.SelectedValue);

            clsArticulos lstArticulos = new clsArticulos();
            clsListaPrecios lstPrecios = new clsListaPrecios();
            clsLotesArt lstLotesArt = new clsLotesArt();
            Articulos oArticulo = new Articulos();
            ListaPrecios oPrecio = new ListaPrecios();

            oPrecio = lstPrecios.GetArticuloPrecio(ArtCod);
            oArticulo = lstArticulos.GetArticulo(ArtCod);

            if (oArticulo != null) {
                txtArtCod.Text = oArticulo.ArtCod.ToString();
                txtArtUniMed.Text = oArticulo.Unidades.UniDescripcion;
                txtStockFact.Text = oArticulo.ArtStockFac.ToString();
                txtStockFis.Text = oArticulo.ArtStock.ToString();
                txtArtDescuento.Text = (oArticulo.Proveedores.PrvDscto).ToString();
                ddlTipDcto.SelectedValue = "%";
                txtLotVenci.Text = DateTime.Now.AddDays(30).ToString("yyyy-MM-dd");
                ddlLaboratorios.SelectedValue = oArticulo.PrvCod.ToString();
                hideStockLote.Value = lstLotesArt.GetLoteArtStock(ArtCod).ToString();

                if (oArticulo.ArtStock <= 0)
                {
                    txtStockFis.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    txtStockFis.ForeColor = System.Drawing.Color.Gray;
                }

                if (oPrecio == null)
                {
                    txtArtPreUnitario.Text = "0.0";
                }
                else
                {
                    txtArtPreUnitario.Text = oPrecio.LprPrecio.ToString();
                }

                if (BuscarArticulo(oArticulo.ArtCod, ref LotNro, ref LprPrecio, ref LprDscto))
                {
                    if (lblEstadoVenArticulo.Value == "NORMAL")
                        txtArtPreUnitario.Enabled = false;
                    else
                        txtArtPreUnitario.Enabled = true;
                    txtLotNro.Enabled = false;
                    txtLotNro.Text = LotNro.ToString();
                    txtArtPreUnitario.Text = LprPrecio.ToString();
                }
                else
                {
                    txtArtPreUnitario.Enabled = true;
                    txtLotNro.Enabled = true;
                    LotNro = lstLotesArt.MaxLotNro(ArtCod);
                    txtLotNro.Text = (LotNro + 1).ToString();
                }
                if (lblEstadoVenArticulo.Value == "NORMAL")
                    txtArtCant.Text = "1";
            }
            else
                LimpiarCamposArticulos();

            txtImpTotal.Text = "0.0";

            lstArticulos = null;
            oArticulo = null;
            lstPrecios = null;
            oPrecio = null;
            lstLotesArt = null;

            CalcularTotalArticulo();
            lsbArticulos.Focus();
        }
        protected void ddlLaboratorios_SelectedIndexChanged(object sender, EventArgs e)
        {
            clsArticulos oArticulos = new clsArticulos();
            int PrvCod =Int32.Parse(ddlLaboratorios.SelectedValue);

            if (PrvCod == -1)
                lsbArticulos.DataSource = oArticulos.GetAll();
            else
                lsbArticulos.DataSource = oArticulos.GetArticulosByPrvCod(PrvCod);
            lsbArticulos.DataBind();
            if (lsbArticulos.Items.Count == 0)
            {
                lsbArticulos.Items.Add(new ListItem("Este Proveedor no tiene Articulos", "0"));
            }
            oArticulos = null;
            ModalPopupAgregar.Show();
        }
Пример #17
0
        protected void lsbArticulos_SelectedIndexChanged(object sender, EventArgs e)
        {
            nTasIGV = double.Parse(lblTasIGV.Value);
            int ArtCod = 0;
            int PrvCod = 0;
            int LotNro = 0;
            double LprPrecio = 0.0;
            double LprDscto = 0.0;
            double nPrecio = 0.0;
            ArtCod = int.Parse(lsbArticulos.SelectedValue);
            PrvCod = int.Parse(ddlLaboratorios.SelectedValue);

            txtLotVenci.Text = "";
            txtLotNro.Text = "";
            txtLotStock.Text = "0";

            clsArticulos lstArticulos = new clsArticulos();
            clsListaPrecios lstPrecios = new clsListaPrecios();
            clsLotesArt lstLotesArt = new clsLotesArt();
            Articulos oArticulo = new Articulos();
            ListaPrecios oPrecio = new ListaPrecios();
            LotesArt oLoteArt = new LotesArt();

            txtLotNro.Enabled = false;
            txtLotVenci.Enabled = false;
            txtLotStock.Enabled = false;
            txtArtDescuento.Enabled = true;

            oPrecio = lstPrecios.GetArticuloPrecio(ArtCod);
            oLoteArt = lstLotesArt.GetLoteArt(ArtCod);

            //oLoteArt.ListaPrecios.Articulos

            oArticulo = lstArticulos.GetArticulo(ArtCod);
            if (oArticulo != null)
            {
                txtArtCod.Text = oArticulo.ArtCod.ToString();
                txtArtUniMed.Text = oArticulo.Unidades.UniDescripcion;
                txtStockFact.Text = oArticulo.ArtStockFac.ToString();
                txtStockFis.Text = oArticulo.ArtStock.ToString();
                hideStockLote.Value = lstLotesArt.GetLoteArtStock(ArtCod).ToString();

                if (oLoteArt != null)
                {
                    txtLotNro.Text = oLoteArt.LotNro.ToString();
                    txtLotStock.Text = oLoteArt.LotStock.ToString();
                    if (oLoteArt.LotFecVenci != null)
                        txtLotVenci.Text = ((DateTime)oLoteArt.LotFecVenci).ToString("yyyy-MM-dd");
                }

                if (oArticulo.ArtStock <= 0)
                    txtStockFis.ForeColor = System.Drawing.Color.Red;
                else
                    txtStockFis.ForeColor = System.Drawing.Color.Gray;

                txtArtPreUnitario.Text = lstPrecios.GetCostoPromedio(ArtCod, nTasIGV).ToString();

                //if (oPrecio == null)
                //    txtArtPreUnitario.Text = "0.0";
                //else
                //{
                //    nPrecio = (double)oPrecio.LprPrecio;
                //    var nDcto = Math.Round((nPrecio * (double)oPrecio.LprDscto / 100), 2);
                //    nPrecio -= nDcto;
                //    var nFlete = Math.Round(nPrecio / 100, 2);
                //    nPrecio += nFlete;
                //    var nIgv = Math.Round(nPrecio * nTasIGV, 2);
                //    nPrecio += nIgv;
                //    if (oArticulo.Proveedores.PrvGanancia != 0)
                //        nPrecio = Math.Round((nPrecio * (double)oArticulo.Proveedores.PrvGanancia), 2);
                //    txtArtPreUnitario.Text = nPrecio.ToString();
                //}

                if (BuscarArticulo(oArticulo.ArtCod, ref LotNro, ref LprPrecio, ref LprDscto))
                {
                    txtArtDescuento.Enabled = false;
                    txtArtDescuento.Text = LprDscto.ToString();
                }
                else
                {
                    txtArtDescuento.Enabled = true;
                    txtArtDescuento.Text = "0";
                }
                txtArtCant.Text = "1";
            }
            else
                txtArtCant.Text = "0";

            txtImpTotal.Text = "0.0";

            lstArticulos = null;
            oArticulo = null;
            lstPrecios = null;
            oPrecio = null;

            CalcularTotalArticulo();
            lsbArticulos.Focus();
        }
Пример #18
0
        protected void lsbArticulos_SelectedIndexChanged(object sender, EventArgs e)
        {
            nTasIGV = double.Parse(lblTasIGV.Value);
            int ArtCod = 0;
            int PrvCod = 0;
            int LotNro = 0;
            double LprPrecio = 0.0;
            double LprDscto = 0.0;
            double nTipCam = g_nTipoCambio;

            //VARIABLES PARA TOMAR PRECIO SIN CALCULAR FLETE  E  IGV
            DateTime dLotFecRegis = DateTime.Today;
            int nLotNro;
            double nLprPrecio = 0.0;

            ArtCod = int.Parse(lsbArticulos.SelectedValue);
            PrvCod = int.Parse(ddlLaboratorios.SelectedValue);

            txtLotVenci.Text = "";
            txtLotNro.Text = "";
            txtLotStock.Text = "0";

            clsArticulos lstArticulos = new clsArticulos();
            clsLotesArt lstLotesArt = new clsLotesArt();
            Articulos oArticulo = new Articulos();
            LotesArt oLoteArt = new LotesArt();

            txtLotNro.Enabled = false;
            txtLotVenci.Enabled = false;
            txtLotStock.Enabled = false;
            txtArtDescuento.Enabled = true;

            oLoteArt = lstLotesArt.GetLoteArt(ArtCod);

            if (oLoteArt != null)
            {
                nLotNro = oLoteArt.LotNro;
                if (oLoteArt.LotFecModi.HasValue)
                    dLotFecRegis = oLoteArt.LotFecRegis.Value;

                if (oLoteArt.LotPrecioVen.HasValue)
                    nLprPrecio = (double)oLoteArt.LotPrecioVen;
            }
            else
                nLotNro = 0;

            oArticulo = lstArticulos.GetArticulo(ArtCod);
            nLprPrecio = (double)oArticulo.ArtCostoProm;

            if (oArticulo != null)
            {
                txtArtCod.Text = oArticulo.ArtCod.ToString();
                txtArtUniMed.Text = oArticulo.Unidades.UniDescripcion;
                txtStockFact.Text = oArticulo.ArtStockFac.ToString();
                txtStockFis.Text = oArticulo.ArtStock.ToString();
                hideStockLote.Value = lstLotesArt.GetLoteArtStock(ArtCod).ToString();

                if (oLoteArt != null)
                {
                    txtLotNro.Text = oLoteArt.LotNro.ToString();
                    txtLotStock.Text = oLoteArt.LotStock.ToString();
                    if (oLoteArt.LotFecVenci != null)
                        txtLotVenci.Text = ((DateTime)oLoteArt.LotFecVenci).ToString("yyyy-MM-dd");
                    else
                        txtLotVenci.Text = DateTime.Today.ToString("yyyy-MM-dd");

                }

                if (oArticulo.ArtStock <= 0)
                    txtStockFis.ForeColor = System.Drawing.Color.Red;
                else
                    txtStockFis.ForeColor = System.Drawing.Color.Gray;

                //if (nLotNro == 1 && DateTime.Compare(dLotFecRegis, DateTime.Parse("2013-04-09")) == 0)
                //    txtArtPreUnitario.Text = Math.Round(((nLprPrecio * (double)oArticulo.Proveedores.PrvGanancia) / nTipCam), 2).ToString();
                //else
                //    txtArtPreUnitario.Text = Math.Round((lstPrecios.GetCostoPromedio(ArtCod, nTasIGV) / nTipCam), 2).ToString();

                /////Cambio hecho 06-06-2013 se desea q se muestre elprecio venta q se ve en  el modulo almacen -articulos///
                //////////silvia////////////////////////////////////////////////////////////////////////////////////////////
                txtArtPreUnitario.Text = Math.Round(((nLprPrecio) / nTipCam), 2).ToString("0.00");
                ////////////////////////////////////////////////////////////////////////////////////////////////////////////

                //txtArtPreUnitario.Text = Math.Round((lstPrecios.GetCostoPromedio(ArtCod, nTasIGV) / nTipCam), 2).ToString();

                if (BuscarArticulo(oArticulo.ArtCod, ref LotNro, ref LprPrecio, ref LprDscto))
                {
                    txtArtDescuento.Enabled = false;
                    txtArtDescuento.Text = LprDscto.ToString();
                }
                else
                {
                    txtArtDescuento.Enabled = true;
                    txtArtDescuento.Text = "0";
                }
                txtArtCant.Text = "1";
            }
            else
                txtArtCant.Text = "0";

            txtImpTotal.Text = "0.0";

            lstArticulos = null;
            oArticulo = null;

            CalcularTotalArticulo();
            lsbArticulos.Focus();
        }