protected virtual void Initialize() { Title.text = news_entry.Title; string month = news_entry.Creation_time.ToString("MMMM").ToUpper().Substring(0, 3); Creation_time.text = month + " " + news_entry.Creation_time.Day.ToString() + " de " + news_entry.Creation_time.Year; Detail.text = news_entry.Details; if (news_entry.Imgs.Count > 0 && news_entry.Imgs[0] != "empty") { foreach (string image in news_entry.Imgs) { Http_Client.Download_Image(image, transform, Handle_Img_Response); } } Canvas.ForceUpdateCanvases(); GetComponentInChildren <VerticalLayoutGroup>().SetLayoutVertical(); if (!news_entry.Seen) { string[] field_names = { "REQUEST_TYPE", "news_id", "id" }; string[] field_values = { "set_news_seen", news_entry.Id.ToString(), User.User_Info.Id.ToString() }; Http_Client.Send_Post(field_names, field_values, (string response, Handler_Type type) => { }, Handler_Type.none); news_entry.Seen = true; User.User_Info.News_Data.Add(news_entry.Id); Database_Handler.Update_Unread(Handler_Type.news); } }
public static void Spawn_Sections() { List <DateTime> sections = new List <DateTime>(); List <int> idxs = new List <int>(); List <Data_struct> list = Database_Handler.Data_List_Get(typeof(Calendar_Events)); for (int a = 0; a < list.Count; a++) { Calendar_Event c_event = (Calendar_Event)list[a]; if (sections.Find(x => (x.Month == c_event.Date_Event.Month && x.Year == c_event.Date_Event.Year)).Year == 1) { sections.Add(new DateTime(c_event.Date_Event.Year, c_event.Date_Event.Month, 1)); idxs.Add(a + idxs.Count); } } Transform parent = Calendar_Events.Singleton.Data_UI_Parent; for (int x = 0; x < idxs.Count; x++) { GameObject element_obj = Instantiate(((Calendar_Events)Calendar_Events.Singleton).Data_Section_UI_Prefab, parent); element_obj.name = typeof(Calendar_Events).ToString() + "_section"; element_obj.transform.SetSiblingIndex(idxs[x] + 1); element_obj.GetComponent <Calendar_Events_section>().Set_Value(sections[x]); } }
public void Initialize(DateTime month) { this.Date = month; month_text.text = month.ToString("MMMM") + " " + month.Year; // Get monday before first of the month. DateTime first_day = month.AddDays(-Get_Distance_To_Monday(month.DayOfWeek)); DateTime temp = first_day; foreach (Calendar_Day day in days) { day.Set_date(temp, this); List <Data_struct> list = new List <Data_struct>(); // Set Calendar_Day values. foreach (Calendar_Event data in Database_Handler.Data_List_Get(typeof(Calendar_Events))) { if (data.Date_Event.Year == temp.Year && data.Date_Event.Month == temp.Month && data.Date_Event.Day == temp.Day) { list.Add(data); } } day.Set_Event(list); temp = temp.AddDays(1); } }
/// <summary> /// Called on server response. /// </summary> protected void Handle_Vote_Response(string response, Handler_Type type) { if (response.Contains("500")) { Message.ShowMessage("Error interno del servidor."); return; } if (User.User_Info.Polls_Data.Exists(x => x.id == poll.Id)) { User.User_Info.Polls_Data.Find(x => x.id == poll.Id).response = temp_vote; } else { User.User_Info.Polls_Data.Add(new User.Vote_Data() { id = poll.Id, response = temp_vote }); } for (int x = 0; x < poll.Vote_Voters.Count; x++) { if (poll.Vote_Voters[x].Exists(a => a.Id == User.User_Info.Id)) { poll.Vote_Voters[x].Remove(poll.Vote_Voters[x].Find(a => a.Id == User.User_Info.Id)); } } poll.Vote_Voters[temp_vote].Add(User.User_Info); poll.Status = poll.Vote_Types[temp_vote]; poll.Selected_Option_Idx = temp_vote; List <Data_struct> polls = Polls.Data_List_Get(typeof(Polls)); for (int x = 0; x < polls.Count; x++) { if (polls[x].Id == poll.Id) { polls[x] = poll; Polls.Data_List_Set(typeof(Polls), polls); break; } } Message.ShowMessage("Base de datos actualizada con éxito."); if (this != null) { Show_Poll_Details(); Set_Interactable(true); } Database_Handler.Update_Unread(Handler_Type.polls); }
/// <summary> /// Called on server response. /// </summary> protected void Handle_Event_Response(string response, Handler_Type type) { if (response.Contains("500")) { Message.ShowMessage("Error interno del servidor."); return; } if (User.User_Info.Events_Data.Exists(x => x.id == calendar_event.Id)) { User.User_Info.Events_Data.Find(x => x.id == calendar_event.Id).response = temp_vote; } else { User.User_Info.Events_Data.Add(new User.Vote_Data() { id = calendar_event.Id, response = temp_vote }); } for (int x = 0; x < calendar_event.Vote_Voters.Count; x++) { if (calendar_event.Vote_Voters[x].Exists(a => a.Id == User.User_Info.Id)) { calendar_event.Vote_Voters[x].Remove(calendar_event.Vote_Voters[x].Find(a => a.Id == User.User_Info.Id)); } } calendar_event.Vote_Voters[temp_vote].Add(User.User_Info); calendar_event.Status = calendar_event.Vote_Types[temp_vote]; List <Data_struct> calendar_events = Calendar_Events.Data_List_Get(typeof(Calendar_Events)); for (int x = 0; x < calendar_events.Count; x++) { if (calendar_events[x].Id == calendar_event.Id) { calendar_events[x] = calendar_event; Calendar_Events.Data_List_Set(typeof(Calendar_Events), calendar_events); break; } } Message.ShowMessage("Base de datos actualizada con éxito."); if (this != null) { Show_Event_Details(); Set_Interactable(true); } Database_Handler.Update_Unread(Handler_Type.events); }
void Update() { if (!downloaded_all || Database_Handler.Singleton != null && !Initialized[Database_Handler.Singleton.GetType()] || (!updating && scroll_view_content.localPosition.y < -50 && Input.GetMouseButtonUp(0))) { if (!downloaded_all) { Database_Handler.Load_Data_Server(Handler_Type.events); Database_Handler.Load_Data_Server(Handler_Type.news); Database_Handler.Load_Data_Server(Handler_Type.polls); Database_Handler.Load_Data_Server(Handler_Type.docs); downloaded_all = true; } else { if (Menu.Active_Item == Menu.Menu_item.Home) { Database_Handler.Load_Data_Server(Handler_Type.events); } else if (Menu.Active_Item != Menu.Menu_item.Users) { Database_Handler.Load_Data_Server((Handler_Type)Menu.Active_Item); } if (Initialized[typeof(Calendar_Events)]) { User.Update_Data("", "", false, true); } } updating = true; load_icon.gameObject.SetActive(true); load_icon.sizeDelta = new Vector3(load_icon.sizeDelta.x, 60); Utils.Update_UI = true; } else if (!updating && User_Loaded >= 1 && Singleton.load_icon.sizeDelta.y > 0) { Singleton.load_icon.sizeDelta = new Vector3(Singleton.load_icon.sizeDelta.x, Singleton.load_icon.sizeDelta.y - Time.deltaTime * 250); if (Singleton.load_icon.sizeDelta.y < 0) { Singleton.load_icon.sizeDelta = new Vector3(Singleton.load_icon.sizeDelta.x, 0); Singleton.load_icon.gameObject.SetActive(false); if (Menu.Active_Item == Menu.Menu_item.Home) { Utils.Update_UI = true; } } } }
public void Delete() { string[] field_names = { "REQUEST_TYPE", "data_id" }; string[] field_values; if (Data.GetType().Equals(typeof(Poll))) { field_values = new string[] { "delete_poll", Data.Id.ToString() } } ; else if (Data.GetType().Equals(typeof(Calendar_Event))) { field_values = new string[] { "delete_event", Data.Id.ToString() } } ; else if (Data.GetType().Equals(typeof(News_Entry))) { field_values = new string[] { "delete_news", Data.Id.ToString() } } ; else { return; } Notification_UI_Pop.Show_Message( "Confirmar eliminación", "Seguro que quieres eliminar este archivo?", () => { Type type = Data.Database_Handler_Type(); List <Data_struct> data_list = Database_Handler.Data_List_Get(type); data_list.Remove(data_list.Find(a => a.Id == Data.Id)); Database_Handler.Data_List_Set(type, data_list); Http_Client.Send_Post( field_names, field_values, Handle_Delete_Response ); Menu.Singleton.Load_Scene_Menu_Item(Prev); }, "Eliminar", "Cancelar"); }
static void Load_Data_Cache() { if (PlayerPrefs.HasKey("user_database") && PlayerPrefs.HasKey("version") && PlayerPrefs.HasKey("db_key") && PlayerPrefs.GetString("version") == Application.version.ToString() && Database_Handler.Is_Clean(PlayerPrefs.GetString("user_database"))) { Debug.Log("Loading from cache"); User.Psswd = PlayerPrefs.GetString("user_psswd"); User.User_Info.Username = PlayerPrefs.GetString("user_username"); Login.Singleton.Set_Input_Fields(); User.Parse_User_Data(PlayerPrefs.GetString("user_database")); Database_Handler.Load_Data_Cache(Handler_Type.news); Database_Handler.Load_Data_Cache(Handler_Type.events); Database_Handler.Load_Data_Cache(Handler_Type.polls); Database_Handler.Load_Data_Cache(Handler_Type.docs); User.Update_Data("", "", false); } }
static System.Collections.IEnumerator Redirect(Data_struct data) { while (Database_Handler.Data_List_Get(data.Database_Handler_Type()).Count == 0) { yield return(null); } yield return(null); List <Data_struct> data_list = Database_Handler.Data_List_Get(data.Database_Handler_Type()); Data_struct chosen_data = data_list.Find(x => x.Id == data.Id); if (!chosen_data.Equals(Activator.CreateInstance(chosen_data.GetType()))) { Database_Handler.Selected_Data = chosen_data; switch ((Notification_Sender.Redirect_Type)Enum.Parse(typeof(Notification_Sender.Redirect_Type), data.GetType().ToString())) { case Notification_Sender.Redirect_Type.Calendar_Event: Menu.Singleton.Load_Scene_Menu_Item(Menu.Menu_item.Events_details); break; case Notification_Sender.Redirect_Type.News_Entry: Menu.Singleton.Load_Scene_Menu_Item(Menu.Menu_item.News_details); break; case Notification_Sender.Redirect_Type.Poll: if (((Poll)chosen_data).Votable_Type == Votable_Type.Multiple_Single_Select) { Menu.Singleton.Load_Scene_Menu_Item(Menu.Menu_item.Poll_details_single); } else { Menu.Singleton.Load_Scene_Menu_Item(Menu.Menu_item.Poll_details_multi); } break; } } }
public static void Parse_User_Data(string response, bool load = true, bool save = false) { if (load) { On_Success_temp = Login.Singleton.On_Load_Success; OnFailure_temp = Login.Singleton.On_Load_Failure; } string[] tokens = Utils.Split(response, '~'); string[] tokens_error = Utils.Split(response, '*'); if (tokens[0] == "VERIFIED.") { Handle_User_Data(tokens[1]); if (save) { Debug.Log("Saving user database."); Database_Handler.Save_Database("user_database", response); PlayerPrefs.SetString("user_username", User_Info.Username); PlayerPrefs.SetString("user_psswd", Psswd); PlayerPrefs.SetString("version", Application.version.ToString()); } Initialized = true; On_Success_temp?.Invoke(); } else { if (!response.ToLower().Contains("wrong_credentials")) { Message.ShowMessage("Error interno del servidor."); } OnFailure_temp?.Invoke(); } }
public void Logout() { Database_Handler.Initialize_Dictionaries(); string lock_pwd = PlayerPrefs.GetString("lock_pwd"); string db_key = PlayerPrefs.GetString("db_key"); PlayerPrefs.DeleteAll(); PlayerPrefs.SetString("lock_pwd", lock_pwd); PlayerPrefs.SetString("db_key", db_key); Firebase_Handler.Modify_Registration_Token(Firebase_Handler.Operation.remove, new Firebase_Handler.FCM_Params() { Concluding_Method = (object[] data) => { User.Initialized = false; Firebase_Handler.Singleton.enabled = true; Firebase_Handler.Own_Notification_Key = ""; Scroll_Updater.Initialize(); for (int x = 0; x < SceneManager.sceneCount; x++) { Scene scene = SceneManager.GetSceneAt(x); if (scene.name != "Login") { SceneManager.UnloadSceneAsync(scene); } } User.User_Info = new User.User_Information { Username = "" }; } }); Login.Singleton.Reset_Input_Fields(); }
public void Initialize() { List <Data_struct> data = Database_Handler.Data_List_Get(typeof(Calendar_Events)); Shown_Events = new List <Calendar_Event>(); for (int x = 0; x < data.Count; x++) { if (x >= 5) { break; } Shown_Events.Add((Calendar_Event)data[x]); } if (!calendar && Shown_Events.Count > 0) { shown_events_UI[0].Set_Data(Shown_Events[Shown_Events.Count - 1]); shown_events_UI[0].gameObject.SetActive(true); for (int x = 1; x < shown_events_UI.Length; x++) { int idx = x - 1; if (idx >= Shown_Events.Count) { idx -= Shown_Events.Count; } shown_events_UI[x].Set_Data(Shown_Events[idx]); shown_events_UI[x].gameObject.SetActive(true); } Idx_Handler.Singleton.Initialize(Shown_Events.Count); } }
void OnDestroy() { Singleton = null; }
// ______________________________________ // // 2. MONOBEHAVIOUR LIFE CYCLE. // ______________________________________ // protected virtual void Awake() { Singleton = this; }
void Awake() { Singleton = this; Database_Handler.Initialize_Dictionaries(); Scroll_Updater.Initialize(); }
public void Save() { List <string> field_names = new List <string>() { "REQUEST_TYPE", }; List <string> field_values = new List <string>() { "", Data.Id.ToString(), Encryption.Encrypt(Data.Title), Encryption.Encrypt(Data.Details), Data.Author_Id.ToString(), Data.Privacy.ToString() }; if (Data.GetType().Equals(typeof(Poll))) { Poll data = (Poll)Data; field_names.AddRange(new List <string>() { "poll_id", "poll_name", "poll_details", "poll_author_id", "poll_privacy", "poll_date_creation", "poll_date_deadline", "poll_options" }); field_values[0] = "set_poll"; field_values.AddRange(new List <string>() { Utils.Get_String_SQL(data.Creation_Time), Utils.Get_String_SQL(data.Date_Deadline), Utils.List_To_String(data.Vote_Types) }); } else if (Data.GetType().Equals(typeof(Calendar_Event))) { Calendar_Event data = (Calendar_Event)Data; field_names.AddRange(new List <string>() { "event_id", "event_name", "event_details", "event_author_id", "event_privacy", "event_location_event", "event_location_meeting", "event_date_event", "event_date_meeting", "event_date_deadline", "event_transportation", "event_cash", "event_food" }); field_values[0] = "set_event"; field_values.AddRange(new List <string>() { Encryption.Encrypt(data.Location_Event), Encryption.Encrypt(data.Location_Meeting), Utils.Get_String_SQL(data.Date_Event), Utils.Get_String_SQL(data.Date_Meeting), Utils.Get_String_SQL(data.Date_Deadline), Encryption.Encrypt(data.Transportation), Encryption.Encrypt(data.Cash), Encryption.Encrypt(data.Food) }); } else if (Data.GetType().Equals(typeof(News_Entry))) { News_Entry data = (News_Entry)Data; field_names.AddRange(new List <string>() { "news_id", "news_name", "news_details", "news_author_id", "news_privacy", "news_date_creation", "news_images" }); field_values[0] = "set_news"; field_values.AddRange(new List <string>() { Utils.Get_String_SQL(data.Creation_time), Encryption.Encrypt(Utils.List_To_String(data.Imgs)) }); } else { return; } Database_Handler.Selected_Data = Data; if (Data.Id == 0) { Database_Handler.Data_List_Add(Data.Database_Handler_Type(), Data); } Http_Client.Send_Post( field_names.ToArray(), field_values.ToArray(), Handle_Save_Response ); Save_Button.interactable = false; }