예제 #1
0
 public void Alta(DETALLE_FICHA objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_FICHA.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
예제 #2
0
 public void Modificacion(DETALLE_FICHA objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_FICHA.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
예제 #3
0
 public DETALLE_FICHA AltaConRetorno(DETALLE_FICHA objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DETALLE_FICHA.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.DETF_ID);
     }
 }
 /// <summary>
 /// Crear un nuevo objeto DETALLE_FICHA.
 /// </summary>
 /// <param name="dETF_ID">Valor inicial de la propiedad DETF_ID.</param>
 /// <param name="dETF_FECHA">Valor inicial de la propiedad DETF_FECHA.</param>
 /// <param name="eMP_ID">Valor inicial de la propiedad EMP_ID.</param>
 /// <param name="fIC_ID">Valor inicial de la propiedad FIC_ID.</param>
 /// <param name="dETF_TOTAL">Valor inicial de la propiedad DETF_TOTAL.</param>
 /// <param name="dETF_DESCRIPCION">Valor inicial de la propiedad DETF_DESCRIPCION.</param>
 /// <param name="dETF_DESCRESUMIDA">Valor inicial de la propiedad DETF_DESCRESUMIDA.</param>
 /// <param name="dETF_CANTIDAD">Valor inicial de la propiedad DETF_CANTIDAD.</param>
 /// <param name="dETF_PRECIOUNIDAD">Valor inicial de la propiedad DETF_PRECIOUNIDAD.</param>
 /// <param name="dETF_TIVA_PORCENTAJE">Valor inicial de la propiedad DETF_TIVA_PORCENTAJE.</param>
 /// <param name="dETF_PRECIOCOSTO">Valor inicial de la propiedad DETF_PRECIOCOSTO.</param>
 /// <param name="dETF_PRECIONETO">Valor inicial de la propiedad DETF_PRECIONETO.</param>
 public static DETALLE_FICHA CreateDETALLE_FICHA(global::System.Int32 dETF_ID, global::System.DateTime dETF_FECHA, global::System.Int32 eMP_ID, global::System.Int32 fIC_ID, global::System.Decimal dETF_TOTAL, global::System.String dETF_DESCRIPCION, global::System.String dETF_DESCRESUMIDA, global::System.Decimal dETF_CANTIDAD, global::System.Decimal dETF_PRECIOUNIDAD, global::System.Decimal dETF_TIVA_PORCENTAJE, global::System.Decimal dETF_PRECIOCOSTO, global::System.Decimal dETF_PRECIONETO)
 {
     DETALLE_FICHA dETALLE_FICHA = new DETALLE_FICHA();
     dETALLE_FICHA.DETF_ID = dETF_ID;
     dETALLE_FICHA.DETF_FECHA = dETF_FECHA;
     dETALLE_FICHA.EMP_ID = eMP_ID;
     dETALLE_FICHA.FIC_ID = fIC_ID;
     dETALLE_FICHA.DETF_TOTAL = dETF_TOTAL;
     dETALLE_FICHA.DETF_DESCRIPCION = dETF_DESCRIPCION;
     dETALLE_FICHA.DETF_DESCRESUMIDA = dETF_DESCRESUMIDA;
     dETALLE_FICHA.DETF_CANTIDAD = dETF_CANTIDAD;
     dETALLE_FICHA.DETF_PRECIOUNIDAD = dETF_PRECIOUNIDAD;
     dETALLE_FICHA.DETF_TIVA_PORCENTAJE = dETF_TIVA_PORCENTAJE;
     dETALLE_FICHA.DETF_PRECIOCOSTO = dETF_PRECIOCOSTO;
     dETALLE_FICHA.DETF_PRECIONETO = dETF_PRECIONETO;
     return dETALLE_FICHA;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet DETALLE_FICHA. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToDETALLE_FICHA(DETALLE_FICHA dETALLE_FICHA)
 {
     base.AddObject("DETALLE_FICHA", dETALLE_FICHA);
 }
예제 #6
0
        private VENTA Ticket(string color)
        {
            //Comprobante = new COMPROBANTE();
            //int nroComprobante = (int)TipoComprobante.TIC_ULTIMONUMERO;
            //Comprobante.TIC_ID = TipoComprobante.TIC_ID;
            //Comprobante.COM_NROCOMPROBANTE = nroComprobante.ToString();
            //TipoComprobante.TIC_ULTIMONUMERO = nroComprobante + 1;

            //cTIPO_COMPROBANTES.Modificacion(TipoComprobante);
            //Comprobante = cCOMPROBANTE.AltaConRetorno(Comprobante);

            VENTA NuevaVta = new VENTA();
            NuevaVta.VTA_FECHA = DateTime.Now;
            NuevaVta.VTA_COLOR = color;
            NuevaVta.VTA_PORCENTAJEDESCUENTO = Convert.ToDecimal(txtDescuento.Text);
            NuevaVta.VTA_DIFTARJETA = Convert.ToDecimal(txtDiferenciaTarjeta.Text);
            NuevaVta.VTA_SUBTOTAL = Convert.ToDecimal(txtSubtotal.Text);
            NuevaVta.VTA_TOTAL = Convert.ToDecimal(txtTotal.Text);
            NuevaVta.VTA_CACELADA = false;
            NuevaVta.FOR_ID = FormaPago.FOR_ID;
            NuevaVta.CAJ_ID = CajaPerteneciente.CAJ_ID;
            //NuevaVta.COM_ID = Comprobante.COM_ID;
            NuevaVta.VTA_MONTOPAGO = Convert.ToDecimal(lblPagaCon.Text);

            // SI ES FACTURA A ASEGURARSE QUE SE TIENEN LOS DATOS DEL CLIENTE SI ES.
            if (ClienteConsumidorFinal)
            {
                NuevaVta.VTA_CONSUMIDORFINAL = true;
            }
            else
            {
                NuevaVta.VTA_CONSUMIDORFINAL = false;
                NuevaVta.CLI_ID_CONSUMIDOR = Cliente.CLI_ID;
            }

            NuevaVta = cVENTAS.AltaConRetorno(NuevaVta);

            foreach (LINEA_VENTA LineaEnGrilla in LineasEnGrilla)
            {
                var linea = new LINEA_VENTA
                {
                    LIN_DESCRIPCION = LineaEnGrilla.LIN_DESCRIPCION,
                    LIN_DESCRESUMIDA = LineaEnGrilla.LIN_DESCRESUMIDA,
                    LIN_TIVA_PORCENTAJE = LineaEnGrilla.LIN_TIVA_PORCENTAJE,
                    LIN_PRECIOCOSTO = LineaEnGrilla.LIN_PRECIOCOSTO,
                    LIN_PRECIOUNIDAD = LineaEnGrilla.LIN_PRECIOUNIDAD,
                    LIN_PRECIONETO = LineaEnGrilla.LIN_PRECIONETO,
                    LIN_CANTIDAD = LineaEnGrilla.LIN_CANTIDAD,
                    LIN_TOTAL = LineaEnGrilla.LIN_TOTAL,
                    LIN_ESTADOPROMO = LineaEnGrilla.LIN_ESTADOPROMO,
                    PRO_ID = LineaEnGrilla.PRO_ID,
                    CAT_ID = LineaEnGrilla.CAT_ID,
                    ENV_ID = LineaEnGrilla.ENV_ID,
                    LIN_GUID = LineaEnGrilla.LIN_GUID,
                    VTA_ID = NuevaVta.VTA_ID
                };

                cLINEA_VENTA.AltaConRetorno(linea);
            }

            //SI ES UNA CTA CTE LA FORMA DE PAGO DOY DE ALTA EL MOVIMIENTO DE LA CTA CTE Y ACTUALIZO LA CTA DEL CLIENTE
            TIPO_MOVIMIENTO eTIPO_MOVIMIENTO = cTIPO_MOVIMIENTOS.ObtenerPorDescripcion(TipoComprobante.TIC_DESCRIPCION);

            if (FormaPago.FOR_DESCRIPCION == Constantes.Efectivo)
            {
                CreaMovimientoCaja(NuevaVta, (decimal)NuevaVta.VTA_TOTAL, "Venta en Efectivo", "VENTA");
            }

            if (FormaPago.FOR_DESCRIPCION == "CTA CTE")
            {
                CONTROLADORA.cCTACTE_CLIENTE cCTACTE_CLIENTES = CONTROLADORA.cCTACTE_CLIENTE.ObtenerInstancia();
                CONTROLADORA.cMOVIMIENTO_CTACTE_CLIENTE cMOVIMIENTO_CTACTE_CLIENTES = CONTROLADORA.cMOVIMIENTO_CTACTE_CLIENTE.ObtenerInstancia();

                if (eTIPO_MOVIMIENTO == null)
                {
                    eTIPO_MOVIMIENTO = cTIPO_MOVIMIENTOS.ObtenerPorDescripcion(lblTipoComprobante.Text.ToUpper());
                }

                MOVIMIENTO_CTACTE_CLIENTE eMOV_CTA_CTE_CLI = new MOVIMIENTO_CTACTE_CLIENTE();

                var cta_cliente = cCLIENTE.ObtenerCtaCteCliente(Cliente);

                eMOV_CTA_CTE_CLI.TIPM_ID = eTIPO_MOVIMIENTO.TIPM_ID;
                eMOV_CTA_CTE_CLI.MCCC_VALORMOVIMIENTO = NuevaVta.VTA_TOTAL;
                eMOV_CTA_CTE_CLI.MCCC_CONCEPTO = Constantes.Debe;
                eMOV_CTA_CTE_CLI.MCCC_FECHAMOVIMIENTO = NuevaVta.VTA_FECHA;
                eMOV_CTA_CTE_CLI.MCCC_SALDOMOVIMIENTO = NuevaVta.VTA_TOTAL;
                eMOV_CTA_CTE_CLI.CCC_ID = cta_cliente.CCC_ID;
                eMOV_CTA_CTE_CLI.VTA_ID = NuevaVta.VTA_ID;

                cta_cliente.CCC_SALDO += NuevaVta.VTA_TOTAL;

                cCTACTE_CLIENTES.Modificacion(cta_cliente);
                cMOVIMIENTO_CTACTE_CLIENTES.Alta(eMOV_CTA_CTE_CLI);
            }

            //PONER QUE PASA CUANDO LA FORMA DE PAGO ES POR CHEQUEY TARJETA Y/O MULTIPLE
            if (FormaPago.FOR_DESCRIPCION == Constantes.Tarjeta)
            {
                Tarjeta = cTARJETA.AltaConRetorno(Tarjeta);
                NuevaVta.TARJ_ID = Tarjeta.TARJ_ID;
            }

            if (FormaPago.FOR_DESCRIPCION == Constantes.Cheque)
            {
                Cheque = cCHEQUE.AltaConRetorno(Cheque);
                NuevaVta.CHE_ID = Cheque.CHE_ID;

                //VALIDAR QUE SI EL CHEQUE ES MAYOR A LA VENTA GENERA UN MOVIMIENTO DE CAJA TIPO EXTRACCION Y EN LA DESCRIPCION
                //PONER VUELTO DE CHEQUE EN LA VENTA X.
                //sino generar la extraccion en caja y mostrar cartel que se generara una extraccion de caja.
                var totalVta = Convert.ToDecimal(txtTotal.Text);
                if (Cheque.CHE_VALOR > totalVta)
                {
                    string vuelto = (Cheque.CHE_VALOR - totalVta).ToString();
                    MostrarMensajeAdvertencia("Se generara una extraccion de caja, con la diferencia entre el valor del cheque y el total de la venta. Total de la extracion de caja " + vuelto + ".");

                    CreaMovimientoCaja(NuevaVta, Convert.ToDecimal(vuelto), "Vuelto de Cheque Nro: " + Cheque.CHE_NUMERO + ".", "EXTRACCION");
                }
            }

            if (FormaPago.FOR_DESCRIPCION == Constantes.NotaCredito)
            {
                if (NuevaVta == null)
                {
                    MostrarMensajeAdvertencia("Debe seleccionar una nota de crédito.");
                    NuevaVta = null;
                    return NuevaVta;
                }

                NuevaVta.NOT_ID = Nota_Credito.NOT_ID;

                var totalVta = Convert.ToDecimal(txtTotal.Text);
                if (Nota_Credito.NOT_TOTAL != totalVta)
                {
                    MostrarMensajeAdvertencia("El total de la venta tiene que ser igual al total de la nota de crédito.");
                    NuevaVta = null;
                    return NuevaVta;
                }
            }

            if (FormaPago.FOR_DESCRIPCION == Constantes.Multiple)
            {
                //SI ES SOLO CHEQUE GENERA MOVIMIENTO DE CAJA PORQUE DA UN VUELTO
                if (SoloCheques == "Solo Cheques")
                {
                    decimal totalPagos = 0;
                    foreach (var item in frmVENTAS.ListaMultiplesPagos)
                    {
                        totalPagos += item.CHE_VALOR;
                    }

                    string vuelto = (totalPagos - Convert.ToDecimal(txtTotal.Text)).ToString();
                    MostrarMensajeAdvertencia("Se generara una extraccion de caja, con la diferencia entre el valor de los cheque y el total de la venta. Total de la extracion de caja $" + vuelto + ".");

                    CreaMovimientoCaja(NuevaVta, Convert.ToDecimal(vuelto), "Vuelto de Cheque Nro: " + frmVENTAS.Cheque.CHE_NUMERO + ".", "EXTRACCION");
                }

                //GENERAR LA MULTIPLE CON LA LISTA DE PAGOS DE MULTIPLE
                var MultipleNew = new MULTIPLE();
                List<CHEQUE> chequesMultiples = new List<CHEQUE>();
                List<TARJETA> tarjetasMultiples = new List<TARJETA>();
                List<NOTA_CREDITO> notasCreditosMultiples = new List<NOTA_CREDITO>();
                decimal totalMultiple = 0;
                decimal totalMultipleEfectivo = 0;

                foreach (var item in ListaMultiplesPagos)
                {
                    switch (item.FORM_PAGO)
                    {
                        case Constantes.Cheque:
                            Cheque = new CHEQUE();
                            Cheque.BAN_ID = item.BAN_ID;
                            Cheque.CHE_FECHAEMISION = item.CHE_FECHAEMISION;
                            Cheque.CHE_FECHAVENCIMIENTO = item.CHE_FECHAVENCIMIENTO;
                            Cheque.CHE_NUMERO = item.CHE_NUMERO;
                            Cheque.CHE_VALOR = item.CHE_VALOR;

                            chequesMultiples.Add(Cheque);

                            totalMultiple += item.CHE_VALOR;
                            break;

                        case Constantes.NotaCredito:

                            notasCreditosMultiples.Add(item.NOTA_CREDITO);

                            totalMultiple += (decimal)item.NOTA_CREDITO.NOT_TOTAL;
                            break;

                        case Constantes.Tarjeta:
                            var Tarjeta = new TARJETA();
                            Tarjeta.TTARJ_ID = item.TARJ_TIPO_TARJETA.TTARJ_ID;
                            Tarjeta.TARJ_CUOTAS = item.TARJ_CUOTAS;
                            Tarjeta.TARJ_NUMERO = item.TARJ_NUMERO;
                            Tarjeta.TARJ_DNI = item.TARJ_DNI;
                            Tarjeta.TARJ_DIFTARJETA = item.TARJ_DIFTARJETA;
                            Tarjeta.TARJ_TOTALAPAGAR = item.TARJ_TOTALAPAGAR;
                            Tarjeta.TARJ_MONTOCUOTA = item.TARJ_MONTOCUOTA;
                            Tarjeta.TARJ_TOTAL = item.TARJ_TOTAL;

                            tarjetasMultiples.Add(Tarjeta);

                            totalMultiple += item.TARJ_TOTALAPAGAR;
                            break;

                        case Constantes.Efectivo:
                            MultipleNew.MUL_EFECTIVO = item.EFEC_MONTO;
                            totalMultiple += item.EFEC_MONTO;
                            totalMultipleEfectivo += item.EFEC_MONTO;
                            break;

                        default: break;
                    }
                }

                MultipleNew.MUL_MONTO = totalMultiple;
                cMULTIPLE.Alta(MultipleNew, tarjetasMultiples, chequesMultiples, notasCreditosMultiples);
                NuevaVta.MUL_ID = MultipleNew.MUL_ID;

                if (totalMultipleEfectivo != 0)
                {
                    CreaMovimientoCaja(NuevaVta, totalMultipleEfectivo, "Venta en Efectivo pago Multiple", "VENTA");
                }
            }

            if (FormaPago.FOR_DESCRIPCION == Constantes.Ficha)
            {
                foreach (LINEA_VENTA LineaEnGrilla in LineasEnGrilla)
                {
                    var linea = new DETALLE_FICHA();
                    linea.DETF_DESCRIPCION = LineaEnGrilla.LIN_DESCRIPCION;
                    linea.DETF_DESCRESUMIDA = LineaEnGrilla.LIN_DESCRESUMIDA;
                    linea.DETF_PRECIOUNIDAD = LineaEnGrilla.LIN_PRECIOUNIDAD;
                    linea.DETF_CANTIDAD = LineaEnGrilla.LIN_CANTIDAD;
                    linea.DETF_TOTAL = LineaEnGrilla.LIN_TOTAL;
                    linea.DETF_ESTADOPROMO = LineaEnGrilla.LIN_ESTADOPROMO;
                    linea.PRO_ID = LineaEnGrilla.PRO_ID;
                    linea.CAT_ID = LineaEnGrilla.CAT_ID;
                    linea.ENV_ID = LineaEnGrilla.ENV_ID;
                    linea.DETF_FECHA = DateTime.Now;
                    linea.FIC_ID = Ficha.FIC_ID;
                    linea.EMP_ID = eEmpleado.EMP_ID;

                    var Detalle = cDETALLE_FICHA.AltaConRetorno(linea);
                }
            }

            return NuevaVta;
        }
예제 #7
0
 public void Modificacion(DETALLE_FICHA entidad)
 {
     mDETALLE_FICHAS.Modificacion(entidad);
 }
예제 #8
0
 //public void BajaLogica(DETALLE_FICHA entidad)
 //{
 //    entidad.CLI_ESTADO = false;
 //    mDETALLE_FICHAS.Modificacion();
 //}
 public void BajaFisica(DETALLE_FICHA entidad)
 {
     mDETALLE_FICHAS.Baja(entidad);
 }
예제 #9
0
 public DETALLE_FICHA AltaConRetorno(DETALLE_FICHA entidad)
 {
     return mDETALLE_FICHAS.AltaConRetorno(entidad);
 }
예제 #10
0
 public void Alta(DETALLE_FICHA entidad)
 {
     mDETALLE_FICHAS.Alta(entidad);
 }