Esempio n. 1
0
        // Обрабатывает нажатие ячейки таблцы. В каждой ячейке хранятся дополнительные данные в
        // виде объекта dynamic, содержащего идентификатор пользователя (residentId)
        // и идентификатор комнаты (roomId)
        private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView dataGridView = (DataGridView)sender;

            if (e.ColumnIndex == 1 && e.RowIndex != -1)
            {
                DataGridViewLinkCell cell = (DataGridViewLinkCell)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex];
                dynamic tagObject         = cell.Tag;
                if (tagObject.residentId != 0 && tagObject.roomId != 0)
                {
                    ResidentForm.ShowDialogForOldResident(sqlConnectionString, tagObject.residentId, tagObject.roomId);
                    //	DataGridUpdateRoom(dataGridView, tagObject, e.RowIndex);
                    LoadTabs();
                }
                else if (tagObject.roomId != 0)
                {
                    string result = SettlementForm.ShowDialogForNewSettlement(sqlConnectionString, tagObject.roomId);
                    Int32.TryParse(result, out int residentId);
                    if (residentId != 0)
                    {
                        MessageBox.Show("Успешно добавлено!");
                        tagObject.residentId = residentId;
                        DataGridUpdateRoom(dataGridView, tagObject, e.RowIndex);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Открывает окно заселения в выбранную комнату. Возвращает идентификатор жителя.
        /// </summary>
        /// <param name="sqlConnection">Подключение пользователя</param>
        /// <param name="roomId">Идентификатор комнаты для заселения</param>
        /// <returns>Идентификатор жителя или null, если житель не был заселён</returns>
        public static string ShowDialogForNewSettlement(SqlConnectionStringBuilder sqlConnectionString, int roomId)
        {
            SettlementForm settlementForm = new SettlementForm(sqlConnectionString, roomId);

            return(settlementForm.ShowDialog() == DialogResult.OK ? settlementForm.residentIdLabel.Text : null);
        }