///******************************************************************************************************* ///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); }