예제 #1
0
        public frmENVASE(string modo, ENVASE entidad)
        {
            InitializeComponent();
            modoForm = modo;
            botoneraOkCancel.Modo = modo;

            eENVASE = entidad;
        }
예제 #2
0
 public void Alta(ENVASE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.ENVASE.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
예제 #3
0
 private void AbreForm(string modo, ENVASE entidad)
 {
     var form = new frmENVASE(modo, entidad);
     var drResultado = form.ShowDialog();
     if (drResultado == DialogResult.OK)
     {
         LlenaGrilla();
     }
 }
예제 #4
0
 public void Modificacion(ENVASE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.ENVASE.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
예제 #5
0
 public ENVASE AltaConRetorno(ENVASE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.ENVASE.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.ENV_ID);
     }
 }
예제 #6
0
 private void btnAlta_Click(object sender, EventArgs e)
 {
     try
     {
         var entidad = new ENVASE();
         AbreForm("A", entidad);
     }
     catch (Exception ex)
     {
         ProcesarExcepcion(ex);
     }
 }
예제 #7
0
        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();
        }
 /// <summary>
 /// Crear un nuevo objeto ENVASE.
 /// </summary>
 /// <param name="eNV_ID">Valor inicial de la propiedad ENV_ID.</param>
 /// <param name="eNV_PRECIO_COSTO">Valor inicial de la propiedad ENV_PRECIO_COSTO.</param>
 /// <param name="eNV_PRECIO">Valor inicial de la propiedad ENV_PRECIO.</param>
 /// <param name="eNV_ESTADO">Valor inicial de la propiedad ENV_ESTADO.</param>
 /// <param name="eNV_STOCKACTUAL">Valor inicial de la propiedad ENV_STOCKACTUAL.</param>
 public static ENVASE CreateENVASE(global::System.Int32 eNV_ID, global::System.Decimal eNV_PRECIO_COSTO, global::System.Decimal eNV_PRECIO, global::System.Boolean eNV_ESTADO, global::System.Decimal eNV_STOCKACTUAL)
 {
     ENVASE eNVASE = new ENVASE();
     eNVASE.ENV_ID = eNV_ID;
     eNVASE.ENV_PRECIO_COSTO = eNV_PRECIO_COSTO;
     eNVASE.ENV_PRECIO = eNV_PRECIO;
     eNVASE.ENV_ESTADO = eNV_ESTADO;
     eNVASE.ENV_STOCKACTUAL = eNV_STOCKACTUAL;
     return eNVASE;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet ENVASE. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToENVASE(ENVASE eNVASE)
 {
     base.AddObject("ENVASE", eNVASE);
 }
예제 #10
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;
            }
        }
예제 #11
0
        private void LlenaDatos()
        {
            //ARMACOMBO CATEGORIA
            List<CATEGORIA_PRODUCTO> listaCategorias = new List<CATEGORIA_PRODUCTO>();
            var oTODOS1 = new CATEGORIA_PRODUCTO();
            oTODOS1.CAT_DESCRIPCION = "Seleccione uno...";
            oTODOS1.CAT_ID = 0;

            listaCategorias.Add(oTODOS1);
            listaCategorias.AddRange(cCATEGORIA_PRODUCTOS.ObtenerTodos());
            cmbCategoria.DataSource = listaCategorias;
            cmbCategoria.DisplayMember = "CAT_DESCRIPCION";
            cmbCategoria.ValueMember = "CAT_ID";
            //cmbCategoria.SelectedValue = 12; //BEBIDAS
            //cmbCategoria.SelectedValue = 8;  //ALMACEN
            //cmbCategoria.SelectedValue = 11; //PERFUMERIA

            rdbProducto.Checked = true;
            txtCodigoBarras.Text = "";
            txtCodigoBarras.Focus();

            //ARMACOMBO tipo Iva
            List<TIPO_IVA> listaTipoIva = new List<TIPO_IVA>();
            listaTipoIva.AddRange(cTIPO_IVA.ObtenerTodos());

            cmbTipoIva.DataSource = listaTipoIva;
            cmbTipoIva.DisplayMember = "TIVA_PORCENTAJE";
            cmbTipoIva.ValueMember = "TIVA_ID";

            //ARMACOMBO TIPO UNIDAD
            cmbTIPOUNIDAD.DataSource = cTIPO_UNIDAD.ObtenerTodos();
            cmbTIPOUNIDAD.DisplayMember = "TUNI_DESCRIPCION";
            cmbTIPOUNIDAD.ValueMember = "TUNI_ID";

            //ARMACOMBO ENVASE
            List<ENVASE> listaEnvases = new List<ENVASE>();
            var oTODOS = new ENVASE();
            oTODOS.ENV_DESCRIPCION = "Seleccione uno...";
            oTODOS.ENV_ID = 0;

            listaEnvases.Add(oTODOS);
            listaEnvases.AddRange(cENVASE.ObtenerActivos());
            cmbEnvase.DataSource = listaEnvases;
            cmbEnvase.DisplayMember = "ENV_DESCRIPCION";
            cmbEnvase.ValueMember = "ENV_ID";

            chkEnvase_CheckedChanged(null, null);
            chkEstadoPromo_CheckedChanged(null, null);

            //llena los valores por default
            var valoresParametro = cPARAMETRO.ObtenerTodos();
            txtPorcGanReal.Text = (valoresParametro.PAR_PORC_GAN == null) ? "0" : valoresParametro.PAR_PORC_GAN.ToString();
            numPorcGanEstimada.Value = (valoresParametro.PAR_PORC_GAN == null) ? 0 : (decimal)valoresParametro.PAR_PORC_GAN;
            numPorcentajeGananciaPromo.Value = (valoresParametro.PAR_PORC_GAN_PROMO == null) ? 0 : (decimal)valoresParametro.PAR_PORC_GAN_PROMO;
            numStockMin.Value = (valoresParametro.PAR_STOCK_MIN_DEFAULT == null) ? 0 : (decimal)valoresParametro.PAR_STOCK_MIN_DEFAULT;
        }
예제 #12
0
 public void Modificacion(ENVASE entidad)
 {
     mENVASE.Modificacion(entidad);
 }
예제 #13
0
 public void BajaLogica(ENVASE entidad)
 {
     entidad.ENV_ESTADO = false;
     mENVASE.Modificacion(entidad);
 }
예제 #14
0
 public ENVASE AltaConRetorno(ENVASE entidad)
 {
     return mENVASE.AltaConRetorno(entidad);
 }
예제 #15
0
 public void Alta(ENVASE entidad)
 {
     mENVASE.Alta(entidad);
 }