Пример #1
0
        // REGISTRO DE SINCRONIZACION
        private void BtnIniciarSync_Click(object sender, EventArgs e)
        {
            ClienteRegistroSync Cliente = new ClienteRegistroSync()
            {
                Version     = string.Empty,
                Usuario     = "Efrain-001",
                Dispositivo = "EMCServer",
                Estado      = "INICIADO"
            };
            var jsonInicioSync = JsonConvert.SerializeObject(Cliente);

            IniciarSync(jsonInicioSync);
        }
        public HttpResponseMessage PostEngyneSync([FromBody] ClienteRegistroSync Cliente) // REGISTRA SINCRONIZACION EN TABLA
        {
            if (Cliente == null)
            {
                throw new ArgumentNullException();
            }

            var response = Request.CreateResponse <ClienteRegistroSync>(HttpStatusCode.Created, Cliente);

            Engine.EngineDb FuncionDb          = new Engine.EngineDb();
            int             ExisteSyncIniciada = FuncionDb.ExisteSyncIniciada();

            if (ExisteSyncIniciada == -200)                                                                              // VALIDAR SINCRONIZACION EN PROCESO
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "EngineSync/" + Engine.EngineData.SyncEnProceso); // EXISTE SINCRONIZACION EN PROCESO
                return(response);
            }

            Cliente.Version = string.Empty;
            int existe = 1;

            while (existe >= 1)
            {
                Cliente.Version = Engine.EngineFloraNueva.IdentificadorReg().ToString(); // CREA IDENTIFICADOR (GUID) DE LA VERSION DE SINCRONIZACION
                existe          = FuncionDb.ExisteVersionSync(Cliente.Version);          // VALIDA QUE EL GUID NO EXISTA EN DB
            }

            int resultado = FuncionDb.InsertarSync(Cliente.Version, Cliente.Usuario, Cliente.Dispositivo, Cliente.Estado);

            if (resultado == 1)
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "EngineSync/" + Cliente.Version); // RETORNA IDENTIFICADOR (GUID) DE LA VERSION DE SINCRONIZACION
            }
            else
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "EngineSync" + Engine.EngineData.SyncRegistroFallido);// LA SINCRONIZACION NO PUDO SER REGISTRADA
                return(response);
            }

            return(response);
        }