public frmPRODUCTOBALANZA(string modo, PRODUCTO entidad)
        {
            InitializeComponent();
            modoForm = modo;
            botoneraOkCancel.Modo = modo;
            ePRODUCTO = entidad;

            ePARAMETRO = cPARAMETRO.ObtenerTodos();
        }
 private void AbreForm(string modo, PRODUCTO entidad)
 {
     var form = new frmPRODUCTO(modo, entidad, true);
     var drResultado = form.ShowDialog();
     if (drResultado == DialogResult.OK)
     {
         LlenaGrilla();
     }
 }
 public frmPRODUCTO(string modo, PRODUCTO entidad, USUARIO Usuario, string formLlama)
 {
     InitializeComponent();
     modoForm = modo;
     botoneraOkCancel.Modo = modo;
     ePRODUCTO = entidad;
     oUsuario = Usuario;
     formularioLlama = formLlama;
 }
 private void btnAlta_Click(object sender, EventArgs e)
 {
     try
     {
         var entidad = new PRODUCTO();
         AbreForm("A", entidad);
     }
     catch (Exception ex)
     {
         ProcesarExcepcion(ex);
     }
 }
        private void CargaProducto(PRODUCTO oPRODUCTO)
        {
            picProducto.ImageLocation = oPRODUCTO.PRO_IMAGEN;
            picProducto.SizeMode = PictureBoxSizeMode.StretchImage;

            if (oPRODUCTO.PRO_ESTADOPROMO == true)
            {
                txtPromocion.Visible = true;
                lblPrecio.Text = "$ " + Convert.ToDecimal(oPRODUCTO.PRO_PRECIOPROMO).ToString("0.00");
            }
            else
            {
                txtPromocion.Visible = false;
                lblPrecio.Text = "$ " + Convert.ToDecimal(oPRODUCTO.PRO_PRECIOVTA).ToString("0.00");
            }

            lblDescripcionResumida.Text = oPRODUCTO.PRO_DESCRECUMIDA;
        }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet PRODUCTO. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToPRODUCTO(PRODUCTO pRODUCTO)
 {
     base.AddObject("PRODUCTO", pRODUCTO);
 }
Example #7
0
        private void ControlaStock(PRODUCTO oProducto, CATEGORIA_PRODUCTO oCategoria, ENVASE oEnvase)
        {
            if (!eParametro.PAR_VTA_STOCKSEMAFORO)
            {
                return;
            }

            if (oCategoria != null)
            {
                txtEstadoStock.BackColor = Color.White;
                txtEstadoStock.Visible =
                txtEstadoStock.Visible = false;
                return;
            }

            if (oEnvase != null)
            {
                txtEstadoStock.BackColor = Color.White;
                txtEstadoStock.Visible =
                txtEstadoStock.Visible = false;
                return;
            }

            txtEstadoStock.Visible =
            txtEstadoStock.Visible = true;

            var stockActual = oProducto.PRO_STOCKACTUAL;
            var stockMinimo = oProducto.PRO_STOCKMINIMO;
            var stock50delMinimo = (int)(stockMinimo / 2);

            ToolTip toolTip = new ToolTip();
            toolTip.SetToolTip(txtEstadoStock, string.Format("Stock Actual: {0} ", stockActual));

            //si se encuentra arriba del minimo esta en verde
            //si se encuentra menor al minimo y mayor al 50% del minimo en naranja
            //si se encuentra menor al 50% del minimo en rojo
            if (stockActual > stockMinimo)
            {
                txtEstadoStock.BackColor = Color.Green;
                return;
            }

            if (stockActual <= stockMinimo && stockActual >= stock50delMinimo)
            {
                txtEstadoStock.BackColor = Color.Orange;
                return;
            }

            if (stockActual < stock50delMinimo)
            {
                txtEstadoStock.BackColor = Color.Red;
                return;
            }
        }
Example #8
0
        public frmARQUEO(PRODUCTO entidad)
        {
            InitializeComponent();

            ePRODUCTO = entidad;
        }
 private void ControlaEnvase(PRODUCTO oPRODUCTO)
 {
     if (oPRODUCTO.ENV_ID != null) //controlo el envase
     {
         //consulto si trajo el envase
         var rta = MostrarMensajePreguntaSI_NO(string.Format("El producto {0} posee envase.\n Trajo el envase?", oPRODUCTO.PRO_DESCRIPCION));
         if (!rta) //Si no trajo envase hay que cobrarlo
         {
             LlenarLineaEnGrilla(null, null, null, oPRODUCTO.ENVASE);
             Nuevo_Item();
         }
     }
 }
Example #10
0
 public PRODUCTO AltaConRetorno(PRODUCTO entidad)
 {
     return mPRODUCTOS.AltaConRetorno(entidad);
 }
Example #11
0
 public void Alta(PRODUCTO entidad)
 {
     mPRODUCTOS.Alta(entidad);
 }
        private void btnImportar_Click(object sender, EventArgs e)
        {
            try
            {
                int alta = 0;
                int modifica = 0;

                using (TransactionScope TRANSACCION = new TransactionScope())
                {
                    if (dgvGrilla.Rows.Count > 0)
                    {
                        foreach (DataGridViewRow Row in dgvGrilla.Rows)
                        {
                            //ACTUALIZO EN LA BASE
                            if (Row.Cells[0].Value != null)
                            {
                                var oProducto = cPRODUCTO.ObtenerPorID(Convert.ToInt32(Row.Cells[0].Value.ToString()));

                                if (oProducto != null)
                                {
                                    //Actualiza precios
                                    oProducto.PRO_COSTO = Convert.ToDecimal(Row.Cells["PRO_COSTO"].Value.ToString());
                                    oProducto.PRO_ESTADOPROMO = Convert.ToBoolean(Row.Cells["PRO_ESTADOPROMO"].Value.ToString());
                                    oProducto.PRO_ESTADOIMPETIQUETA = true;
                                    oProducto.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(Row.Cells["PRO_MARGENGANACIAESTIMADA"].Value.ToString());
                                    oProducto.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(Row.Cells["PRO_MARGENGANANCIAREAL"].Value.ToString());
                                    oProducto.PRO_MARGENPROMO = Convert.ToDecimal(Row.Cells["PRO_MARGENPROMO"].Value.ToString());
                                    oProducto.PRO_PRECIOVTA = Convert.ToDecimal(Row.Cells["PRO_PRECIOVTA"].Value.ToString());
                                    oProducto.PRO_PRECIOPROMO = Convert.ToDecimal(Row.Cells["PRO_PRECIOPROMO"].Value.ToString());
                                    // oProducto.PRO_IMAGEN = Row.Cells["PRO_IMAGEN"].Value.ToString();
                                    oProducto.PRO_BARRAS = Row.Cells["PRO_BARRAS"].Value.ToString();
                                    oProducto.PRO_DESCRECUMIDA = Row.Cells["PRO_DESCRECUMIDA"].Value.ToString();
                                    oProducto.PRO_DESCRIPCION = Row.Cells["PRO_DESCRIPCION"].Value.ToString();

                                    //cambia la categoria
                                    if (oProducto.PRO_COD_INTERNO != Row.Cells["PRO_COD_INTERNO"].Value.ToString())
                                    {
                                        oProducto.CATEGORIA_PRODUCTO.CAT_CODIGO_ULT_PROD += 1;
                                    }
                                    oProducto.PRO_COD_INTERNO = Row.Cells["PRO_COD_INTERNO"].Value.ToString();
                                    cPRODUCTO.Modificacion(oProducto);
                                    modifica += 1;
                                }
                                else
                                {
                                    //Crea un nuevo procto
                                    PRODUCTO ePRODUCTO = new PRODUCTO();
                                    if (Row.Cells["PRO_CODBALANZA"].Value.ToString() != "")
                                    {
                                        ePRODUCTO.PRO_BARRAS = null;
                                        ePRODUCTO.PRO_CODBALANZA = Row.Cells["PRO_CODBALANZA"].Value.ToString();
                                        ePRODUCTO.PRO_GRANEL = false;
                                    }
                                    else
                                    {
                                        if (Convert.ToBoolean(Row.Cells["PRO_GRANEL"].Value) == true)
                                        {
                                            ePRODUCTO.PRO_BARRAS = Row.Cells["PRO_BARRAS"].Value.ToString();
                                            ePRODUCTO.PRO_CODBALANZA = null;
                                            ePRODUCTO.PRO_GRANEL = true;
                                        }
                                        else
                                        {
                                            ePRODUCTO.PRO_BARRAS = Row.Cells["PRO_BARRAS"].Value.ToString();
                                            ePRODUCTO.PRO_CODBALANZA = null;
                                            ePRODUCTO.PRO_GRANEL = false;
                                        }
                                    }

                                    ePRODUCTO.PRO_DESCRIPCION = Row.Cells["PRO_DESCRIPCION"].Value.ToString();
                                    ePRODUCTO.CAT_ID = Convert.ToInt32(Row.Cells["CAT_ID"].Value);
                                    ePRODUCTO.TUNI_ID = Convert.ToInt32(Row.Cells["TUNI_ID"].Value);
                                    ePRODUCTO.PRO_DESCRECUMIDA = Row.Cells["PRO_DESCRECUMIDA"].Value.ToString();
                                    ePRODUCTO.PRO_COSTO = Convert.ToDecimal(Row.Cells["PRO_COSTO"].Value);
                                    ePRODUCTO.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(Row.Cells["PRO_MARGENGANANCIAREAL"].Value);
                                    ePRODUCTO.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(Row.Cells["PRO_MARGENGANACIAESTIMADA"].Value);
                                    ePRODUCTO.TIVA_ID = Convert.ToInt32(Row.Cells["TIVA_ID"].Value);
                                    ePRODUCTO.PRO_PRECIOVTA = Convert.ToDecimal(Row.Cells["PRO_PRECIOVTA"].Value);
                                    if (Row.Cells["ENV_ID"].Value.ToString() != "")
                                    {
                                        ePRODUCTO.ENV_ID = Convert.ToInt32(Row.Cells["ENV_ID"].Value);
                                    }
                                    ePRODUCTO.PRO_ESTADOPROMO = Convert.ToBoolean(Row.Cells["PRO_ESTADOPROMO"].Value);
                                    ePRODUCTO.PRO_MARGENPROMO = Convert.ToDecimal(Row.Cells["PRO_MARGENPROMO"].Value);
                                    if (Row.Cells["PRO_PRECIOPROMO"].Value.ToString() != "")
                                    {
                                        ePRODUCTO.PRO_PRECIOPROMO = Convert.ToDecimal(Row.Cells["PRO_PRECIOPROMO"].Value);
                                    }
                                    ePRODUCTO.PRO_STOCKACTUAL = Convert.ToDecimal(Row.Cells["PRO_STOCKACTUAL"].Value);
                                    ePRODUCTO.PRO_STOCKMINIMO = Convert.ToDecimal(Row.Cells["PRO_STOCKMINIMO"].Value);
                                    ePRODUCTO.PRO_ESTADOIMPETIQUETA = true;
                                    ePRODUCTO.PRO_SEGUIMIENTOSTOCK = Convert.ToBoolean(Row.Cells["PRO_SEGUIMIENTOSTOCK"].Value);
                                    // ePRODUCTO.PRO_IMAGEN = Row.Cells["PRO_IMAGEN"].Value.ToString();

                                    ePRODUCTO.PRO_ESTADO = Convert.ToBoolean(Row.Cells["PRO_ESTADO"].Value);

                                    //cambia la categoria
                                    if (ePRODUCTO.PRO_COD_INTERNO != Row.Cells["PRO_COD_INTERNO"].Value.ToString())
                                    {
                                        var categoria = cCATEGORIA_PRODUCTOS.ObtenerPorID(Convert.ToInt32(Row.Cells["CAT_ID"].Value));
                                        categoria.CAT_CODIGO_ULT_PROD += 1;
                                        cCATEGORIA_PRODUCTOS.Modificacion(categoria);
                                    }
                                    ePRODUCTO.PRO_COD_INTERNO = Row.Cells["PRO_COD_INTERNO"].Value.ToString();

                                    cPRODUCTO.Alta(ePRODUCTO);
                                    alta += 1;
                                    break;
                                }
                            }
                        }
                    }

                    TRANSACCION.Complete();
                }

                MostrarMensajeInformativo("Se modificaron:" + modifica + "productos .Se dieron de alta:" + alta + "productos .El proceso terminado con éxito.");
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
            }
        }
Example #13
0
        private void txtCodigoBalanza_Leave(object sender, EventArgs e)
        {
            try
            {
                if (rdbBalanza.Checked == true)
                {
                    if (txtCodigoBalanza.Text != "")
                    {
                        if (modoForm == "A")
                        {
                            var prod = cPRODUCTO.ObtenerPorCodigoDeBalanza(txtCodigoBalanza.Text);
                            if (prod != null)
                            {
                                CONTROLADORA.cARMA_BOTONERA cBOTONERA = CONTROLADORA.cARMA_BOTONERA.ObtenerInstancia();
                                //SI EL PRODUCTO EXISTE
                                //MUESTRA CARTEL DE EXISTENCIA Y SI TIENE PERMISO DE MODIFICAR MUESTRA CARTEL SI DESEA MODIFICARLO
                                //SI ES NO BLANQUEA FRM Y SE POCISIONA EN TXT CODIGO SEGUN EL RADIO BUTON SELECCIONADO
                                //SI ES SI CARGA EL FORMULARIO PARA LA MODIFICACION Y PONE EL MODOFORM A "M"
                                string PermisoM = "No";
                                List<PERMISO> ListPermisos = cBOTONERA.Permisos("productos", oUsuario.GRUPOS.ToList());
                                foreach (ENTITY.PERMISO permi in ListPermisos)
                                {
                                    if (permi.PER_CODIGO == "M")
                                    {
                                        PermisoM = "Si";
                                    }
                                }
                                if (PermisoM == "No")
                                {
                                    MostrarMensajeAdvertencia(string.Format("El producto ya esta cargado.\nNo posee permiso para modificarlo."));
                                    ModoAlta();
                                    return;
                                }
                                if (PermisoM == "Si")
                                {
                                    var rta = MostrarMensajePreguntaSI_NO("El producto ya esta cargado.\nDesea Modificarlo?");
                                    if (rta)
                                    {
                                        modoForm = "M";
                                        ePRODUCTO = prod;
                                        ModoModificacion();
                                    }
                                    //SI SELECCIONA NO BLANQUEA EL FRM Y PREPARA COMO SI FUERA UN ALTA
                                    else
                                    {
                                        ModoAlta();
                                        return;
                                    }
                                }

                            }
                        }
                    }
                }

                BuscarDatosSugerido();
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
                DialogResult = DialogResult.None;
            }
        }
Example #14
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (rdbProducto.Checked)
                    txtCodigoBarrasValidated();
                if (rdbBalanza.Checked)
                    txtCodigoBalanzaValidated();
                if (rdbGranel.Checked)
                {
                    ReiniciarValidacionControl(txtCodigoBarras);
                    ReiniciarValidacionControl(txtCodigoBalanza);
                }

                EsValido = true;
                if (!ValidateChildren() || !EsValido)
                {
                    DialogResult = DialogResult.None;
                    return;
                }

                if (rdbProducto.Checked)
                {
                    ePRODUCTO.PRO_BARRAS = (txtCodigoBarras.Text == "") ? null : txtCodigoBarras.Text;
                    ePRODUCTO.PRO_CODBALANZA = null;
                    ePRODUCTO.PRO_GRANEL = false;
                }

                if (rdbBalanza.Checked)
                {
                    ePRODUCTO.PRO_BARRAS = null;
                    ePRODUCTO.PRO_CODBALANZA = (txtCodigoBalanza.Text == "") ? null : txtCodigoBalanza.Text;
                    ePRODUCTO.PRO_GRANEL = false;
                }

                if (rdbGranel.Checked)
                {
                    ePRODUCTO.PRO_BARRAS = (txtCodigoBarras.Text == "") ? null : txtCodigoBarras.Text;
                    ePRODUCTO.PRO_CODBALANZA = null;
                    ePRODUCTO.PRO_GRANEL = true;
                }

                ePRODUCTO.PRO_DESCRIPCION = cmbProducto.Text.ToUpper();
                ePRODUCTO.CAT_ID = (int)cmbCategoria.SelectedValue;
                ePRODUCTO.TUNI_ID = (int)cmbTIPOUNIDAD.SelectedValue;
                ePRODUCTO.PRO_DESCRECUMIDA = txtDescResumida.Text.ToUpper();
                ePRODUCTO.PRO_COSTO = numCosto.Value;
                ePRODUCTO.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(txtPorcGanReal.Text);
                ePRODUCTO.PRO_MARGENGANACIAESTIMADA = numPorcGanEstimada.Value;
                ePRODUCTO.TIVA_ID = (int)cmbTipoIva.SelectedValue;
                ePRODUCTO.PRO_PRECIOVTA = numPrecioVenta.Value;
                ePRODUCTO.ENV_ID = (chkEnvase.Checked) ? (int?)cmbEnvase.SelectedValue : null;
                ePRODUCTO.PRO_ESTADOPROMO = chkEstadoPromo.Checked;
                ePRODUCTO.PRO_MARGENPROMO = numPorcentajeGananciaPromo.Value;
                if (numPrecioVentaPromo.Text != "")
                {
                    ePRODUCTO.PRO_PRECIOPROMO = numPrecioVentaPromo.Value;
                }
                ePRODUCTO.PRO_STOCKACTUAL = numStockActual.Value;
                ePRODUCTO.PRO_STOCKMINIMO = numStockMin.Value;
                ePRODUCTO.PRO_ESTADOIMPETIQUETA = chkEtiqueta.Checked;
                ePRODUCTO.PRO_SEGUIMIENTOSTOCK = chkSeguimiento.Checked;
                ePRODUCTO.PRO_IMAGEN = txtRutaImagen.Text;

                ePRODUCTO.PRO_ESTADO = chkEstado.Checked;

                switch (modoForm)
                {
                    case "A":
                        ePRODUCTO.PRO_COD_INTERNO = txtCodigoProducto.Text;
                        ePRODUCTO = cPRODUCTO.AltaConRetorno(ePRODUCTO);

                        //sumo contador de producto por categoria
                        ePRODUCTO.CATEGORIA_PRODUCTO.CAT_CODIGO_ULT_PROD += 1;
                        cCATEGORIA_PRODUCTOS.Modificacion(ePRODUCTO.CATEGORIA_PRODUCTO);
                        MostrarMensajeInformativo("Se dio de alta el Articulo Código " + txtCodigoProducto.Text);
                        break;

                    case "M":
                        //cambia la categoria
                        if (ePRODUCTO.PRO_COD_INTERNO != txtCodigoProducto.Text)
                        {
                            ePRODUCTO.CATEGORIA_PRODUCTO.CAT_CODIGO_ULT_PROD += 1;
                        }
                        ePRODUCTO.PRO_COD_INTERNO = txtCodigoProducto.Text;

                        cPRODUCTO.Modificacion(ePRODUCTO);
                        break;
                }

                DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
                DialogResult = DialogResult.None;
            }
        }
 /// <summary>
 /// Crear un nuevo objeto PRODUCTO.
 /// </summary>
 /// <param name="pRO_ID">Valor inicial de la propiedad PRO_ID.</param>
 /// <param name="pRO_COSTO">Valor inicial de la propiedad PRO_COSTO.</param>
 /// <param name="pRO_PRECIOVTA">Valor inicial de la propiedad PRO_PRECIOVTA.</param>
 /// <param name="cAT_ID">Valor inicial de la propiedad CAT_ID.</param>
 /// <param name="tIVA_ID">Valor inicial de la propiedad TIVA_ID.</param>
 /// <param name="pRO_MARGENGANANCIAREAL">Valor inicial de la propiedad PRO_MARGENGANANCIAREAL.</param>
 /// <param name="pRO_MARGENGANACIAESTIMADA">Valor inicial de la propiedad PRO_MARGENGANACIAESTIMADA.</param>
 public static PRODUCTO CreatePRODUCTO(global::System.Int32 pRO_ID, global::System.Decimal pRO_COSTO, global::System.Decimal pRO_PRECIOVTA, global::System.Int32 cAT_ID, global::System.Int32 tIVA_ID, global::System.Decimal pRO_MARGENGANANCIAREAL, global::System.Decimal pRO_MARGENGANACIAESTIMADA)
 {
     PRODUCTO pRODUCTO = new PRODUCTO();
     pRODUCTO.PRO_ID = pRO_ID;
     pRODUCTO.PRO_COSTO = pRO_COSTO;
     pRODUCTO.PRO_PRECIOVTA = pRO_PRECIOVTA;
     pRODUCTO.CAT_ID = cAT_ID;
     pRODUCTO.TIVA_ID = tIVA_ID;
     pRODUCTO.PRO_MARGENGANANCIAREAL = pRO_MARGENGANANCIAREAL;
     pRODUCTO.PRO_MARGENGANACIAESTIMADA = pRO_MARGENGANACIAESTIMADA;
     return pRODUCTO;
 }
Example #16
0
        private void btnNuevoProducto_Click(object sender, EventArgs e)
        {
            try
            {
                PRODUCTO entidad = new PRODUCTO();
                //PRODUCTO entidad = null;
                var modo = "A";

                var form = new frmPRODUCTO(modo, entidad, oUsuario, "frmFACTURA");
                var drResultado = form.ShowDialog();
                if (drResultado == DialogResult.OK)
                {
                    PRODUCTO oPRODUCTO = cPRODUCTO.ObtenerPorID(entidad.PRO_ID);
                    txtCodigoBarra.Text = oPRODUCTO.PRO_BARRAS;

                    //ARMACOMBO producto
                    List<PRODUCTO> listaProd = new List<PRODUCTO>();
                    listaProd.Add(oPRODUCTO);
                    cmbProducto.DataSource = listaProd;
                    cmbProducto.DisplayMember = "PRO_DESCRIPCION";
                    cmbProducto.ValueMember = "PRO_ID";
                    cmbProducto.SelectedIndex = 0;

                    txtCodigoBarra.Text = oPRODUCTO.PRO_BARRAS;
                    numCostoSinIva.Value = oPRODUCTO.PRO_COSTO;
                    cmbTipoIva.SelectedValue = oPRODUCTO.TIVA_ID;
                    numPrecioVenta.Value = oPRODUCTO.PRO_PRECIOVTA;

                    numCantidad.Focus();
                }
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
                this.DialogResult = DialogResult.Cancel;
            }
        }
Example #17
0
 public void BajaFisica(PRODUCTO entidad)
 {
     mPRODUCTOS.Baja(entidad);
 }
        private void LlenarLineaEnGrilla(PRODUCTO oProducto, CATEGORIA_PRODUCTO oCategoria, decimal? CAT_PRECIO, ENVASE oEnvase, bool ingresaMedianteCodBarra = true)
        {
            DETALLE_PRESUPUESTO linea = null;
            if (oProducto != null) //es producto
            {
                //controla la cantidad
                //if (!ControlaCantidad(oProducto, 1))
                //{
                //    MostrarMensajeAdvertencia(Mensajes.ProductoSinStock);
                //    return;
                //}

                picProducto.ImageLocation = oProducto.PRO_IMAGEN;
                picProducto.SizeMode = PictureBoxSizeMode.StretchImage;
                txtPromocion.Visible = (oProducto.PRO_ESTADOPROMO == null) ? false : (bool)oProducto.PRO_ESTADOPROMO;

                decimal GANANCIA = 0;
                if (oProducto.PRO_ESTADOPROMO == false)
                    GANANCIA = oProducto.PRO_COSTO + Convert.ToDecimal(oProducto.PRO_COSTO * (oProducto.PRO_MARGENGANANCIAREAL / 100));
                else
                    GANANCIA = oProducto.PRO_COSTO + Convert.ToDecimal(oProducto.PRO_COSTO * (oProducto.PRO_MARGENPROMO / 100));

                if (oProducto.PRO_CODBALANZA != null) //es balanza
                {
                    if (!ingresaMedianteCodBarra) // si no se ingresa mediante codigo de barra
                    {
                        linea = new DETALLE_PRESUPUESTO();
                        linea.DETP_DESCRIPCION = oProducto.PRO_DESCRIPCION;
                        linea.DETP_DESCRESUMIDA = oProducto.PRO_DESCRECUMIDA;
                        linea.DETP_TIVA_PORCENTAJE = (decimal)oProducto.TIPO_IVA.TIVA_PORCENTAJE;
                        linea.DETP_PRECIOCOSTO = oProducto.PRO_COSTO;
                        linea.DETP_PRECIOUNIDAD = (oProducto.PRO_ESTADOPROMO == true) ? (decimal)oProducto.PRO_PRECIOPROMO : oProducto.PRO_PRECIOVTA;
                        linea.DETP_PRECIONETO = decimal.Round((oProducto.PRO_COSTO + GANANCIA) * Convert.ToDecimal((oProducto.TIPO_IVA.TIVA_PORCENTAJE / 100) + 1), 3);
                        linea.DETP_CANTIDAD = Convert.ToDecimal(1.ToString("0.000"));
                        linea.DETP_TOTAL = decimal.Round((linea.DETP_PRECIOUNIDAD * linea.DETP_CANTIDAD), 3);
                        linea.DETP_ESTADOPROMO = (oProducto.PRO_ESTADOPROMO == true) ? true : false;
                        linea.PRO_ID = oProducto.PRO_ID;
                        linea.PRODUCTO = oProducto;
                    }
                    else // si se ingresa mediante codigo de barra
                    {
                        string codigoBarra = MetodosComunes.RetornaSoloNumeros(txtCodigoBarra.Text);
                        var DigitoPrecio = codigoBarra.Substring(7, 5);

                        var AntesDeLaComa = DigitoPrecio.Substring(0, 3);
                        var NumDecimal = DigitoPrecio.Substring(3, 2);
                        var precioBalanza = Convert.ToDecimal(AntesDeLaComa + "," + NumDecimal);

                        if (eParametro.PAR_ADMINISTRAR_BALANZA) // toma el precio con el peso de la balanza
                        {
                            linea = new DETALLE_PRESUPUESTO();
                            linea.DETP_DESCRIPCION = oProducto.PRO_DESCRIPCION;
                            linea.DETP_DESCRESUMIDA = oProducto.PRO_DESCRECUMIDA;
                            linea.DETP_TIVA_PORCENTAJE = (decimal)oProducto.TIPO_IVA.TIVA_PORCENTAJE;
                            linea.DETP_PRECIOCOSTO = oProducto.PRO_COSTO;
                            linea.DETP_PRECIOUNIDAD = (oProducto.PRO_ESTADOPROMO == true) ? (decimal)oProducto.PRO_PRECIOPROMO : oProducto.PRO_PRECIOVTA;
                            linea.DETP_PRECIONETO = decimal.Round(Convert.ToDecimal(linea.DETP_PRECIOUNIDAD / ((linea.DETP_TIVA_PORCENTAJE / 100) + 1)), 3);
                            linea.DETP_CANTIDAD = decimal.Round(Convert.ToDecimal(precioBalanza / linea.DETP_PRECIOUNIDAD), 3);
                            linea.DETP_TOTAL = decimal.Round((linea.DETP_PRECIOUNIDAD * linea.DETP_CANTIDAD), 3);
                            linea.DETP_ESTADOPROMO = (oProducto.PRO_ESTADOPROMO == true) ? true : false;
                            linea.PRO_ID = oProducto.PRO_ID;
                            linea.PRODUCTO = oProducto;
                        }
                        else // toma el precio con la etiqueta
                        {
                            linea = new DETALLE_PRESUPUESTO();
                            linea.DETP_DESCRIPCION = oProducto.PRO_DESCRIPCION;
                            linea.DETP_DESCRESUMIDA = oProducto.PRO_DESCRECUMIDA;
                            linea.DETP_TIVA_PORCENTAJE = Constantes.PorcentajeIvaDefault;
                            linea.DETP_PRECIOCOSTO = (decimal)precioBalanza; //TODO: ver si esta bien ya que no se sabe el costo de la categoria
                            linea.DETP_PRECIOUNIDAD = Convert.ToDecimal(((decimal)precioBalanza).ToString("0.000"));
                            linea.DETP_PRECIONETO = decimal.Round(Convert.ToDecimal(linea.DETP_PRECIOUNIDAD / ((linea.DETP_TIVA_PORCENTAJE / 100) + 1)), 3);
                            linea.DETP_CANTIDAD = Convert.ToDecimal(1.ToString("0.000"));
                            linea.DETP_TOTAL = Convert.ToDecimal(((decimal)precioBalanza).ToString("0.000"));
                            linea.DETP_ESTADOPROMO = (oProducto.PRO_ESTADOPROMO == true) ? true : false;
                            linea.PRO_ID = oProducto.PRO_ID;
                            linea.PRODUCTO = oProducto;
                        }
                    }
                }
                else //es producto
                {
                    linea = new DETALLE_PRESUPUESTO();
                    linea.DETP_DESCRIPCION = oProducto.PRO_DESCRIPCION;
                    linea.DETP_DESCRESUMIDA = oProducto.PRO_DESCRECUMIDA;
                    linea.DETP_TIVA_PORCENTAJE = (decimal)oProducto.TIPO_IVA.TIVA_PORCENTAJE;
                    linea.DETP_PRECIOCOSTO = oProducto.PRO_COSTO;
                    linea.DETP_PRECIOUNIDAD = (oProducto.PRO_ESTADOPROMO == true) ? (decimal)oProducto.PRO_PRECIOPROMO : oProducto.PRO_PRECIOVTA;
                    linea.DETP_PRECIONETO = decimal.Round((oProducto.PRO_COSTO + GANANCIA) * Convert.ToDecimal((oProducto.TIPO_IVA.TIVA_PORCENTAJE / 100) + 1), 3);
                    linea.DETP_CANTIDAD = Convert.ToDecimal(1.ToString("0.000"));
                    linea.DETP_TOTAL = decimal.Round((linea.DETP_PRECIOUNIDAD * linea.DETP_CANTIDAD), 3);
                    linea.DETP_ESTADOPROMO = (oProducto.PRO_ESTADOPROMO == true) ? true : false;
                    linea.PRO_ID = oProducto.PRO_ID;
                    linea.PRODUCTO = oProducto;
                }
            }
            if (oCategoria != null) //es categoria
            {
                linea = new DETALLE_PRESUPUESTO();
                linea.DETP_DESCRIPCION = oCategoria.CAT_DESCRIPCION;
                linea.DETP_DESCRESUMIDA = oCategoria.CAT_DESCRIPCION;
                linea.DETP_TIVA_PORCENTAJE = Constantes.PorcentajeIvaDefault;
                linea.DETP_PRECIOCOSTO = (decimal)CAT_PRECIO; //TODO: ver si esta bien ya que no se sabe el costo de la categoria
                linea.DETP_PRECIOUNIDAD = Convert.ToDecimal(((decimal)CAT_PRECIO).ToString("0.000"));
                linea.DETP_PRECIONETO = decimal.Round(Convert.ToDecimal(linea.DETP_PRECIOUNIDAD / ((linea.DETP_TIVA_PORCENTAJE / 100)) + 1), 3);
                linea.DETP_CANTIDAD = Convert.ToDecimal(1.ToString("0.000"));
                linea.DETP_TOTAL = decimal.Round((linea.DETP_PRECIOUNIDAD * linea.DETP_CANTIDAD), 3);
                linea.DETP_ESTADOPROMO = false;
                linea.CAT_ID = oCategoria.CAT_ID;
                linea.CATEGORIA_PRODUCTO = oCategoria;
            }
            if (oEnvase != null) //es envase
            {
                linea = new DETALLE_PRESUPUESTO();
                linea.DETP_DESCRIPCION = oEnvase.ENV_DESCRIPCION;
                linea.DETP_DESCRESUMIDA = oEnvase.ENV_DESCRIPCION;
                linea.DETP_TIVA_PORCENTAJE = Constantes.PorcentajeIvaDefault;
                linea.DETP_PRECIOCOSTO = oEnvase.ENV_PRECIO_COSTO;
                linea.DETP_PRECIOUNIDAD = oEnvase.ENV_PRECIO;
                linea.DETP_PRECIONETO = decimal.Round(Convert.ToDecimal(linea.DETP_PRECIOUNIDAD / ((linea.DETP_TIVA_PORCENTAJE / 100)) + 1), 3);
                linea.DETP_CANTIDAD = Convert.ToDecimal(1.ToString("0.000"));
                linea.DETP_TOTAL = decimal.Round((linea.DETP_PRECIOUNIDAD * linea.DETP_CANTIDAD), 3);
                linea.DETP_ESTADOPROMO = false;
                linea.ENV_ID = oEnvase.ENV_ID;
                linea.ENVASE = oEnvase;
            }

            linea.INGRESAMEDIANTECODBARRA = ingresaMedianteCodBarra;
            linea.DETP_GUID = Guid.NewGuid().ToString();
            AgregarLineasEnGrilla(linea);

            LlenaLabelTotales();

            if (dgvGrilla.Rows.Count > 0)
            {
                dgvGrilla.CurrentCell = dgvGrilla.Rows[dgvGrilla.Rows.Count - 1].Cells[0];
            }

            if ((oProducto != null && oProducto.PRO_GRANEL == true) || (oProducto != null && oProducto.PRO_CODBALANZA != null && !ingresaMedianteCodBarra))
            {
                btnCantidad(); //abre frmCantidad
            }

            Nuevo_Item();
        }
Example #19
0
 public void BajaLogica(PRODUCTO entidad)
 {
     entidad.PRO_ESTADO = false;
     mPRODUCTOS.Modificacion(entidad);
 }
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                EsValido = true;
                if (!ValidateChildren() || !EsValido)
                {
                    DialogResult = DialogResult.None;
                    return;
                }

                ePRODUCTO.PRO_DESCRIPCION = cmbProducto.Text.ToUpper();
                ePRODUCTO.CAT_ID = (int)cmbCategoria.SelectedValue;
                ePRODUCTO.TUNI_ID = (int)cmbTIPOUNIDAD.SelectedValue;
                ePRODUCTO.PRO_DESCRECUMIDA = txtDescResumida.Text.ToUpper();
                //ePRODUCTO.PRO_COD_INTERNO = txtCodigoProducto.Text;
                ePRODUCTO.PRO_CODBALANZA = txtCodigoBalanza.Text;
                ePRODUCTO.PRO_COSTO = Convert.ToDecimal(txtCosto.Text);
                ePRODUCTO.PRO_MARGENGANACIA = Convert.ToDecimal(txtPorcentajeGanancia.Text);
                ePRODUCTO.TIVA_ID = (int)cmbTipoIva.SelectedValue;
                ePRODUCTO.PRO_PRECIOVTA = Convert.ToDecimal(txtPrecioVenta.Text);
                ePRODUCTO.PRO_ESTADOPROMO = chkEstadoPromo.Checked;
                ePRODUCTO.PRO_MARGENPROMO = Convert.ToDecimal(txtPorcentajeGananciaPromo.Text);
                if (txtPrecioVentaPromo.Text != "")
                {
                    ePRODUCTO.PRO_PRECIOPROMO = Convert.ToDecimal(txtPrecioVentaPromo.Text);
                }
                ePRODUCTO.PRO_ESTADOIMPETIQUETA = chkEtiqueta.Checked;
                ePRODUCTO.PRO_IMAGEN = txtRutaImagen.Text;

                ePRODUCTO.PRO_ESTADO = chkEstado.Checked;

                switch (modoForm)
                {
                    case "A":
                        ePRODUCTO.PRO_COD_INTERNO = txtCodigoProducto.Text;
                        ePRODUCTO = cPRODUCTO.AltaConRetorno(ePRODUCTO);

                        //sumo contador de producto por categoria
                        ePRODUCTO.CATEGORIA_PRODUCTO.CAT_CODIGO_ULT_PROD += 1;
                        cCATEGORIA_PRODUCTOS.Modificacion(ePRODUCTO.CATEGORIA_PRODUCTO);
                        MostrarMensajeInformativo("Se dio de alta el Articulo Código " + txtCodigoProducto.Text);
                        break;

                    case "M":
                        //cambia la categoria
                        if (ePRODUCTO.PRO_COD_INTERNO != txtCodigoProducto.Text)
                        {
                            ePRODUCTO.CATEGORIA_PRODUCTO.CAT_CODIGO_ULT_PROD += 1;
                        }
                        ePRODUCTO.PRO_COD_INTERNO = txtCodigoProducto.Text;

                        cPRODUCTO.Modificacion(ePRODUCTO);
                        break;
                }

                DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
                DialogResult = DialogResult.None;
            }
        }
Example #21
0
 public void Modificacion(PRODUCTO entidad)
 {
     mPRODUCTOS.Modificacion(entidad);
 }
 public List<SEGUIMIENTO_PRODUCTO> ObtenerDelProducto(PRODUCTO product)
 {
     return mSEGUIMIENTOS_PRODUCTOS.ObtenerDelProducto(product);
 }
Example #23
0
        private bool ControlaCantidad(PRODUCTO oProducto, decimal cantidad)
        {
            if (eParametro.PAR_VTA_SINSTOCK == false) //si es falso controla que el stock no sea cero
            {
                var result = oProducto.PRO_STOCKACTUAL - cantidad;
                if (result < 0)
                {
                    return false;
                }
            }

            return true;
        }
        private decimal CalculaPrecioNeto(PRODUCTO oProducto)
        {
            decimal MontoProducto = 0;
            decimal PrecioNeto = (oProducto.PRO_ESTADOPROMO == true) ? (decimal)oProducto.PRO_PRECIOPROMO : (decimal)oProducto.PRO_PRECIOVTA;

            if (TipoComprobante.TIC_DESCRIPCION.Contains("FACTURA A"))
                MontoProducto = Convert.ToDecimal(PrecioNeto / ((oProducto.TIPO_IVA.TIVA_PORCENTAJE / 100)) + 1);
            else
                MontoProducto = PrecioNeto;

            return decimal.Round(MontoProducto, 3);
        }
 public List<SEGUIMIENTO_PRODUCTO> ObtenerDelProducto(PRODUCTO product)
 {
     var query = ObtenerTodos()
         .Where(x => x.PRO_ID == product.PRO_ID);
     return query.ToList();
 }