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