示例#1
0
 ///*******************************************************************************************************
 ///NOMBRE_FUNCIÓN: Alta_Acceso
 ///DESCRIPCIÓN: Genera un numero de serie y llama al método de la capa de datos para insertar un acceso
 ///PARÁMETROS:
 ///CREO: Roberto González Oseguera
 ///FECHA_CREO: 15-oct-2013
 ///MODIFICÓ:
 ///FECHA_MODIFICÓ:
 ///CAUSA_MODIFICACIÓN:
 ///*******************************************************************************************************
 public string Alta_Acceso()
 {
     do
     {
         // generar un número de serie
         Numero_Serie = Generar_Cadena_Proteccion(10);
         // repetir si el número generado ya existe
     } while (Cls_Ope_Accesos_Datos.Consultar_Existe_Serie(Numero_Serie) == true);
     // dar de alta la serie
     Cls_Ope_Accesos_Datos.Alta_Acceso(this);
     return(Numero_Serie);
 }
        ///*******************************************************************************************************
        ///NOMBRE_FUNCIÓN: Alta_Acceso
        ///DESCRIPCIÓN: Se lee la tabla, se inserta un acceso por cada producto y se agrega, separados por coma
        ///             a la columna ACCESOS, se debe especificar el no_venta y opcionalmente, las fechas de vigencia
        ///PARÁMETROS:
        ///         1. Dt_Venta: Tabla con detalles de la venta
        ///CREO: Roberto González Oseguera
        ///FECHA_CREO: 16-oct-2013
        ///MODIFICÓ:
        ///FECHA_MODIFICÓ:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************************************
        public DataTable Alta_Acceso(DataTable Dt_Venta)
        {
            int    Cantidad_Producto;
            int    Contador;
            string Separador;
            string Numeros_Serie;
            string Codigos = string.Empty;

            // validar que la tabla no sea nulo
            if (Dt_Venta != null)
            {
                // si la tabla no tiene una columna ACCESOS, agregarla
                if (!Dt_Venta.Columns.Contains("ACCESOS"))
                {
                    Dt_Venta.Columns.Add("ACCESOS", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                // recorrer la tabla
                foreach (DataRow Fila_Venta in Dt_Venta.Rows)
                {
                    // obtener la cantidad de productos, validar que sea mayor que cero y que sea de tipo PRODUCTO
                    if (int.TryParse(Fila_Venta["CANTIDAD"].ToString(), out Cantidad_Producto) == true && Cantidad_Producto > 0 && Fila_Venta["TIPO"].ToString().ToUpper().Equals("PRODUCTO"))
                    {
                        Numeros_Serie = "";
                        Separador     = "";
                        // generar números de serie
                        for (Contador = 0; Contador < Cantidad_Producto; Contador++)
                        {
                            do
                            {
                                Numero_Serie = Generar_Cadena_Proteccion(10);
                                // repetir si el número generado ya existe
                            } while (Cls_Ope_Accesos_Datos.Consultar_Existe_Serie(Numero_Serie) == true);
                            Numeros_Serie += Separador + Numero_Serie;
                            Separador      = ",";

                            // dar de alta el acceso
                            Estatus     = "ACTIVO";
                            Producto_ID = Fila_Venta[Cat_Productos.Campo_Producto_Id].ToString();
                            Codigos    += Cls_Ope_Accesos_Datos.Alta_Acceso(this) + ",";
                        } //  se generaron los número de serie para la fila actual

                        // actualizar valor de la columna ACCESOS
                        //Fila_Venta["ACCESOS"] = Numeros_Serie;
                        Fila_Venta["ACCESOS"] = Codigos;
                    }
                }
            }

            return(Dt_Venta);
        }
示例#3
0
        ///*******************************************************************************************************
        ///NOMBRE_FUNCIÓN: Alta_Acceso
        ///DESCRIPCIÓN: Se lee la tabla, se inserta un acceso por cada producto y se agrega, separados por coma
        ///             a la columna ACCESOS, se debe especificar el no_venta y opcionalmente, las fechas de vigencia
        ///PARÁMETROS:
        ///         1. Dt_Venta: Tabla con detalles de la venta
        ///CREO: Roberto González Oseguera
        ///FECHA_CREO: 16-oct-2013
        ///MODIFICÓ:
        ///FECHA_MODIFICÓ:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************************************
        public DataTable Alta_Acceso(DataTable Dt_Venta)
        {
            int    Cantidad_Producto;
            int    Contador;
            string Separador;
            string Numeros_Serie;
            string Bits_Numeros_Serie;
            String Str_Informacion_Acceso = "";

            String[] Str_Acceso      = new string[2];
            String[] Str_Bits_Acceso = new string[2];

            // validar que la tabla no sea nulo
            if (Dt_Venta != null)
            {
                // si la tabla no tiene una columna ACCESOS, agregarla
                if (!Dt_Venta.Columns.Contains("ACCESOS"))
                {
                    Dt_Venta.Columns.Add("ACCESOS", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("CAJA"))
                {
                    Dt_Venta.Columns.Add("CAJA", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("FOLIO"))
                {
                    Dt_Venta.Columns.Add("FOLIO", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("FECHA"))
                {
                    Dt_Venta.Columns.Add("FECHA", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("HORA"))
                {
                    Dt_Venta.Columns.Add("HORA", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("VIGENCIA"))
                {
                    Dt_Venta.Columns.Add("VIGENCIA", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }
                if (!Dt_Venta.Columns.Contains("ASCII"))
                {
                    Dt_Venta.Columns.Add("ASCII", typeof(System.String));
                    Dt_Venta.AcceptChanges();
                }


                // recorrer la tabla
                foreach (DataRow Fila_Venta in Dt_Venta.Rows)
                {
                    // obtener la cantidad de productos, validar que sea mayor que cero y que sea de tipo PRODUCTO
                    if (int.TryParse(Fila_Venta["CANTIDAD"].ToString(), out Cantidad_Producto) == true && Cantidad_Producto > 0 && Fila_Venta["TIPO"].ToString().ToUpper().Equals("PRODUCTO"))
                    {
                        Numeros_Serie          = "";
                        Bits_Numeros_Serie     = "";
                        Separador              = "";
                        Str_Informacion_Acceso = "";
                        Numero_Serie           = "";

                        // generar números de serie
                        for (Contador = 0; Contador < Cantidad_Producto; Contador++)
                        {
                            //do
                            //{
                            Numero_Serie = Generar_Cadena_Proteccion(10);
                            //    // repetir si el número generado ya existe
                            //} while (Cls_Ope_Accesos_Datos.Consultar_Existe_Serie(Numero_Serie) == true);

                            Str_Bits_Acceso   = Numero_Serie.Split(',');
                            Numero_Serie      = Str_Bits_Acceso[0].ToString();
                            Byts_Numero_Serie = Str_Bits_Acceso[1].ToString();

                            Bits_Numeros_Serie += Separador + Str_Bits_Acceso[1];
                            Numeros_Serie      += Separador + Str_Bits_Acceso[0];
                            Separador           = ",";


                            // dar de alta el acceso
                            Estatus                 = "ACTIVO";
                            Producto_ID             = Fila_Venta[Cat_Productos.Campo_Producto_Id].ToString();
                            Str_Informacion_Acceso += Cls_Ope_Accesos_Datos.Alta_Acceso(this);
                        } //  se generaron los número de serie para la fila actual
                          // actualizar valor de la columna ACCESOS

                        Str_Acceso = Str_Informacion_Acceso.Split(',');

                        String Str_Folios_Accesos = "";
                        Int64  Cont_For           = 0;
                        Int64  Cont_Accesos       = 1;

                        foreach (String X in Str_Acceso)
                        {
                            if (Cont_For == Cont_Accesos)
                            {
                                Str_Folios_Accesos += X;
                                Str_Folios_Accesos += ",";
                                Cont_Accesos        = Cont_Accesos + 2;
                            }
                            Cont_For++;
                        }


                        Fila_Venta["ACCESOS"]  = Numeros_Serie;
                        Fila_Venta["FECHA"]    = DateTime.Now.ToString("dd/MMM/yyyy");
                        Fila_Venta["HORA"]     = DateTime.Now.ToString("hh:mm:ss tt");
                        Fila_Venta["VIGENCIA"] = Str_Acceso[0];
                        Fila_Venta["FOLIO"]    = Str_Folios_Accesos;
                        Fila_Venta["ASCII"]    = Bits_Numeros_Serie;
                        Fila_Venta["CAJA"]     = ERP_BASE.Paginas.Paginas_Generales.MDI_Frm_Apl_Principal.Numero_Caja;
                    }
                }
            }

            return(Dt_Venta);
        }