Exemplo n.º 1
0
    /// <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);
    }