Пример #1
0
        public static Activity CreateActivityId(int id)
        {
            var statement = "SELECT * FROM `activity` WHERE id = @0";

            object[] values = { id };

            var table   = Db.ExecuteSql(statement, values);
            var datarow = table.Select();

            foreach (var row in datarow)
            {
                var name                = row["name"].ToString();
                var location            = row["localization"].ToString();
                var date                = row["date"].ToString();
                var description         = row["description"].ToString();
                var maxPeople           = row["max_people"].ToString();
                var userCreatedActivity = row["User_id"].ToString();
                var categoryOfActivity  = row["Category_id"].ToString();

                int.TryParse(userCreatedActivity, out var intUserId);
                var user = AccountsManager.CreateUser(intUserId);

                int.TryParse(categoryOfActivity, out var intCategoryId);
                var category = CategoryManager.getCategory_by_id(intCategoryId);

                int.TryParse(maxPeople, out var intMaxPeople);

                var myDate   = DateTime.ParseExact(date, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                var activity = new Activity(id, name, user, category, location, myDate, description,
                                            intMaxPeople);
                return(activity);
            }

            return(null);
        }
Пример #2
0
 void buttonParticipate_Click(object sender, EventArgs e)
 {
     if (buttonParticipate.Text.Equals("Participar")) //Participate on activity
     {
         if (ActivityManager.NumberOfParticipants < ActivityManager.GetCurrentActivity().MaxPeople)
         {
             const string statement =
                 "INSERT INTO `user_has_activity` (`User_id`, `Activity_id`) VALUES (@0, @1)";
             object[] values =
             {
                 AccountsManager.GetLoggedUser().Id,
                 ActivityManager.GetCurrentActivity().Id
             };
             Db.ExecuteSql(statement, values);
             FillUsersTable(ActivityManager.GetCurrentActivity(), AccountsManager.GetLoggedUser());
         }
         else
         {
             MessageBox.Show("A atividade está cheia!");
         }
     }
     else //Remove participation
     {
         const string statement =
             "DELETE FROM `user_has_activity` WHERE `user_has_activity`.`User_id` = @0 AND `user_has_activity`.`Activity_id` = @1";
         object[] values =
         {
             AccountsManager.GetLoggedUser().Id,
             ActivityManager.GetCurrentActivity().Id
         };
         Db.ExecuteSql(statement, values);
         FillUsersTable(ActivityManager.GetCurrentActivity(), AccountsManager.GetLoggedUser());
     }
 }
Пример #3
0
        void buttonLogout_Click(object sender, EventArgs e)
        {
            AccountsManager.Logout();
            Close();
            var loginForm = new FormLogin();

            loginForm.Show();
        }
Пример #4
0
        void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var statement = "";

            string[] values = null;

            switch (FormManager.ShowActivitiesOption)
            {
            case "All activities":
                TitleActivities.Text = "Atividades";
                statement            =
                    "SELECT activity.id,category.name AS Categoria,activity.name AS Atividade,localization AS Localização,date AS Data FROM `activity`,`category` WHERE category.id=activity.Category_id";
                values = null;
                break;

            case "Participating activities":
                TitleActivities.Text = "Atividades Inscritas";
                statement            =
                    "SELECT activity.id,category.name AS Categoria,activity.name AS Atividade,localization AS Localização,date AS Data FROM `activity`,`category`,`user_has_activity` WHERE category.id=activity.Category_id AND user_has_activity.User_id=@0 AND user_has_activity.Activity_id=activity.id";
                values = new[] { AccountsManager.GetLoggedUser().Id.ToString() };
                break;

            case "History activities":
                TitleActivities.Text = "Histórico de Atividades";
                statement            =
                    "SELECT activity.id,category.name AS Categoria,activity.name AS Atividade,localization AS Localização,date AS Data FROM `activity`,`category`,`user_has_activity` WHERE category.id=activity.Category_id AND user_has_activity.User_id=@0 AND user_has_activity.Activity_id=activity.id";
                values = new[] { AccountsManager.GetLoggedUser().Id.ToString() };
                break;

            case "Created activities":
                TitleActivities.Text = "Atividades Criadas";
                statement            =
                    "SELECT activity.id,category.name AS Categoria,activity.name AS Atividade,localization AS Localização,date AS Data FROM `activity`,`category` WHERE category.id=activity.Category_id AND activity.User_id=@0";
                values = new[] { AccountsManager.GetLoggedUser().Id.ToString() };
                break;
            }

            if (!comboBox1.SelectedItem.ToString().Equals("Todas as categorias"))
            {
                if (FormManager.ShowActivitiesOption.Equals("All activities"))
                {
                    statement = statement + " AND category.name=@0";
                    values    = new[] { comboBox1.SelectedItem.ToString() };
                }
                else
                {
                    statement = statement + " AND category.name=@1";
                    values    = new[]
                    {
                        AccountsManager.GetLoggedUser().Id.ToString(),
                                                        comboBox1.SelectedItem.ToString()
                    };
                }
            }

            FillTable(statement, values);
        }
Пример #5
0
        void buttonCreate_Click(object sender, EventArgs e)
        {
            var activityName = nameActivity.Text;
            var local        = localization.Text;
            var dateTime     = dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:[00]");
            var maxPeople    = this.maxPeople.Text;
            var descriptions = description.Text;

            bool verify = Verifications();

            if (!verify)
            {
                return;
            }

            Category categorySelected = (Category)comboBoxCategory.SelectedItem;

            if (FormManager.CreateEditOption.Equals("Create activity"))
            {
                var statement =
                    "INSERT INTO `activity` (`id`, `Category_id`, `User_id`, `name`, `localization`, `date`, `description`, `max_people`) VALUES (NULL, @0, @1, @2, @3 ,@4, @5, @6)";
                object[] values =
                {
                    categorySelected.Id,
                    AccountsManager.GetLoggedUser().Id,
                    activityName,
                    local,
                    dateTime,
                    descriptions,
                    maxPeople
                };
                Db.ExecuteSql(statement, values);
                MessageBox.Show("Atividade inserida");
                FormManager.OpenActivitiesCreatedForm();
            }
            else //Edit activity
            {
                var statement =
                    "UPDATE `activity` SET `Category_id` = @0, `name` = @1, `localization` = @2, `date` = @3, `description` = @4, `max_people` = @5 WHERE `activity`.`id` = @6";
                object[] values =
                {
                    categorySelected.Id,
                    activityName,
                    local,
                    dateTime,
                    descriptions,
                    maxPeople,
                    ActivityManager.GetCurrentActivity().Id
                };
                Db.ExecuteSql(statement, values);
                MessageBox.Show("Atividade editada");
                FormManager.OpenActivitiesCreatedForm();
            }
        }
Пример #6
0
        public Form_MainMenu()
        {
            InitializeComponent();
            CustomizeDesign();
            FormManager.SetPanelChildForm(panelChildForm);

            if (AccountsManager.GetLoggedUser() is Client)
            {
                buttonManageCategories.Visible = false;
            }
            else if (AccountsManager.GetLoggedUser() is Admin)
            {
                buttonPariticipatingActivities.Visible = false;
                buttonActivitiesHistory.Visible        = false;
            }
        }
Пример #7
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Login button

            var username = textUsername.Text;
            var password = textPassword.Text;

            var loginSuccessful = AccountsManager.Login(username, password);

            if (loginSuccessful)
            {
                MessageBox.Show("Bem Vindo " + AccountsManager.GetLoggedUser().Name + "!");
                new Form_MainMenu().Show();
                Hide();
            }
            else
            {
                MessageBox.Show("O utilizador ou a password inseridos estão incorretos");
                textUsername.Clear();
                textPassword.Clear();
            }
        }
Пример #8
0
        void ActivityProfile_form_Load(object sender, EventArgs e)
        {
            var activityId = ActivityManager.GetCurrentActivity().Id;
            var activity   = ActivityManager.CreateActivityId(activityId);

            FillUsersTable(ActivityManager.GetCurrentActivity(), AccountsManager.GetLoggedUser());

            activity_name.Text = activity.Name;
            category.Text      = activity.Category.Name;
            date.Text          = activity.Date.ToString("dd/MM/yyyy HH:mm");

            description.Text          = activity.Description;
            localization.Text         = activity.Location;
            labelActivityCreator.Text = "Criador da atividade\n" + activity.User.Email;

            description.MaximumSize = new Size(400, 0);
            description.AutoSize    = true;

            if (AccountsManager.GetLoggedUser() is Admin)
            {
                buttonParticipate.Visible = false;
            }

            else if (activity.User.Id != AccountsManager.GetLoggedUser().Id)
            {
                buttonDelete.Visible = false;
                buttonEdit.Visible   = false;
            }

            if (ActivityManager.GetCurrentActivity().Date < DateTime.Now)
            {
                buttonParticipate.Visible = false;
                buttonDelete.Visible      = false;
                buttonEdit.Visible        = false;
            }
        }