private void dgv_languages_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgv_languages.CurrentRow.Index + 1 == dgv_languages.Rows.Count) { //Если щёлкнули в последней строке таблицы - переход в режим //добавления новой записи - id = -1; //Сброс идентификатора ClearForm(); //Очистка формы return; //Выход из обработчика } //Подгрузка выбранного в таблице языка в форму id = Convert.ToInt32(dgv_languages.CurrentRow.Cells[0].Value); if (MySettings.Default.ProtocolXmlRpc) { XMLRPC_Language language = xmlrpc_proxy.ReadLanguage(id); tb_ID.Text = language.ID.ToString(); tb_Name.Text = language.Name; } else if (MySettings.Default.ProtocolSoap) { SOAP_Language language = soap_proxy.ReadLanguage(id); tb_ID.Text = language.ID.ToString(); tb_Name.Text = language.Name; } else if (MySettings.Default.ProtocolRest) { REST_Language language = rest_proxy.ReadLanguage(id); tb_ID.Text = language.ID.ToString(); tb_Name.Text = language.Name; } }
private void btn_Save_Click(object sender, EventArgs e) { //Сохранение языка if (MySettings.Default.ProtocolXmlRpc) { XMLRPC_Language language = new XMLRPC_Language(); language.Name = tb_Name.Text; if (id < 0) //Если идентификатор не задан (сброшен) - { xmlrpc_proxy.CreateLanguage(language); //Создание нового языка } else //иначе (то есть идентификатор задан) - { xmlrpc_proxy.UpdateLanguage(id, language); //перезапись существующего языка с заданным идентификатором } } else if (MySettings.Default.ProtocolSoap) //... то же самое для остальных протоколов { if (id < 0) { soap_proxy.CreateLanguage(tb_Name.Text); } else { soap_proxy.UpdateLanguage(id, tb_Name.Text); } } else if (MySettings.Default.ProtocolRest) { if (id < 0) { rest_proxy.CreateLanguage(new REST_Language(tb_Name.Text)); } else { rest_proxy.UpdateLanguage(id, new REST_Language(tb_Name.Text)); } } if (id >= 0) { id = -1; //Сброс идентификатора } UpdateGrid(); //Обновление таблицы ClearForm(); //Очистка формы }