コード例 #1
0
        /// <summary>
        /// Ejecuta el metodo Grabar.
        /// </summary>
        /// <returns>El valor que se obtiene despues de ejecutar el metodo</returns>
        override public bool Grabar()
        {
            bool resultado = false;
            List <SqlParameter> parametros = new List <SqlParameter>();

            SqlParameter paramId = new SqlParameter();

            paramId.ParameterName = "@P_Id_Venta";
            paramId.Value         = Id_Venta;
            paramId.Direction     = System.Data.ParameterDirection.InputOutput;
            parametros.Add(paramId);

            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdCliente", Value = Id_Cliente
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdSucursal", Value = Id_Sucursal
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdEmpleado", Value = Id_Empleado
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_FechaVenta", Value = Fecha_Venta
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_HoraVenta", Value = Hora_Venta
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdCotizacion", Value = Id_Cotizacion
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Subtotal", Value = Subtotal
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IVA", Value = IVA
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IEPS", Value = IEPS
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Total", Value = Total
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_FechaTipoCambio", Value = Fecha_Tipo_Cambio
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdTipoCambio", Value = Id_Tipo_Cambio
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Comentario", Value = Comentario
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Status", Value = Status
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Descuento", Value = Descuento
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdFactura", Value = Id_Factura
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_MetodoPago", Value = Id_Metodo_pago
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Referencia", Value = Referencia
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdTipoPago", Value = Id_Tipo_Venta
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_SuPago", Value = Su_Pago
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_SuCambio", Value = Su_Cambio
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Debe", Value = Debe
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IdPromocion", Value = Id_Promocion
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IVAimporte", Value = IVAimporte
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_IEPSimporte", Value = IEPSimporte
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_DescuentoPorCiento", Value = ISR_PorCiento
            });
            parametros.Add(new SqlParameter()
            {
                ParameterName = "@P_Tipo", Value = Convert.ToInt32(TIPO)
            });


            resultado = (BaseDatos.ejecutarProcedimiento(QueryGrabar, parametros) > 0);
            if (resultado && Id_Venta == -1)
            {
                Id_Venta = Convert.ToInt64(paramId.Value);
            }

            string empleado = string.Empty;

            foreach (VentaDetalle detalle in Detalles)
            {
                detalle.Id_Venta = Id_Venta;
                if (empleado.Length == 0)
                {
                    empleado = detalle.Quien_Surte;
                }
            }
            if (resultado)
            {
                if (GrabarDetalle())
                {
                    if (!demostracion)
                    {
                        XtraImprimeTicket ticket = new XtraImprimeTicket(this);
                        DevExpress.XtraReports.UI.ReportPrintTool pt = new DevExpress.XtraReports.UI.ReportPrintTool(ticket);
                        try
                        {
                            pt.PrintingSystem.StartPrint += new PrintDocumentEventHandler(printingSystem_StartPrint);
                            pt.Print();
                        }
                        catch (Exception ex)
                        {
                            Log.Logger.ErrorException(ex.Message, ex);
                        }
                    }
                }
                if (TIPO == TIPO_MOVIMIENTO.VENTA)
                {
                    ClientesCargos clientecargo = new ClientesCargos();
                    clientecargo.Tipo_Cargo = Id_Tipo_Venta;
                    clientecargo.Fecha      = Fecha_Venta;
                    clientecargo.IdVenta    = Id_Venta;
                    clientecargo.IdCliente  = Id_Cliente;
                    clientecargo.Concepto   = Comentario.Replace("Venta ", "Venta Folio No." + Id_Venta + " ");
                    if (((TIPO_VENTA)Id_Tipo_Venta) == TIPO_VENTA.CONTADO)
                    {
                        clientecargo.Cargos = Convert.ToDouble(Total);
                        clientecargo.Abonos = Convert.ToDouble(Total);
                        clientecargo.Saldo  = 0;
                    }
                    else
                    {
                        clientecargo.Cargos = Convert.ToDouble(Total);
                        clientecargo.Abonos = Convert.ToDouble(Su_Pago);
                        clientecargo.Saldo  = Convert.ToDouble(Debe);
                    }
                    clientecargo.Estado = Status;
                    clientecargo.Activo = true;
                    clientecargo.Grabar();
                    if (((TIPO_VENTA)Id_Tipo_Venta) == TIPO_VENTA.CREDITO)
                    {
                        parametros.Clear();
                        parametros.Add(new SqlParameter()
                        {
                            ParameterName = "@P_Cliente_Id", Value = Id_Cliente
                        });
                        parametros.Add(new SqlParameter()
                        {
                            ParameterName = "@P_Cantidad", Value = Debe
                        });
                        resultado = (BaseDatos.ejecutarProcedimiento("Clientes_Saldo_Aumentar_sp", parametros) > 0);
                    }
                }
            }

            return(resultado);
        }