Beispiel #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);
        }