Exemplo n.º 1
0
        /// <summary>
        /// Metodo para generar la tabla de la venta
        /// </summary>
        /// <param name="Productos">tabla con los datos de los pagos</param>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>31/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private DataTable Generar_Dt_Pagos(Cls_Apl_Principal_Negocio Negocio)
        {
            DataTable Dt_Pagos = new DataTable();
            DataRow   Fila     = null;

            try
            {
                Dt_Pagos.Columns.Add("Forma_Id", typeof(String));
                Dt_Pagos.Columns.Add("Monto_Pago", typeof(Decimal));
                Dt_Pagos.Columns.Add("Numero_Transaccion", typeof(String));
                Dt_Pagos.Columns.Add("Numero_Tarjeta_Banco", typeof(String));
                Dt_Pagos.Columns.Add("Estatus", typeof(String));

                Fila                         = Dt_Pagos.NewRow();
                Fila["Forma_Id"]             = Negocio.Obtener_Forma_Pago();
                Fila["Monto_Pago"]           = Convert.ToDecimal(String.IsNullOrEmpty(Negocio.P_Total) ? "0" : Negocio.P_Total);
                Fila["Numero_Transaccion"]   = Negocio.P_Numero_Transaccion;
                Fila["Numero_Tarjeta_Banco"] = Negocio.P_Numero_Tarjeta;
                Fila["Estatus"]              = "PAGADO";
                Dt_Pagos.Rows.Add(Fila);
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar la tabla de pagos. Error[" + Ex.Message + "]");
            }
            return(Dt_Pagos);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Btn_Buscar_Click(object sender, EventArgs e)
        {
            try
            {
                Cls_Ope_Accesos_Negocio Accesos = new Cls_Ope_Accesos_Negocio();
                int    No_Venta = Convert.ToInt32(Txt_Folio.Text);
                string Ruta     = string.Empty;

                Accesos.P_No_Venta = string.Format("{0:0000000000}", No_Venta);

                Cls_Apl_Principal_Negocio Principal = new Cls_Apl_Principal_Negocio();

                Principal.P_No_Venta = string.Format("{0:0000000000}", No_Venta);
                Principal            = Principal.Consultar_Venta();
                Ruta = Generar_Pdf(Principal, Principal.P_Dt_Productos);

                Hdf_Ruta.Value = Ruta;

                Grd_Accesos.DataSource = Accesos.Consultar_Accesos();
                Grd_Accesos.DataBind();
            }
            catch (Exception ex)
            {
                Msj.Text = ex.Message + "<br />";

                /*ScriptManager.RegisterStartupScript(this, this.GetType(), "Mensaje",
                 *  "alert('" + ex.Message + "')", true);*/
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Metodo para generar la venta
        /// </summary>
        /// <param name="Productos">Productos que se adquiriran en la compra</param>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>30/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private DataTable Generar_Venta_BD(Cls_Apl_Principal_Negocio Negocio, DataTable Dt_Productos)
        {
            DataTable Dt_Productos_Accesos = new DataTable();

            try
            {
                Negocio.P_Subtotal              = Convert.ToDecimal(String.IsNullOrEmpty(Negocio.P_Total) ? "0" : Negocio.P_Total);
                Negocio.P_Total_Venta           = Convert.ToDecimal(String.IsNullOrEmpty(Negocio.P_Total) ? "0" : Negocio.P_Total);
                Negocio.P_Estatus               = "PAGADA";
                Negocio.P_Fecha_Inicio_Vigencia = Convert.ToDateTime(Formatear_Fecha(Negocio.P_Fecha));
                //String VigenciaFin =
                //String Vigencia = VigenciaFin.Substring(0, 10);
                Negocio.P_Fecha_Termino_Vigencia = Obtener_Vigencia_Fin();
                Negocio.P_Dt_Ventas = Dt_Productos;
                Negocio.P_Dt_Pagos  = Generar_Dt_Pagos(Negocio);

                if (Negocio.Alta_Venta())
                {
                    Dt_Productos_Accesos = Negocio.P_Dt_Productos;
                }
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar la venta. Error[" + Ex.Message + "]");
            }
            return(Dt_Productos_Accesos);
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["CcErrCode"] != null)
                {
                    int ccErrCode = Convert.ToInt16(Request.QueryString["CcErrCode"]);

                    if (ccErrCode == 50)
                    {
                        /*Mensaje de Error*/
                        Img_Operacion.ImageUrl = "../Imagenes/paginas/cross-mark.png";
                        Img_Operacion.CssClass = "Img";
                        Lbl_Mensaje.CssClass   = "alert-box error";
                        Lbl_Msj.Text           = "error al realizar la compra. ";
                        Lbl_Msj.Text          += Request.QueryString["Text"];

                        return;
                    }

                    Img_Operacion.ImageUrl = "../Imagenes/paginas/confirm.png";
                    Img_Operacion.CssClass = "Img";
                    Lbl_Mensaje.CssClass   = "alert-box success";
                    Lbl_Msj.Text           = "Gracias por Realizar su compra.";

                    if (Application["Compra"] != null)
                    {
                        Negocio_Ventas = (Cls_Apl_Principal_Negocio)Application["Compra"];
                        Application.Remove("Compra");

                        Negocio_Ventas.P_Numero_Transaccion = Request.QueryString["OrderId"];
                        Productos = Crear_Dt_Productos(Negocio_Ventas.P_Productos);

                        Grd_Productos.DataSource = Productos;
                        Grd_Productos.DataBind();

                        Accesos  = Generar_Venta_BD(Negocio_Ventas, Productos);
                        Ruta_Pdf = Generar_Pdf(Negocio_Ventas, Accesos);

                        try
                        {
                            Lbl_Ruta_Pdf.Text = Ruta_Pdf;
                            Enviar_Correo_Pdf(Negocio_Ventas.P_Email, Ruta_Pdf);
                        }
                        catch (Exception ex)
                        {
                            Lbl_Msj.Text  = "Ocurrió un error al enviar los boletos al correo asignado.<br />";
                            Lbl_Msj.Text += "Detalle del Error: " + ex.Message;
                        }
                    }
                }
            }
        }
Exemplo n.º 5
0
    /// <summary>
    /// Metodo para generar los datos de la compra
    /// </summary>
    /// <returns></returns>
    /// <creo>Leslie González Vázquez</creo>
    /// <fecha creo>29/Mayo/2014</fecha creo>
    /// <modifico></modifico>
    /// <fecha modifico></fecha modifico>
    /// <causa modificacion></motivo modificacion>
    private String Generar_Compra()
    {
        //DataTable Dt_Productos = new DataTable();
        String Ruta_Pdf   = String.Empty;
        String Parametros = String.Empty;

        //DataTable Dt_Productos_Accesos = new DataTable();

        try
        {
            //obtenemos los parametros
            Parametros = HttpUtility.HtmlDecode(HttpContext.Current.Request["Parametros"] == null ? String.Empty : HttpContext.Current.Request["Parametros"].ToString().Trim());
            //deserealizamos el json con los datos a guardar
            Negocio_Ventas = JsonConvert.DeserializeObject <Cls_Apl_Principal_Negocio>(Parametros);

            if (Negocio_Ventas.P_Productos != null)
            {
                Application.Lock();
                Application["Compra"] = Negocio_Ventas;
                Application.UnLock();

                //Session["Compra"] = Negocio_Ventas;
                //Dt_Productos = Crear_Dt_Productos(Negocio_Ventas.P_Productos);
                //Enviar_Pago_Internet(Negocio_Ventas);

                //generamos la compra
                //Dt_Productos_Accesos = Generar_Venta_BD(Negocio_Ventas, Dt_Productos);

                /*
                 * //generamos el pdf
                 * Ruta_Pdf = Generar_Pdf(Negocio_Ventas, Dt_Productos_Accesos);
                 *
                 * //enviamos el correo
                 * if (Negocio_Ventas.P_Enviar_Email == "SI" && !String.IsNullOrEmpty(Negocio_Ventas.P_Email) && !String.IsNullOrEmpty(Ruta_Pdf))
                 * {
                 *  Enviar_Correo_Pdf(Negocio_Ventas.P_Email, Ruta_Pdf);
                 * }
                 */
            }
        }
        catch (Exception Ex)
        {
            if (!Ex.Message.ToString().Equals("Error al enviar el correo con el Pdf. Error[Error al enviar correo.]"))
            {
                throw new Exception(" Error al generar la compra. Error[" + Ex.Message + "]");
            }
        }
        finally
        {
            Ruta_Pdf = @Server.MapPath(Ruta_Pdf);
        }
        return(Ruta_Pdf);
    }
Exemplo n.º 6
0
    private void Enviar_Pago_Internet(Cls_Apl_Principal_Negocio Negocio)
    {
        NameValueCollection data = new NameValueCollection(); //Declara la coleccion de parametros

        //Asigna los parametros a enviar a la pagina 3D
        data.Add("Card", Negocio.P_Numero_Tarjeta.Trim());
        data.Add("Expires", Negocio.P_Fecha_Expira); //MM/YY
        data.Add("Total", Convert.ToDouble(Negocio.P_Total.Replace("$", "")).ToString());
        data.Add("CardType", "MC");                  //VISA-MC
        data.Add("MerchantId", "7749753");
        data.Add("MerchantName", "Municipio de Guanajuato");
        data.Add("MerchantCity", "Guanajuato");
        data.Add("ForwardPath", HttpContext.Current.Request.Url.ToString());
        data.Add("Cert3D", "03");
        data.Add("TipoTarjeta", "MC");
        data.Add("Cvv2Val", Negocio.P_Codigo_Seguridad);
        data.Add("BillToFirstName", Negocio.P_Nombre);
        HttpHelper.RedirectAndPOST(this.Page, "https://eps.banorte.com/secure3d/Solucion3DSecure.htm", data);
    }
Exemplo n.º 7
0
        /// <summary>
        /// Metodo para crear el detalle de la compra para el pdf
        /// </summary>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>31/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private DataTable Crear_Dt_Productos_Servicios_Detallados(DataTable Dt_Productos_Accesos, Cls_Apl_Principal_Negocio Negocio)
        {
            DataTable Dt_Detallado = new DataTable();
            DataRow   Fila         = null;
            Int32     Cantidad     = 0;
            int       i            = 0;

            String[] Accesos = null;
            String   Acceso  = String.Empty;

            try
            {
                if (Dt_Productos_Accesos != null)
                {
                    if (Dt_Productos_Accesos.Rows.Count > 0)
                    {
                        //creamos las columnas del datatable de detalles para el pdf
                        Dt_Detallado.Columns.Add("NO", typeof(Int32));
                        Dt_Detallado.Columns.Add("NOMBRE", typeof(String));
                        Dt_Detallado.Columns.Add("NO_ACCESO", typeof(String));
                        Dt_Detallado.Columns.Add("LUGAR_VENTA", typeof(String));
                        Dt_Detallado.Columns.Add("COSTO", typeof(String));
                        Dt_Detallado.Columns.Add("PRODUCTO", typeof(String));
                        Dt_Detallado.Columns.Add("CODIGO", typeof(String));
                        Dt_Detallado.Columns.Add("FECHA", typeof(String));
                        Dt_Detallado.Columns.Add("TIPO", typeof(String));
                        Dt_Detallado.Columns.Add("IMAGEN", typeof(Byte[]));
                        Dt_Detallado.Columns.Add("BARCODE", typeof(Byte[]));

                        //RECORREMOS EL DATATABLE PARA MANDAR LOS DETALLES
                        foreach (DataRow Dr in Dt_Productos_Accesos.Rows)
                        {
                            Cantidad = Convert.ToInt32(String.IsNullOrEmpty(Dr["CANTIDAD"].ToString()) ? "0" : Dr["CANTIDAD"]);
                            if (Dr["TIPO"].ToString().Trim().Equals("Producto"))
                            {
                                Accesos = Dr["ACCESOS"].ToString().Split(',');
                            }

                            for (i = 1; i <= Cantidad; i++)
                            {
                                Fila           = Dt_Detallado.NewRow();
                                Fila["NO"]     = i;
                                Fila["NOMBRE"] = Negocio.P_Nombre;
                                if (Dr["TIPO"].ToString().Trim().Equals("Producto"))
                                {
                                    Fila["NO_ACCESO"] = "*" + Accesos[i - 1].ToString().Trim() + "*";
                                }
                                else
                                {
                                    Fila["NO_ACCESO"] = "";
                                }
                                Fila["LUGAR_VENTA"] = "Internet";
                                Fila["COSTO"]       = String.Format("{0:c}", Dr["COSTO"]);
                                Fila["PRODUCTO"]    = Dr["DESCRIPCION"].ToString().Trim();
                                Fila["CODIGO"]      = Dr["CODIGO"].ToString().Trim();
                                Fila["FECHA"]       = String.Format("{0:dd/MMM/yyyy}", Negocio.P_Fecha_Inicio_Vigencia);
                                Fila["TIPO"]        = Dr["TIPO"].ToString().Trim();;
                                //Fila["IMAGEN"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(@Server.MapPath(ConfigurationManager.AppSettings["Imagen_Boleto"]), 200, 300);
                                string Ruta_Archivo = Obtener_Directorio_Compartido();
                                Ruta_Archivo  += "/Imagenes/WEB/Boleto.png";
                                Fila["IMAGEN"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(Ruta_Archivo, 200, 300);

                                Ean13 Codigo = new Ean13();
                                Codigo.ManufacturerCode = Accesos[i - 1].Trim().Substring(0, 5);
                                Codigo.ProductCode      = Accesos[i - 1].Trim().Substring(5, 5);
                                Codigo.ChecksumDigit    = "0";
                                Codigo.Scale            = 1.8f;
                                System.Drawing.Bitmap bmp = Codigo.CreateBitmap();

                                string Ruta_Codigo = Server.MapPath("~/Codigos/codigo.bmp");
                                bmp.Save(Ruta_Codigo);

                                Fila["BARCODE"] = ConversionImagen(Ruta_Codigo);

                                Dt_Detallado.Rows.Add(Fila);
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar la tabla detallada de productos y servicios. Error[" + Ex.Message + "]");
            }

            return(Dt_Detallado);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Metodo para generar el pdf
        /// </summary>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>31/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private String Generar_Pdf(Cls_Apl_Principal_Negocio Negocio, DataTable Dt_Productos_Accesos)
        {
            DataTable Dt_Encabezado        = new DataTable();
            DataRow   Fila                 = null;
            DataSet   Ds_Reporte           = new DataSet();
            DataTable Dt_Detallado_Accesos = new DataTable();

            try
            {
                //creamos el encabezado del pdf
                Dt_Encabezado.Columns.Add("IMAGEN_ENCABEZADO", typeof(Byte[]));
                Dt_Encabezado.Columns.Add("NOMBRE", typeof(String));
                Dt_Encabezado.Columns.Add("ESTADO", typeof(String));
                Dt_Encabezado.Columns.Add("CUIDAD", typeof(String));
                Dt_Encabezado.Columns.Add("DOMICILIO", typeof(String));
                Dt_Encabezado.Columns.Add("CP", typeof(String));
                Dt_Encabezado.Columns.Add("EMAIL", typeof(String));
                Dt_Encabezado.Columns.Add("NO_TARJETA", typeof(String));
                Dt_Encabezado.Columns.Add("TELEFONO", typeof(String));
                Dt_Encabezado.Columns.Add("TOTAL", typeof(String));
                Dt_Encabezado.Columns.Add("LEYENDA", typeof(String));
                Dt_Encabezado.Columns.Add("FOLIO", typeof(String));

                Fila = Dt_Encabezado.NewRow();
                //Fila["IMAGEN_ENCABEZADO"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(@Server.MapPath(ConfigurationManager.AppSettings["Imagen_Encabezado_Reporte"]), 200, 300);
                string Ruta_Archivo = Obtener_Directorio_Compartido();
                Ruta_Archivo += "/Imagenes/WEB/EncabezadoPDF.png";
                Fila["IMAGEN_ENCABEZADO"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(Ruta_Archivo, 200, 300);

                Fila["NOMBRE"]     = Negocio.P_Nombre;
                Fila["ESTADO"]     = Negocio.P_Estado;
                Fila["CUIDAD"]     = Negocio.P_Ciudad;
                Fila["DOMICILIO"]  = Negocio.P_Domicilio;
                Fila["CP"]         = Negocio.P_Codigo_Postal;
                Fila["EMAIL"]      = Negocio.P_Email;
                Fila["NO_TARJETA"] = Negocio.P_Numero_Tarjeta;
                Fila["TELEFONO"]   = Negocio.P_Telefono;
                Fila["TOTAL"]      = String.Format("{0:c}", Convert.ToDouble(String.IsNullOrEmpty(Negocio.P_Total) ? "0" : Negocio.P_Total));
                Fila["LEYENDA"]    = Obtener_Leyenda_Boleto();
                Fila["FOLIO"]      = Negocio.P_No_Venta;
                Dt_Encabezado.Rows.Add(Fila);

                Dt_Detallado_Accesos = Crear_Dt_Productos_Servicios_Detallados(Dt_Productos_Accesos, Negocio);
                //filtramos solo los accesos por productos
                Dt_Detallado_Accesos = (from Fila_Det in Dt_Detallado_Accesos.AsEnumerable()
                                        where Fila_Det.Field <String>("TIPO") == "Producto"
                                        select Fila_Det).AsDataView().ToTable();


                // Renombra las tablas
                Dt_Encabezado.TableName        = "DT_ENCABEZADO";        //encabezado del reprote
                Dt_Detallado_Accesos.TableName = "DT_DETALLADO_ACCESOS"; //detalles de los accesos desglosado por unidad
                Dt_Productos_Accesos.TableName = "DT_PRODUCTOS_ACCESOS"; // productos de la compra

                Ds_Reporte.Tables.Add(Dt_Encabezado.Copy());
                Ds_Reporte.Tables.Add(Dt_Detallado_Accesos.Copy());
                Ds_Reporte.Tables.Add(Dt_Productos_Accesos.Copy());

                Generar_Reporte(ref Ds_Reporte, "Rpt_Detalles_Compra.rpt", "Entradas_Museo_" + Convert.ToInt32(String.IsNullOrEmpty(Negocio.P_No_Venta) ? "1" : Negocio.P_No_Venta) + ".pdf", "../Rpt/");
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar el Pdf. Error[" + Ex.Message + ", " + Ex.InnerException + "]");
            }
            return("../Rpt/Entradas_Museo_" + Convert.ToInt32(String.IsNullOrEmpty(Negocio.P_No_Venta) ? "1" : Negocio.P_No_Venta) + ".pdf");
        }
Exemplo n.º 9
0
    /// <summary>
    /// Metodo para llenar el grid de los productos y los servicios
    /// </summary>
    /// <returns>La cadena con formato Json de los productos y servicios</returns>
    /// <creo>Leslie González Vázquez</creo>
    /// <fecha creo>21/Mayo/2014</fecha creo>
    /// <modifico></modifico>
    /// <fecha modifico></fecha modifico>
    /// <causa modificacion></motivo modificacion>
    public string Llenar_Grid_Productos_Servicios()
    {
        Cls_Apl_Principal_Negocio Negocio = new Cls_Apl_Principal_Negocio(); //creamos el objeto de la clase de negocio
        String    Json         = "{\"total\":\"0\",\"rows\":[]}";            //aki almacenaremos el json de la tabla
        DataTable Dt_Productos = new DataTable();                            //tabla para guardar los datos de la consulta
        String    Parametros   = String.Empty;
        JsonSerializerSettings Configuracion_Json = new JsonSerializerSettings();

        Configuracion_Json.NullValueHandling = NullValueHandling.Ignore;
        String Fecha_Visita = String.Empty;

        try
        {
            //obtenemos los parametros
            Parametros = HttpContext.Current.Request["Parametros"] == null ? String.Empty : HttpContext.Current.Request["Parametros"].ToString().Trim();
            //deserealizamos el json con los datos a guardar
            Negocio = JsonConvert.DeserializeObject <Cls_Apl_Principal_Negocio>(Parametros);

            //obtenemos la fecha de la visita para consultar los datos de los productos
            Fecha_Visita = Negocio.P_Fecha;
            if (String.IsNullOrEmpty(Fecha_Visita))
            {
                Fecha_Visita = String.Format("{0:yyyy/MM/dd}", DateTime.Now);
            }
            else
            {
                Fecha_Visita = Formatear_Fecha(Fecha_Visita);
            }

            //consultamos los productos de aceurdo a la fecha de la visita
            Negocio.P_Fecha_Visita = Convert.ToDateTime(Fecha_Visita);
            Dt_Productos           = Negocio.Consultar_Productos_Servicios();

            if (Dt_Productos != null)
            {
                if (Dt_Productos.Rows.Count > 0)
                {
                    Dt_Productos.Columns.Add("Subtotal", typeof(String));
                    //verificamos si la descripcion esta vacia, le asigamos el nombre del producto
                    foreach (DataRow Dr in Dt_Productos.Rows)
                    {
                        Dr["Subtotal"] = String.Format("{0:n}", 0);

                        if (String.IsNullOrEmpty(Dr[Cat_Productos.Campo_Descripcion].ToString()))
                        {
                            Dr[Cat_Productos.Campo_Descripcion] = Dr[Cat_Productos.Campo_Nombre].ToString();
                        }
                    }

                    //generamos la cadena json
                    Dt_Productos.TableName = "rows";
                    Json = Ayudante_JQuery.Crear_Tabla_Formato_JSON_DataGrid(Dt_Productos, Dt_Productos.Rows.Count);
                }
            }
        }
        catch (Exception Ex)
        {
            throw new Exception(" Error al obtener la tabla los productos y servicios. Error[" + Ex.Message + "]");
        }
        return(Json);
    }
Exemplo n.º 10
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public static Cls_Apl_Principal_Negocio Consultar_Venta(Cls_Apl_Principal_Negocio Venta)
        {
            Conexion.Iniciar_Helper();
            Conexion.HelperGenerico.Conexion_y_Apertura();
            StringBuilder Mi_Sql = new StringBuilder();

            try
            {
                Mi_Sql.Append("SELECT V.*, P.*, ");
                Mi_Sql.Append("(SELECT A.Vigencia_Inicio FROM " + Ope_Accesos.Tabla_Ope_Accesos);
                Mi_Sql.Append(" A WHERE A." + Ope_Accesos.Campo_No_Venta);
                Mi_Sql.Append(" = V." + Ope_Ventas.Campo_No_Venta + " LIMIT 1) Vigencia_Inicio ");
                Mi_Sql.Append("FROM " + Ope_Ventas.Tabla_Ope_Ventas + " V ");
                Mi_Sql.Append("JOIN " + Ope_Pagos.Tabla_Ope_Pagos + " P ");
                Mi_Sql.Append("ON V." + Ope_Ventas.Campo_No_Venta + " = P." + Ope_Pagos.Campo_No_Venta);
                Mi_Sql.Append(" WHERE V." + Ope_Ventas.Campo_No_Venta + " = '" + Venta.P_No_Venta + "'");

                var Vnt = Conexion.HelperGenerico.Obtener_Data_Reader(Mi_Sql.ToString());

                while (Vnt.Read())
                {
                    Venta.P_Subtotal = Convert.ToDecimal(Vnt[Ope_Ventas.Campo_Subtotal]);
                    Venta.P_Total = Vnt[Ope_Ventas.Campo_Total].ToString();
                    Venta.P_Estatus = Vnt[Ope_Ventas.Campo_Estatus].ToString();
                    Venta.P_Email = Vnt[Ope_Ventas.Campo_Correo_Electronico].ToString();
                    Venta.P_Telefono = Vnt[Ope_Ventas.Campo_Telefono].ToString();
                    Venta.P_Numero_Tarjeta = Vnt[Ope_Pagos.Campo_Numero_Tarjeta_Banco].ToString();
                    Venta.P_Nombre = Vnt[Ope_Pagos.Campo_Titular_Tarjeta].ToString();
                    Venta.P_Domicilio = Vnt[Ope_Pagos.Campo_Domicilio].ToString();
                    Venta.P_Estado = Vnt[Ope_Pagos.Campo_Estado].ToString();
                    Venta.P_Codigo_Postal = Vnt[Ope_Pagos.Campo_Codigo_Postal].ToString();
                    Venta.P_Ciudad = Vnt[Ope_Pagos.Campo_Ciudad].ToString();
                    Venta.P_Fecha_Inicio_Vigencia = DateTime.Parse(
                            Vnt[Ope_Accesos.Campo_Vigencia_Inicio].ToString());
                }

                Vnt.Close();

                /*Se realiza la consulta para generar los accesos*/
                Mi_Sql.Clear();
                Mi_Sql.Append("SELECT a.Producto_Id PRODUCTO_ID, count(*) CANTIDAD, p.Costo COSTO, ");
                Mi_Sql.Append("sum(p.Costo) TOTAL, p.Tipo TIPO, p.Descripcion DESCRIPCION, ");
                Mi_Sql.Append("p.Ruta_Imagen RUTA_IMAGEN,p.Codigo CODIGO, ");
                Mi_Sql.Append("(select group_concat(ac.No_Acceso separator ', ') ");
                Mi_Sql.Append("from ope_accesos ac where ac.No_Venta = a.No_Venta ");
                Mi_Sql.Append("and ac.Producto_Id = a.Producto_Id group by ac.Producto_Id) ACCESOS ");
                Mi_Sql.Append("from ope_accesos a ");
                Mi_Sql.Append("join cat_productos p on p.Producto_Id = a.Producto_ID ");
                Mi_Sql.Append("where No_Venta = '" + Venta.P_No_Venta + "' ");
                Mi_Sql.Append("group by Producto_Id;");

                Venta.P_Dt_Productos = Conexion.HelperGenerico.Obtener_Data_Table(Mi_Sql.ToString());

                return Venta;
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                Conexion.HelperGenerico.Cerrar_Conexion();
            }
        }
Exemplo n.º 11
0
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Alta_Pago
        ///DESCRIPCIÓN          : Inserta un Registro en la base de datos.
        ///PARAMETROS           : Pagos: Instancia de Cls_Ope_Pagos_Negocio con los valores de los campos a dar de alta.
        ///CREO                 : Antonio Salvador Benavides Guardado
        ///FECHA_CREO           : 03/Octubre/2013
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static void Alta_Pago(Cls_Apl_Principal_Negocio Pagos)
        {
            String Mi_SQL = "";
            String Consecutivo = "";
            Boolean Transaccion_Activa = false;
            Conexion.Iniciar_Helper();

            if (!Conexion.HelperGenerico.Estatus_Transaccion())
            {
                Conexion.HelperGenerico.Conexion_y_Apertura();
            }
            else
            {
                Transaccion_Activa = true;
            }

            try
            {
                Conexion.HelperGenerico.Iniciar_Transaccion();
                foreach (DataRow Dr_Pago in Pagos.P_Dt_Pagos.Rows)
                {
                    Consecutivo = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Pagos.Tabla_Ope_Pagos, Ope_Pagos.Campo_No_Pago, "", 10);

                    Mi_SQL = "INSERT INTO " + Ope_Pagos.Tabla_Ope_Pagos + " (";
                    Mi_SQL += Ope_Pagos.Campo_No_Pago;
                    Mi_SQL += ", " + Ope_Pagos.Campo_No_Venta;
                    Mi_SQL += ", " + Ope_Pagos.Campo_No_Caja;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Forma_ID;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Monto_Pago;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Monto_Comision;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Numero_Transaccion;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Numero_Tarjeta_Banco;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Tipo_Tarjeta_Banco;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Fecha_Cancelacion;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Estatus;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Domicilio;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Ciudad;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Estado;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Codigo_Postal;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Titular_Tarjeta;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Usuario_Creo;
                    Mi_SQL += ", " + Ope_Pagos.Campo_Fecha_Creo;
                    Mi_SQL += ")";
                    Mi_SQL += " VALUES (";
                    Mi_SQL += "'" + Consecutivo + "', ";
                    if (Pagos.P_No_Venta != "" && Pagos.P_No_Venta != null)
                    {
                        Mi_SQL += "'" + Pagos.P_No_Venta + "', ";
                    }
                    else
                    {
                        Mi_SQL += "NULL, ";
                    }
                    Mi_SQL += "NULL, ";
                    Mi_SQL += "'" + Dr_Pago["Forma_Id"].ToString() + "', ";
                    Mi_SQL += (decimal)Dr_Pago["Monto_Pago"] + ", ";
                    Mi_SQL += "0.00, ";
                    Mi_SQL += "'" + Dr_Pago["Numero_Transaccion"].ToString() + "', ";
                    Mi_SQL += "'" + Dr_Pago["Numero_Tarjeta_Banco"].ToString() + "', ";
                    Mi_SQL += "NULL, ";
                    Mi_SQL += "NULL, ";
                    Mi_SQL += "'" + Dr_Pago["Estatus"].ToString() + "', ";

                    if(!String.IsNullOrEmpty(Pagos.P_Domicilio))
                        Mi_SQL += "'" + Pagos.P_Domicilio + "', ";
                    else
                         Mi_SQL += "NULL, ";

                    if (!String.IsNullOrEmpty(Pagos.P_Ciudad))
                        Mi_SQL += "'" + Pagos.P_Ciudad + "', ";
                    else
                        Mi_SQL += "NULL, ";

                    if (!String.IsNullOrEmpty(Pagos.P_Estado))
                        Mi_SQL += "'" + Pagos.P_Estado + "', ";
                    else
                        Mi_SQL += "NULL, ";

                    if (!String.IsNullOrEmpty(Pagos.P_Codigo_Postal))
                        Mi_SQL += "'" + Pagos.P_Codigo_Postal + "', ";
                    else
                        Mi_SQL += "NULL, ";

                    if (!String.IsNullOrEmpty(Pagos.P_Nombre))
                        Mi_SQL += "'" + Pagos.P_Nombre + "', ";
                    else
                        Mi_SQL += "NULL, ";

                    Mi_SQL += "'Usuario Punto Venta Web', ";
                    Mi_SQL += Cls_Ayudante_Sintaxis.Fecha();
                    Mi_SQL += ")";

                    Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());
                }
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Terminar_Transaccion();
                }
            }
            catch (Exception E)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Alta_Pago: " + E.Message);
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Metodo para consultar si el dia actual es un dia feriado
        /// </summary>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>20/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        internal static DataTable Consultar_Productos_Servicios(Cls_Apl_Principal_Negocio Negocio) 
        {
            DataTable Dt_Datos = new DataTable();
            DataTable Dt_Datos_Producto_Id = new DataTable();
            StringBuilder Mi_Sql = new StringBuilder();
            Boolean Dia_Festivo = false;
            Conexion.Iniciar_Helper();
            Conexion.HelperGenerico.Conexion_y_Apertura();
            String Producto_Id_Parametro = "";

            try
            {
                //consultamos si el dia de la visita es dia festivo
                Dia_Festivo = Consultar_Dias_Festivos(Negocio.P_Fecha_Visita);

                //Mi_Sql.Append("select " + Cat_Parametros.Campo_Producto_Id_Web + " from " + Cat_Parametros.Tabla_Cat_Parametros);
                //Dt_Datos_Producto_Id = Conexion.HelperGenerico.Obtener_Data_Table(Mi_Sql.ToString());

                ////  se obtiene el parametro del producto que se mostrara en el modulo web
                //foreach (DataRow Registro in Dt_Datos_Producto_Id.Rows)
                //{
                //    if (!String.IsNullOrEmpty(Registro[Cat_Parametros.Campo_Producto_Id_Web].ToString()))
                //        Producto_Id_Parametro = Registro[Cat_Parametros.Campo_Producto_Id_Web].ToString();
                //}

                Mi_Sql.Clear();
                Mi_Sql.Append("select 0 as Cantidad, " + Cat_Productos.Campo_Producto_Id + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Nombre + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Descripcion + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Costo + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Codigo + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Ruta_Imagen + ", ");
                Mi_Sql.Append(Cat_Productos.Campo_Tipo );
                Mi_Sql.Append(" from " + Cat_Productos.Tabla_Cat_Productos);
                Mi_Sql.Append(" where " + Cat_Productos.Campo_Tipo_Servicio + " != 'ESTACIONAMIENTO'");
                Mi_Sql.Append(" and " + Cat_Productos.Campo_Estatus + " = 'ACTIVO' ");
                Mi_Sql.Append(" and " + Cat_Productos.Campo_Web + "= 'S'");

                //if (!String.IsNullOrEmpty(Producto_Id_Parametro))
                //    Mi_Sql.Append(" and " + Cat_Productos.Campo_Producto_Id + " = '" + Producto_Id_Parametro + "'");


                //if (Dia_Festivo)
                //{
                //    Mi_Sql.Append(" and " + Cat_Productos.Campo_Tipo + " = 'Servicio'");

                //    Mi_Sql.Append(" union ");

                //    Mi_Sql.Append("select  0 as Cantidad, " + Cat_Productos.Campo_Producto_Id + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Nombre + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Descripcion + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Costo + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Codigo + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Ruta_Imagen + ", ");
                //    Mi_Sql.Append(Cat_Productos.Campo_Tipo);
                //    Mi_Sql.Append(" from " + Cat_Productos.Tabla_Cat_Productos);
                //    Mi_Sql.Append(" where upper(" + Cat_Productos.Campo_Nombre + ") = 'ENTRADA GENERAL'");
                //}

                Mi_Sql.Append(" order by " + Cat_Productos.Campo_Tipo + " asc");

                Dt_Datos = Conexion.HelperGenerico.Obtener_Data_Table(Mi_Sql.ToString());
            }
            catch (Exception Ex)
            {
                throw new Exception(" Error al consultar los productos y servicios. Error[" + Ex.Message + "]");
            }
            finally 
            {
                Conexion.HelperGenerico.Cerrar_Conexion();
            }
            return Dt_Datos;
        }
Exemplo n.º 13
0
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Alta_Pago
        ///DESCRIPCIÓN          : Inserta un Registro en la base de datos.
        ///PARAMETROS           : Pagos: Instancia de Cls_Ope_Pagos_Negocio con los valores de los campos a dar de alta.
        ///CREO                 : Miguel Angel Bedolla Moreno
        ///FECHA_CREO           : 03/Octubre/2013
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static Boolean Alta_Venta(Cls_Apl_Principal_Negocio P_Ventas)
        {
            String Mi_SQL = "";
            String Consecutivo = "";
            Boolean Alta_Exitosa = false;
            Boolean Transaccion_Activa = false;
            Conexion.Iniciar_Helper();

            if (!Conexion.HelperGenerico.Estatus_Transaccion())
            {
                Conexion.HelperGenerico.Conexion_y_Apertura();
            }
            else
            {
                Transaccion_Activa = true;
            }

            try
            {
                Conexion.HelperGenerico.Iniciar_Transaccion();
                //obtenemos el numero de venta
                string where = "No_Venta like '0%'";
                Consecutivo = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Ventas.Tabla_Ope_Ventas, Ope_Ventas.Campo_No_Venta, where, 10);

                Mi_SQL = "INSERT INTO " + Ope_Ventas.Tabla_Ope_Ventas + " ("
                    + Ope_Ventas.Campo_No_Venta
                    + ", " + Ope_Ventas.Campo_Subtotal
                    + ", " + Ope_Ventas.Campo_Impuestos
                    + ", " + Ope_Ventas.Campo_Descuentos
                    + ", " + Ope_Ventas.Campo_Total
                    + ", " + Ope_Ventas.Campo_Estatus
                    + ", " + Ope_Ventas.Campo_Correo_Electronico
                    + ", " + Ope_Ventas.Campo_Telefono
                    + ", " + Ope_Ventas.Campo_Lugar_Venta
                    + ", " + Ope_Ventas.Campo_Usuario_Creo
                    + ", " + Ope_Ventas.Campo_Fecha_Creo
                    + ") VALUES ('"
                    + Consecutivo
                    + "', ";
                    Mi_SQL += P_Ventas.P_Subtotal
                    + ", 0.00"
                    + ", 0.00"
                    + ", " + P_Ventas.P_Total_Venta
                    + ", '" + P_Ventas.P_Estatus + "'";

                    if(!string.IsNullOrEmpty(P_Ventas.P_Email))
                        Mi_SQL += ", '" + P_Ventas.P_Email + "'";
                    else
                        Mi_SQL += ", NULL";

                    if (!string.IsNullOrEmpty(P_Ventas.P_Telefono))
                        Mi_SQL += ", '" + P_Ventas.P_Telefono + "'";
                    else
                        Mi_SQL += ", NULL";

                    Mi_SQL += ", 'Internet'";
                    Mi_SQL += ", 'Usuario Punto Venta Web"
                    + "', " + Cls_Ayudante_Sintaxis.Fecha()
                    + ")";

                Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());

                //insertamos los detalles de la venta
                if (P_Ventas.P_Dt_Ventas != null)
                {
                    foreach (System.Data.DataRow Dr_Ventas_Detalles in P_Ventas.P_Dt_Ventas.Rows)
                    {
                        Mi_SQL = "INSERT INTO " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + " ("
                            + Ope_Ventas_Detalles.Campo_No_Venta
                            + ", " + Ope_Ventas_Detalles.Campo_Producto_Id
                            + ", " + Ope_Ventas_Detalles.Campo_Cantidad
                            + ", " + Ope_Ventas_Detalles.Campo_Subtotal
                            + ", " + Ope_Ventas_Detalles.Campo_Total
                            + ", " + Ope_Ventas_Detalles.Campo_Usuario_Creo
                            + ", " + Ope_Ventas_Detalles.Campo_Fecha_Creo
                            + ") VALUES ('"
                            + Consecutivo
                            + "', '" + Dr_Ventas_Detalles["PRODUCTO_ID"].ToString()
                            + "', " + ((decimal)Dr_Ventas_Detalles["CANTIDAD"])
                            + ", " + ((decimal)Dr_Ventas_Detalles["COSTO"])
                            + ", " + ((decimal)Dr_Ventas_Detalles["TOTAL"])
                            + ", 'Usuario Punto Venta Web"
                            + "', " + Cls_Ayudante_Sintaxis.Fecha()
                            + ")";
                        Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());
                    }
                }

                //insertamos los datos del pago
                P_Ventas.P_No_Venta = Consecutivo;
                Alta_Pago(P_Ventas);

                // generar acceso
                Cls_Ope_Accesos_Negocio P_Accesos = new Cls_Ope_Accesos_Negocio();
                P_Accesos.P_No_Venta = Consecutivo;
                P_Accesos.P_Vigencia_Inicio = P_Ventas.P_Fecha_Inicio_Vigencia;
                P_Accesos.P_Vigencia_Fin = P_Ventas.P_Fecha_Termino_Vigencia;
                P_Ventas.P_Dt_Productos = P_Accesos.Alta_Acceso(P_Ventas.P_Dt_Ventas);
                
                Alta_Exitosa = true;

                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Terminar_Transaccion();
                }
            }
            catch (Exception E)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Alta_Ventas: " + E.Message);
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
            return Alta_Exitosa;
        }