Beispiel #1
0
        private void RemoveButton_Click(object sender, EventArgs e)
        {
            try
            {
                var    dataGrid = (DataGridView)EditableControls.GroupsTab.SelectedTab.Controls[0];
                Member memb;
                string Group_Name;

                foreach (DataGridViewRow row in dataGrid.SelectedRows)
                {
                    Group_Name = row.Cells[0].Value.ToString();

                    //MessageBox.Show(Group_Name);
                    memb = new Member()
                    {
                        FIO            = row.Cells[1].Value.ToString(),
                        Rank           = row.Cells[2].Value.ToString(),
                        YearOfBirth    = row.Cells[3].Value.ToString(),
                        HomeAddress    = row.Cells[4].Value.ToString(),
                        PlaceOfWork    = row.Cells[5].Value.ToString(),
                        TurnoutAddress = row.Cells[6].Value.ToString(),
                        Company        = row.Cells[7].Value.ToString(),
                        VusNumber      = row.Cells[8].Value.ToString()
                    };


                    //TODO:
                    //Удалить из БД
                    SQLite.RemoveMemberFromDB(Group_Name, memb);


                    //Удалить из программного хранилища

                    var membs = GroupsArray.FindGroup(Group_Name).members;

                    for (int i = 0; i < membs.Count; i++)
                    {
                        var member = membs[i];

                        if (
                            (member.FIO == memb.FIO)
                            &&
                            (member.Rank == memb.Rank)
                            &&
                            (member.YearOfBirth == memb.YearOfBirth)
                            &&
                            (member.HomeAddress == memb.HomeAddress)
                            &&
                            (member.PlaceOfWork == memb.PlaceOfWork)
                            &&
                            (member.TurnoutAddress == memb.TurnoutAddress)
                            &&
                            (member.Company == memb.Company)
                            &&
                            (member.VusNumber == memb.VusNumber)
                            )
                        {
                            membs.RemoveAt(i);
                            break;
                        }
                    }


                    //Удалить из таблицы
                    dataGrid.Rows.Remove(row);
                }
            }
            catch (Exception)
            {
            }



            #region Удаление группы
            List <string> CheckedGroupNames = new List <string>();
            foreach (var CheckedGroupName in GroupList.CheckedItems)
            {
                CheckedGroupNames.Add(CheckedGroupName.ToString());

                SQLite.RemoveGroupFromDB(CheckedGroupName.ToString());
            }

            //TODO: реализовать удаление из ListCheckBox, удаление вкладок и удаление из хранилища данных

            foreach (var GroupName in CheckedGroupNames)
            {
                try
                {
                    GroupsArray.RemoveGroup(GroupName);
                    EditableControls.RemoveCheckedListItem(GroupName);
                    EditableControls.RemoveTabPage(GroupName);
                }
                catch (Exception) { }
            }
            #endregion
        }