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

        }
Beispiel #4
0
        /*
         *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;
        }
Beispiel #5
0
        /*
         *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;
            }

        }
Beispiel #6
0
        //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;
        }
Beispiel #7
0
        /*
         *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);

        }