public IEnumerator FollowingAcceptance(long idFollower, string acceptanceStatus) { WWWForm form = new WWWForm(); var idUser = ""; if (Application.platform == RuntimePlatform.WindowsEditor) { idUser = "******"; } else { idUser = FB.UserId; } form.AddField("followed", idUser); form.AddField("follower", idFollower.ToString()); form.AddField("status", acceptanceStatus); yield return(WebService.POST(SERVER_URL + "/usuario/followResponse", form, (status, response) => { if (status) { using (var sqlite = new SQLiteService()) { sqlite.TransactionalQuery("DELETE FROM UserFollowingNotification WHERE idUsuarioFacebook = '" + idUser + "' and idFollower = '" + idFollower + "'"); } } } )); }
private void OnTouchResetButton(object sender, TouchEventArgs e) { StringBuilder sqlQueryBuilder = new StringBuilder(); //Poner las fechas de la lista de los detalleUsuarioTourList en blanco foreach (var detalleUsuarioTour in detalleUsuarioTourList) { ////En la base de datos sqlQueryBuilder.Append( "UPDATE DetalleUsuarioTour SET fechaInicio = null, fechaLlegada = null, fechaFin = null " + "WHERE id = " + detalleUsuarioTour.idDetalleUsuarioTour.Value + ";" ); ////En la lista detalleUsuarioTour.fechaFin = null; detalleUsuarioTour.fechaInicio = null; detalleUsuarioTour.fechaLlegada = null; } using (var service = new SQLiteService()) { service.TransactionalQuery(sqlQueryBuilder.ToString()); } //Poner los hijos actualizados UpdateCreateScrollView(); }
private void GetUsuarioInfoResult(FBResult result) { if (!string.IsNullOrEmpty(result.Error)) { Debug.LogError(result.Error); } else { var json = new JSONObject(result.Text); var user = new Usuario(json); var modelPool = ModelPoolManager.GetInstance(); if (!modelPool.Contains("Usuario")) { user.email = user.email.Replace("\\u0040", "@"); ModelPoolManager.GetInstance().Add("Usuario", user); using (var sqliteService = new SQLiteService()) { bool isInDB = false; var query = "SELECT * FROM Usuario WHERE idUsuarioFacebook = " + user.idUsuarioFacebook.Value; using (var reader = sqliteService.SelectQuery(query)) { if (reader.Read()) { isInDB = true; } else { isInDB = false; } } if (!isInDB) { query = "SELECT MAX(id) as id FROM Usuario"; int id = 0; using (var reader = sqliteService.SelectQuery(query)) { int temp; if (int.TryParse(Convert.ToString(reader["id"]), out temp)) { id = temp; } } id++; sqliteService.TransactionalQuery( "INSERT INTO Usuario VALUES (" + id + ",'" + user.idUsuarioFacebook + "','" + user.nombre + "','" + user.apellido + "','" + user.email + "','" + user.gender + "');" ); } } FB.API("/me/picture?width=128&height=128", Facebook.HttpMethod.GET, GetUsuarioInfoPhotoResult); StartCoroutine(SendUserFacebookId(user)); } } }
public bool UpdateSectionTour(out bool isEndTour) { isEndTour = false; string nodeName; if (IsUserCollidingBuilding(out nodeName)) { if (!isStartingSectionTour && currentSectionTourData.Desde == nodeName) { isStartingSectionTour = true; var detalleUsuarioTour = this.detalleUsuarioTourList.Find(detalle => { return(detalle.idPuntoReunionTour == currentSectionTourData.IdPuntoReuionNodoDesde); }); detalleUsuarioTour.fechaInicio = DateTime.Now; using (var sqlService = new SQLiteService()) { if (!(currentIndex == 0)) { sqlService.TransactionalQuery( "UPDATE DetalleUsuarioTour SET " + "fechaInicio = '" + detalleUsuarioTour.fechaInicio.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' " + "WHERE id = " + detalleUsuarioTour.idDetalleUsuarioTour ); } else { detalleUsuarioTour.fechaLlegada = detalleUsuarioTour.fechaInicio; sqlService.TransactionalQuery( "UPDATE DetalleUsuarioTour SET " + "fechaInicio = '" + detalleUsuarioTour.fechaInicio.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' AND " + "fechaLlegada = '" + detalleUsuarioTour.fechaLlegada.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' " + "WHERE id = " + detalleUsuarioTour.idDetalleUsuarioTour ); } } } else if (!isEndingSectionTour && currentSectionTourData.Hasta == nodeName) { isEndingSectionTour = true; var detalleUsuarioTour = this.detalleUsuarioTourList.Find(detalle => { return(detalle.idPuntoReunionTour == currentSectionTourData.IdPuntoReuionNodoHasta); }); detalleUsuarioTour.fechaLlegada = DateTime.Now; using (var sqlService = new SQLiteService()) { if (!(currentIndex == sectionTourDataList.Count - 1)) { sqlService.TransactionalQuery( "UPDATE DetalleUsuarioTour SET " + "fechaLlegada = '" + detalleUsuarioTour.fechaLlegada.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' " + "WHERE id = " + detalleUsuarioTour.idDetalleUsuarioTour ); } else { detalleUsuarioTour.fechaInicio = detalleUsuarioTour.fechaLlegada; sqlService.TransactionalQuery( "UPDATE DetalleUsuarioTour SET " + "fechaInicio = '" + detalleUsuarioTour.fechaInicio.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' AND " + "fechaLlegada = '" + detalleUsuarioTour.fechaLlegada.Value.ToString("dd/MM/yyyy HH:mm:ss") + "' " + "WHERE id = " + detalleUsuarioTour.idDetalleUsuarioTour ); } } } } if (isEndingSectionTour && isStartingSectionTour) { ResetValues(); if (!CanChangeToNextSectionTour()) { isEndTour = true; } return(true); } return(false); }
public void Update() { State.ChangeState(eState.Tour); using (var sqlService = new SQLiteService()) { //Verificar si el tour se completó var tourCtrl = ModelPoolManager.GetInstance().GetValue("tourCtrl") as TourController; if (tourCtrl.isEndTour) { sqlService.TransactionalQuery( "UPDATE UsuarioTour SET estado = 'finalizado' AND fechaFin = '" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + "' WHERE id = " + this.idUsuarioTour ); } else { sqlService.TransactionalQuery( "UPDATE UsuarioTour SET estado = 'inconcluso' AND fechaFin = null WHERE id = " + this.idUsuarioTour ); } ModelPoolManager.GetInstance().Remove("tourCtrl"); this.detalleUsuarioTourList.Clear(); var sql = "SELECT * FROM DetalleUsuarioTour WHERE idUsuarioTour = " + idUsuarioTour; using (var resultDetalleUsuarioTour = sqlService.SelectQuery(sql)) { while (resultDetalleUsuarioTour.Read()) { DateTime?updatedDate = null, startDate = null, endDate = null; DateTime temp; var obj = resultDetalleUsuarioTour["fechaInicio"]; if (obj != null) { var fechaInicio = Convert.ToString(obj); if (DateTime.TryParseExact(fechaInicio, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { startDate = temp; } } obj = resultDetalleUsuarioTour["fechaLlegada"]; if (obj != null) { var fechaFin = Convert.ToString(obj); if (DateTime.TryParseExact(fechaFin, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { endDate = temp; } } obj = resultDetalleUsuarioTour["fechaFin"]; if (obj != null) { var fechaActualizacion = Convert.ToString(obj); if (DateTime.TryParseExact(fechaActualizacion, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { updatedDate = temp; } } this.detalleUsuarioTourList.Add( new DetalleUsuarioTour() { idDetalleUsuarioTour = Convert.ToInt32(resultDetalleUsuarioTour["id"]), idPuntoReunionTour = Convert.ToInt32(resultDetalleUsuarioTour["idPuntoReunionTour"]), idUsuarioTour = idUsuarioTour, fechaInicio = startDate, fechaLlegada = endDate, fechaFin = updatedDate } ); } } } UpdateCreateScrollView(); }
private void Process(Tour tour, out UsuarioTour usuarioTour, out List <DetalleUsuarioTour> detalleUsuarioTourList) { UsuarioTour userTour = null; List <DetalleUsuarioTour> detailsList = new List <DetalleUsuarioTour>(); using (var sqlService = new SQLiteService()) { var user = ModelPoolManager.GetInstance().GetValue("Usuario") as Usuario; //Del tour seleccionado verificar si el usuario esta suscrito var sqlQuery = "SELECT * FROM UsuarioTour WHERE idUsuarioFacebook = '" + user.idUsuarioFacebook + "' AND idTour = " + tour.idTour; using (var resultUsuarioTour = sqlService.SelectQuery(sqlQuery)) { //El UsuarioTour ya ha sido creado if (resultUsuarioTour.HasRows == true) { #region Recuperacion UsuarioTour DateTime?startDate = null, endDate = null; DateTime temp; var obj = resultUsuarioTour["fechaInicio"]; if (obj != null) { string fechaInicio = Convert.ToString(obj); if (DateTime.TryParseExact(fechaInicio, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { startDate = temp; } } obj = resultUsuarioTour["fechaFin"]; if (obj != null) { string fechaFin = Convert.ToString(obj); if (DateTime.TryParseExact(fechaFin, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { endDate = temp; } } userTour = new UsuarioTour() { idUsuarioFacebook = user.idUsuarioFacebook, idUsuarioTour = Convert.ToInt32(resultUsuarioTour["id"]), idTour = Convert.ToInt32(resultUsuarioTour["idTour"]), estado = Convert.ToString(resultUsuarioTour["estado"]), fechaInicio = startDate, fechaFin = endDate }; #endregion #region Recuperacion DetalleUsuarioTour var sql = "SELECT * FROM DetalleUsuarioTour WHERE idUsuarioTour = " + userTour.idUsuarioTour; using (var resultDetalleUsuarioTour = sqlService.SelectQuery(sql)) { while (resultDetalleUsuarioTour.Read()) { DateTime?updatedDate = null; startDate = endDate = null; obj = resultDetalleUsuarioTour["fechaInicio"]; if (obj != null) { var fechaInicio = Convert.ToString(obj); if (DateTime.TryParseExact(fechaInicio, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { startDate = temp; } } obj = resultDetalleUsuarioTour["fechaLlegada"]; if (obj != null) { var fechaFin = Convert.ToString(obj); if (DateTime.TryParseExact(fechaFin, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { endDate = temp; } } obj = resultDetalleUsuarioTour["fechaFin"]; if (obj != null) { var fechaActualizacion = Convert.ToString(obj); if (DateTime.TryParseExact(fechaActualizacion, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp)) { updatedDate = temp; } } detailsList.Add( new DetalleUsuarioTour() { idDetalleUsuarioTour = Convert.ToInt32(resultDetalleUsuarioTour["id"]), idPuntoReunionTour = Convert.ToInt32(resultDetalleUsuarioTour["idPuntoReunionTour"]), idUsuarioTour = userTour.idUsuarioTour, fechaInicio = startDate, fechaLlegada = endDate, fechaFin = updatedDate } ); } } #endregion } //Se creará un nuevo registro de UsuarioTour y sus repectivos DetalleUsuarioTour else { #region Creacion UsuarioTour //Buscando el ultimo id int idUsuarioTour = 0; using (var result = sqlService.SelectQuery("SELECT MAX(id) as id FROM UsuarioTour")) { while (result.Read()) { int.TryParse(Convert.ToString(result["id"]), out idUsuarioTour); } } idUsuarioTour++; var fechaInicio = DateTime.Now; //Creacion del UsuarioTour //Insertando en la base de datos sqlService.TransactionalQuery( "INSERT INTO UsuarioTour (id, idTour, idUsuarioFacebook, fechaInicio, request) " + "VALUES (" + idUsuarioTour + "," + tour.idTour + ",'" + user.idUsuarioFacebook + "','" + fechaInicio.ToString("dd/MM/yyyy HH:mm:ss") + "','create')" ); //sqlService.TransactionalQuery( // "INSERT INTO UsuarioTour (id, idTour, fechaInicio, request) " + // "VALUES (" + idUsuarioTour + "," + tour.idTour + ",'" + fechaInicio.ToString("dd/MM/yyyy HH:mm:ss") + "','create')" //); //Creacion del objeto de UsuarioTour userTour = new UsuarioTour() { idUsuarioTour = idUsuarioTour, fechaInicio = fechaInicio, idTour = tour.idTour, estado = "activo", idUsuarioFacebook = user.idUsuarioFacebook }; //userTour = new UsuarioTour() //{ // idUsuarioTour = idUsuarioTour, // fechaInicio = fechaInicio, // idTour = tour.idTour, // estado = "activo", //}; #endregion #region Creacion DetalleUsuarioTourList //Obtener los puntos de reunion del tour selecionado var puntoReuionList = new List <PuntoReunionTour>(); using (var result = sqlService.SelectQuery("SELECT * FROM PuntoReunionTour WHERE idTour = " + tour.idTour)) { while (result.Read()) { var puntoReunion = new PuntoReunionTour() { idPuntoReunionTour = Convert.ToInt32(result["id"]), secuencia = Convert.ToInt32(result["secuencia"]), idNodo = Convert.ToInt32(result["idNodo"]), idTour = Convert.ToInt32(result["idTour"]) }; puntoReuionList.Add(puntoReunion); } } //Creacion del DetalleUsuarioTour //Buscando el ultimo id int idDetalleUsuarioTour = 0; using (var result = sqlService.SelectQuery("SELECT MAX(id) as id FROM DetalleUsuarioTour")) { if (result.Read()) { int.TryParse(Convert.ToString(result["id"]), out idDetalleUsuarioTour); } } StringBuilder sqlBuilder = new StringBuilder(); foreach (var puntoReunion in puntoReuionList) { idDetalleUsuarioTour++; //Insertando en la base de datos sqlBuilder.Append( "INSERT INTO DetalleUsuarioTour (id, idPuntoReunionTour, idUsuarioTour) " + "VALUES (" + idDetalleUsuarioTour + "," + puntoReunion.idPuntoReunionTour + "," + idUsuarioTour + ");" ); //Creacion del objeto de DetalleUsuarioTour detailsList.Add( new DetalleUsuarioTour() { idDetalleUsuarioTour = idDetalleUsuarioTour, idPuntoReunionTour = puntoReunion.idPuntoReunionTour, idUsuarioTour = idUsuarioTour } ); } sqlService.TransactionalQuery(sqlBuilder.ToString()); #endregion } } } usuarioTour = userTour; detalleUsuarioTourList = detailsList; }
public IEnumerator ReceiveFollowingRequest() { var idUser = ""; if (Application.platform == RuntimePlatform.WindowsEditor) { idUser = "******"; } else { idUser = FB.UserId; } WWWForm form = new WWWForm(); form.AddField("id", idUser); yield return(WebService.POST(SERVER_URL + "/usuario/notifyFollowingRequest", form, (status, response) => { if (status) { Debug.Log("notifyFollowingRequest -> " + response); var json = new JSONObject(response); if (json.list.Count > 0) { using (var sqlite = new SQLiteService()) { Dictionary <long, string> notificationToSave = new Dictionary <long, string>(); foreach (var notification in json.list) { var idNotification = Convert.ToInt64(notification.GetField("id").str); var nombre = notification.GetField("name").str; notificationToSave.Add(idNotification, nombre); Debug.Log("Request for FOLLOW from: " + idNotification); } //Limpiar la tabla de notificaciones sqlite.TransactionalQuery("DELETE FROM UserFollowingNotification"); //Insertar en la base de datos int id = 0; var queryBuilder = new StringBuilder(); foreach (var notification in notificationToSave) { id++; queryBuilder.Append("INSERT INTO UserFollowingNotification VALUES (" + id + ",'" + idUser + "','" + notification.Key + "','" + notification.Value + "');"); } sqlite.TransactionalQuery(queryBuilder.ToString()); if (UIUtils.notificationPendingFollowCount == id) { UIUtils.PushFollowingNotification(false); } else { UIUtils.PushFollowingNotification(true); } } } } })); if (!IsEnterPendingFollowingNotification) { StartCoroutine(CountDown(10f, value => IsEnterPendingFollowingNotification = value)); yield return(new WaitForSeconds(0.5f)); } }
private IEnumerator ReceiveSharedFriendLocatioNotification() { var idUser = ""; if (Application.platform == RuntimePlatform.WindowsEditor) { idUser = "******"; } else { idUser = FB.UserId; } WWWForm form = new WWWForm(); form.AddField("id", idUser); yield return(WebService.POST(SERVER_URL + "/usuario/notifySharedLocationRequest", form, (status, response) => { if (status) { Debug.Log("notifySharedLocationRequest -> " + response); var json = new JSONObject(response); if (json.list.Count > 0) { using (var sqlite = new SQLiteService()) { Dictionary <long, object> notificationToSave = new Dictionary <long, object>(); foreach (var notification in json.list) { var idUsuario = Convert.ToInt64(notification.GetField("id").str); var nombre = notification.GetField("nombre").str; var nodo = Convert.ToInt32(notification.GetField("nodo").n); var mensaje = notification.GetField("mensaje").str; notificationToSave.Add(idUsuario, new { nombre, nodo, mensaje }); Debug.Log("Shared Location Request from: " + idUsuario); } //Limpiar la tabla de notificaciones sqlite.TransactionalQuery("DELETE FROM UserSharedLocationNotification"); //Insertar en la base de datos int id = 0; var queryBuilder = new StringBuilder(); foreach (var notification in notificationToSave) { id++; var nodo = Convert.ToInt32(notification.Value.GetType().GetProperty("nodo").GetValue(notification.Value, null)); var nombre = Convert.ToString(notification.Value.GetType().GetProperty("nombre").GetValue(notification.Value, null)); var mensaje = Convert.ToString(notification.Value.GetType().GetProperty("mensaje").GetValue(notification.Value, null)); queryBuilder.Append("INSERT INTO UserSharedLocationNotification VALUES (" + id + ",'" + idUser + "','" + notification.Key + "','" + nombre + "'," + nodo + ",'" + mensaje + "');"); } sqlite.TransactionalQuery(queryBuilder.ToString()); //if (UIUtils.notificationPendingFollowCount == id) //{ // UIUtils.PushSharedLocationNotification(false); //} //else //{ // UIUtils.PushSharedLocationNotification(true); //} } } } })); if (!IsEnterSharedLocationNotification) { StartCoroutine(CountDown(10f, value => IsEnterSharedLocationNotification = value)); yield return(new WaitForSeconds(0.5f)); } }