/* *Propósito: Metodo que se encarga de gestionar la sincronizacion de subida *Entradas: string cadenaComprimidaSubida *Salidas: void */ //#Metodo: sincronizacionSubida public void sincronizacionSubida(string cadenaComprimidaSubida, int codigoUsuario) { if (cadenaComprimidaSubida == null) { Console.WriteLine("Los datos de sincronizacion de subida son nulos"); } blServidor.guardarNuevosPedidos(blServidor.descifrar(blServidor.descomprimirString(cadenaComprimidaSubida))); auditoria = new AuditoriaEntidad(); auditoria.CodUsuario = codigoUsuario; auditoria.Descripcion = "Subida de nuevos pedidos"; auditoria.Fecha = DateTime.Now; blServidor.crearAuditoria(auditoria); }
/* *Propósito: Metodo que se encarga de gestionar la sincronizacion de bajada *Entradas: int codigoUltimoProducto, int codigoUltimoNegocio *Salidas: string */ //#Metodo: sincronizacionBajada public string sincronizacionBajada(int codigoUltimoProducto, int codigoUltimoNegocio, int codigoUsuario) { string cadenaComprimidaBajada = ""; string XMLGenerado = blServidor.generarXmlProductosNegocios(codigoUltimoProducto, codigoUltimoProducto); cadenaComprimidaBajada=blServidor.comprimirString(blServidor.cifrar(XMLGenerado)); if (cadenaComprimidaBajada == null) { Console.WriteLine("Los datos de sincronizacion de bajada son nulos"); } auditoria = new AuditoriaEntidad(); auditoria.CodUsuario = codigoUsuario; auditoria.Descripcion = "Bajada de nuevos productos y nuevos negocios"; auditoria.Fecha = DateTime.Now; blServidor.crearAuditoria(auditoria); return cadenaComprimidaBajada; }
/* *Propósito: Método que se encargar de gestionar el evento de sincronizacion de subida y de bajada de los prodctos, negocios y pedidos entre el cliente y el servidor *Entradas: object sender, RoutedEventArgs e *Salidas: void */ //#Metodo: bt_sincronizar_Click private void bt_sincronizar_Click(object sender, RoutedEventArgs e) { DateTime now = DateTime.Now; string msj = ""; bool todoVaBien = true; if (bl.haSincronizadoEnEstaFecha(now)) { msj += "- Ya se ha realizado una sincronizacion el día de hoy\n"; todoVaBien = false; } if (!(DateTime.Compare(now, Convert.ToDateTime("17:00:00")) >= 0) || !(DateTime.Compare(now, Convert.ToDateTime("17:30:00")) <= 0)) { todoVaBien = false; msj += "- Solo puede realizar la sincronización entre las 5:00 pm y las 5:30 pm"; } if (todoVaBien) { //1.crear el proxy (puerta en la que yo acceso al servicio) SincronizacionClient proxy = new SincronizacionClient(); BL blCliente = new BL(); AuditoriaEntidad auditoria = new AuditoriaEntidad(); // 2.usar el servicio //Sincronizacion de bajada string cadenaComprimidaBajada = proxy.sincronizacionBajada(blCliente.ultimoProducto().CodProducto, blCliente.ultimoNegocio().CodNegocio, usuario.CodUsuario); string cadenaDescifrada = blCliente.descifrar(blCliente.descomprimirString(cadenaComprimidaBajada)); blCliente.guardarNuevosProductosYNegocios(cadenaDescifrada); auditoria.CodUsuario = usuario.CodUsuario; auditoria.Descripcion = "Bajada de nuevos productos y nuevos negocios"; auditoria.Fecha = now; blCliente.crearAuditoria(auditoria); //Sincronizacion de subida string cadenaXMLSubida = blCliente.generarXmlNuevosPedidos(); string cadenaCifrada = blCliente.cifrar(cadenaXMLSubida); proxy.sincronizacionSubida(blCliente.comprimirString(cadenaCifrada), usuario.CodUsuario); auditoria = new AuditoriaEntidad(); auditoria.CodUsuario = usuario.CodUsuario; auditoria.Descripcion = "Subida de nuevos pedidos"; auditoria.Fecha = now; blCliente.crearAuditoria(auditoria); //Console.WriteLine("Cadena bajada", cadenaComprimidaBajada); //Console.WriteLine("Cadena subida", cadenaComprimidaSubida); Console.ReadLine(); //3.cerrar el proxy proxy.Close(); msj = "Se realizo la sincronizacion exitosamente"; } MessageBox.Show(msj); }
/* *Propósito: Permite mapear audotoria de entidades a la BD. *Entradas: AuditoriaEntidad *Salidas: Auditoria */ //#Metodo: mapearAuditoriaDeEntidadesAEF private Auditoria mapearAuditoriaDeEntidadesAEF(AuditoriaEntidad item) { Auditoria aud = new Auditoria(); aud.cod_auditoria = item.CodAuditoria; aud.descripcion = item.Descripcion; aud.cod_usuario = item.CodUsuario; aud.fecha = item.Fecha; if (item.Usuario != null) { aud.Usuario = mapearUsuarioDeEntidadesAeF(item.Usuario); } return aud; }
/* *Propósito: Permite crear un registro en la tabla Auditoria a la base de datos. *Entradas: AuditoriaEntidad *Salidas: Auditoria */ //#Metodo: crearAuditoria public Auditoria crearAuditoria(AuditoriaEntidad auditoria) { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { //pedidos.Estado = "creado"; Auditoria aud = new Auditoria(); aud = mapearAuditoriaDeEntidadesAEF(auditoria); contexto.Auditoria.Add(aud); contexto.SaveChanges(); return aud; } }
//Metodos de Entities Framework a Entidades /* *Propósito: Permite mapear usuario de la BD a entidades. *Entradas: Auditoria item *Salidas: AuditoriaEntidad */ //#Metodo: mapearAuditoriaDeEfAEntidades private AuditoriaEntidad mapearAuditoriaDeEfAEntidades(Auditoria item) { AuditoriaEntidad aud = new AuditoriaEntidad(); aud.CodAuditoria = item.cod_auditoria; aud.CodUsuario = item.cod_usuario; aud.Descripcion = item.descripcion; if (item.Usuario != null) { aud.Usuario = mapearUsuarioDeEfAEntidades(item.Usuario); } return aud; }
/* *Propósito: Permite crear un registro en la tabla Auditoria a la base de datos. *Entradas: AuditoriaEntidad *Salidas: Auditoria */ //#Metodo: crearAuditoria public void crearAuditoria(AuditoriaEntidad auditoria) { DAL contexto = new DAL(); contexto.crearAuditoria(auditoria); }