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