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;
            }
        }
    }
Пример #2
0
    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;
    }