public void Alta(DETALLE_PRESUPUESTO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_PRESUPUESTO.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
 public void Modificacion(DETALLE_PRESUPUESTO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_PRESUPUESTO.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
 public DETALLE_PRESUPUESTO AltaConRetorno(DETALLE_PRESUPUESTO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_PRESUPUESTO.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.DETP_ID);
     }
 }
Пример #4
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();
        }
Пример #5
0
        private void AgregarLineasEnGrilla(DETALLE_PRESUPUESTO linea)
        {
            if (LineasEnGrilla == null)
                LineasEnGrilla = new List<DETALLE_PRESUPUESTO>();

            if (!ControlaSumaVenta(linea.DETP_PRECIOUNIDAD, linea.DETP_CANTIDAD, Convert.ToDecimal(txtTotal.Text)))
                return;

            if (linea.PRO_ID != null) //es producto
            {
                if (linea.PRODUCTO.PRO_CODBALANZA != null) //es balanza
                {
                    LineasEnGrilla.Add(linea);
                    return;
                }
                if (linea.PRODUCTO != null && linea.PRODUCTO.PRO_GRANEL == true) //es granel
                {
                    LineasEnGrilla.Add(linea);
                    return;
                }
                else //es producto
                {
                    int bandera = 0;

                    foreach (var item in LineasEnGrilla)
                    {
                        //si el producto existe en la grilla entra y le suma la cantidad correcta y pone la bandera en 1
                        if (item.PRO_ID != null && item.PRO_ID == linea.PRODUCTO.PRO_ID)
                        {
                            item.DETP_CANTIDAD += linea.DETP_CANTIDAD;

                            //CALCULO DEL PRECIO
                            item.DETP_TOTAL = Convert.ToDecimal(decimal.Round(linea.DETP_PRECIOUNIDAD * item.DETP_CANTIDAD, 3).ToString("0.000"));
                            bandera = 1;
                        }
                    }
                    //si no entro xq el producto no existe la bandera esta en 0 y entra para agregarlo a la grilla
                    if (bandera == 0)
                    {
                        LineasEnGrilla.Add(linea);
                        return;
                    }
                }
            }
            if (linea.CAT_ID != null) //es categoria
            {
                LineasEnGrilla.Add(linea);
                return;
            }
            if (linea.ENV_ID != null) //es envase
            {
                int bandera = 0;

                foreach (var item in LineasEnGrilla)
                {
                    //si el producto existe en la grilla entra y le suma la cantidad correcta y pone la bandera en 1
                    if (item.ENV_ID != null && item.ENV_ID == linea.ENVASE.ENV_ID)
                    {
                        item.DETP_CANTIDAD += linea.DETP_CANTIDAD;

                        //CALCULO DEL PRECIO
                        item.DETP_TOTAL = Convert.ToDecimal(decimal.Round(linea.DETP_PRECIOUNIDAD * item.DETP_CANTIDAD, 3).ToString("0.000"));
                        bandera = 1;
                    }
                }
                //si no entro xq el producto no existe la bandera esta en 0 y entra para agregarlo a la grilla
                if (bandera == 0)
                {
                    LineasEnGrilla.Add(linea);
                    return;
                }
            }
        }
 /// <summary>
 /// Crear un nuevo objeto DETALLE_PRESUPUESTO.
 /// </summary>
 /// <param name="dETP_ID">Valor inicial de la propiedad DETP_ID.</param>
 /// <param name="dETP_TOTAL">Valor inicial de la propiedad DETP_TOTAL.</param>
 /// <param name="dETP_PRECIOUNIDAD">Valor inicial de la propiedad DETP_PRECIOUNIDAD.</param>
 /// <param name="dETP_DESCRIPCION">Valor inicial de la propiedad DETP_DESCRIPCION.</param>
 /// <param name="dETP_DESCRESUMIDA">Valor inicial de la propiedad DETP_DESCRESUMIDA.</param>
 /// <param name="dETP_CANTIDAD">Valor inicial de la propiedad DETP_CANTIDAD.</param>
 /// <param name="dETP_TIVA_PORCENTAJE">Valor inicial de la propiedad DETP_TIVA_PORCENTAJE.</param>
 /// <param name="dETP_PRECIOCOSTO">Valor inicial de la propiedad DETP_PRECIOCOSTO.</param>
 /// <param name="dETP_PRECIONETO">Valor inicial de la propiedad DETP_PRECIONETO.</param>
 public static DETALLE_PRESUPUESTO CreateDETALLE_PRESUPUESTO(global::System.Int32 dETP_ID, global::System.Decimal dETP_TOTAL, global::System.Decimal dETP_PRECIOUNIDAD, global::System.String dETP_DESCRIPCION, global::System.String dETP_DESCRESUMIDA, global::System.Decimal dETP_CANTIDAD, global::System.Decimal dETP_TIVA_PORCENTAJE, global::System.Decimal dETP_PRECIOCOSTO, global::System.Decimal dETP_PRECIONETO)
 {
     DETALLE_PRESUPUESTO dETALLE_PRESUPUESTO = new DETALLE_PRESUPUESTO();
     dETALLE_PRESUPUESTO.DETP_ID = dETP_ID;
     dETALLE_PRESUPUESTO.DETP_TOTAL = dETP_TOTAL;
     dETALLE_PRESUPUESTO.DETP_PRECIOUNIDAD = dETP_PRECIOUNIDAD;
     dETALLE_PRESUPUESTO.DETP_DESCRIPCION = dETP_DESCRIPCION;
     dETALLE_PRESUPUESTO.DETP_DESCRESUMIDA = dETP_DESCRESUMIDA;
     dETALLE_PRESUPUESTO.DETP_CANTIDAD = dETP_CANTIDAD;
     dETALLE_PRESUPUESTO.DETP_TIVA_PORCENTAJE = dETP_TIVA_PORCENTAJE;
     dETALLE_PRESUPUESTO.DETP_PRECIOCOSTO = dETP_PRECIOCOSTO;
     dETALLE_PRESUPUESTO.DETP_PRECIONETO = dETP_PRECIONETO;
     return dETALLE_PRESUPUESTO;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet DETALLE_PRESUPUESTO. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToDETALLE_PRESUPUESTO(DETALLE_PRESUPUESTO dETALLE_PRESUPUESTO)
 {
     base.AddObject("DETALLE_PRESUPUESTO", dETALLE_PRESUPUESTO);
 }
Пример #8
0
        private void btnPRESUPUESTO_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvGrilla.DataSource == null)
                {
                    return;
                }

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

                ePresupuesto = new PRESUPUESTO();

                if (!ClienteConsumidorFinal)
                {
                    ePresupuesto.CLI_ID = Cliente.CLI_ID;
                }

                ePresupuesto.EMP_ID = eEmpleado.EMP_ID;
                ePresupuesto.PRE_FECHAEMISION = DateTime.Now;
                ePresupuesto.PRE_TOTAL = Convert.ToDecimal(txtTotal.Text);
                ePresupuesto.PRE_DESCUENTO = Convert.ToDecimal(txtDescuento.Text);

                ePresupuesto = cPRESUPUESTO.AltaConRetorno(ePresupuesto);

                foreach (LINEA_VENTA LineaEnGrilla in LineasEnGrilla)
                {
                    DETALLE_PRESUPUESTO linea = new DETALLE_PRESUPUESTO();

                    linea.DETP_DESCRIPCION = LineaEnGrilla.LIN_DESCRIPCION;
                    linea.DETP_DESCRESUMIDA = LineaEnGrilla.LIN_DESCRESUMIDA;
                    linea.DETP_TIVA_PORCENTAJE = LineaEnGrilla.LIN_TIVA_PORCENTAJE;
                    linea.DETP_PRECIOCOSTO = LineaEnGrilla.LIN_PRECIOCOSTO;
                    linea.DETP_PRECIOUNIDAD = LineaEnGrilla.LIN_PRECIOUNIDAD;
                    linea.DETP_PRECIONETO = LineaEnGrilla.LIN_PRECIONETO;
                    linea.DETP_CANTIDAD = LineaEnGrilla.LIN_CANTIDAD;
                    linea.DETP_TOTAL = LineaEnGrilla.LIN_TOTAL;
                    linea.DETP_ESTADOPROMO = false;
                    linea.PRO_ID = LineaEnGrilla.PRO_ID;
                    linea.CAT_ID = LineaEnGrilla.CAT_ID;
                    linea.ENV_ID = LineaEnGrilla.ENV_ID;

                    linea.DETP_GUID = LineaEnGrilla.LIN_GUID;

                    linea.PRE_ID = ePresupuesto.PRE_ID;
                    cDETALLE_PRESUPUESTO.Alta(linea);
                }

                var rta = MostrarMensajePreguntaSI_NO("El presupuesto nro: " + ePresupuesto.PRE_ID + " se guardo con éxito. \n Desea Imprmirlo?.");
                if (rta)
                {
                    ImprimirPresupuesto(ePresupuesto);
                }

                DialogResult = DialogResult.OK;

                Nueva_Vta();
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
            }
        }
 public void Modificacion(DETALLE_PRESUPUESTO entidad)
 {
     mDETALLE_PRESUPUESTOS.Modificacion(entidad);
 }
 //public void BajaLogica(DETALLE_PRESUPUESTO entidad)
 //{
 //    entidad.CLI_ESTADO = false;
 //    mDETALLE_PRESUPUESTOS.Modificacion();
 //}
 public void BajaFisica(DETALLE_PRESUPUESTO entidad)
 {
     mDETALLE_PRESUPUESTOS.Baja(entidad);
 }
 public DETALLE_PRESUPUESTO AltaConRetorno(DETALLE_PRESUPUESTO entidad)
 {
     return mDETALLE_PRESUPUESTOS.AltaConRetorno(entidad);
 }
 public void Alta(DETALLE_PRESUPUESTO entidad)
 {
     mDETALLE_PRESUPUESTOS.Alta(entidad);
 }