//action 'Delete' exist object from grid private void btnDeleteComplex_Click(object sender, EventArgs e) { //return if element by index is not exist if (!(Klr030List.Count > indexSelectedElem)) { return; } //delete selected item of grid by field 'Code' KlR030 item = Klr030List[indexSelectedElem]; bool result = CheckAfterDelete(Convert.ToInt32(item.R030)); //update data for grid gridKlr030List.DataSource = HandleDataForGrid(urlDataGrid); //step up in grid position if (result) { --indexSelectedElem; } if (indexSelectedElem < 0) { indexSelectedElem = 0; } gridKlr030List.CurrentRow = gridKlr030List.Rows[indexSelectedElem]; //define new currentRow DataUpdateForBottomPanel( Klr030List[indexSelectedElem].R030 ); }
//action 'Add' new object to grid private void btnAddComplex_Click(object sender, EventArgs e) { //change property 'Text' of the btnSave for 'Add' action btnSaveKlr030.Text = "Додати"; //refresh data for field 'Code' klr030Data = new KlR030 { R031 = 1, CountryCode = ddlFilterKlr030.Items.First.Value.ToString() }; bsKlr030.DataSource = klr030Data; //refresh data for field 'Uk' ukKlr030 = new KlR030tr { Lang = Langs[0] }; klr030Data.KlR030tr.Add(ukKlr030); bsUkLangKlr030.DataSource = ukKlr030; //refresh data for field 'Ru' ruKlr030 = new KlR030tr { Lang = Langs[1] }; klr030Data.KlR030tr.Add(ruKlr030); bsRuLangKlr030.DataSource = ruKlr030; //refresh data for field 'Ru' enKlr030 = new KlR030tr { Lang = Langs[2] }; klr030Data.KlR030tr.Add(enKlr030); bsEnLangKlr030.DataSource = enKlr030; //stop perform if elements have 'Enabled' -> false if (!ControlEnabledActiveElements) { return; } //change 'Enabled' state for elements ControlEnabledActiveElements = false; }
/// <summary> /// check result data after 'Update' /// </summary> /// <param name="updateItem"></param> /// <returns></returns> private KlR030 CheckAfterUpdate(KlR030 updateItem) { UpdateLayer dictDelegat = new UpdateLayer(_layer.Update); KlR030 result = dictDelegat(klr030Data); if (result == null) { MessageShow.ShowError(UpdateMess); //select first element of grid by default result = Klr030List[0]; } return(result); }
/// <summary> /// check result data after 'Create' /// </summary> /// <param name="createItem"></param> /// <returns></returns> private KlR030 CheckAfterCreate(KlR030 createItem) { CreateLayer dictDelegat = new CreateLayer(_layer.Create); KlR030 result = dictDelegat(createItem); if (result == null) { MessageShow.ShowError(CreateMess); //select first element of grid by default result = Klr030List[0]; } return(result); }
/// <summary> /// //check after 'Get' query /// </summary> /// <param name="codeI"></param> /// <returns></returns> private KlR030 CheckAfterGetQuery(string code) { GetDictionaryLayer dictDelegat = new GetDictionaryLayer(_layer.GetDictionary); KlR030 result = new KlR030(); if (int.TryParse(code, out int codeInt)) { result = dictDelegat(codeInt); } else { result = null; } if (result == null) { MessageShow.ShowError(GetMess); //set select first element of grid result = Klr030List[0]; } return(result); }
//action 'Save' object to grid private void btnSave_Click(object sender, EventArgs e) { string codeIAfter = string.Empty; if (btnSaveKlr030.Text == "Додати") { //send created object KlR030 result = CheckAfterCreate(klr030Data); codeIAfter = result.R030; //update data for grid gridKlr030List.DataSource = HandleDataForGrid(urlDataGrid); indexSelectedElem = Klr030List.FindIndex(el => el.R031 == result.R031); //select certain item into grid gridKlr030List.CurrentRow = gridKlr030List.Rows[indexSelectedElem]; btnSaveKlr030.Text = "Зберегти"; } else if (btnSaveKlr030.Text == "Зберегти") { //save changes KlR030 result = CheckAfterUpdate(klr030Data); codeIAfter = result.R030; //save last selected item indexSelectedElem = gridKlr030List.CurrentRow.Index; //update data for grid gridKlr030List.DataSource = HandleDataForGrid(urlDataGrid); //select certain item into grid gridKlr030List.CurrentRow = gridKlr030List.Rows[indexSelectedElem]; } DataUpdateForBottomPanel(codeIAfter); //stop perform if elements have 'Enabled' -> true if (ControlEnabledActiveElements) { return; } //change 'Enabled' state for elements ControlEnabledActiveElements = true; }
//refresh changed data for bottom panel private void DataUpdateForBottomPanel(string codeI) { //get object by parameter 'code' from service klr030Data = CheckAfterGetQuery(codeI); //use data for binding source bsKlr030.DataSource = klr030Data; //define binding for source of the 'Uk' ukKlr030 = klr030Data.KlR030tr.FirstOrDefault(rec => rec.Lang == Langs[0]); if (ukKlr030 == null) { ukKlr030 = new KlR030tr { Lang = Langs[0] }; klr030Data.KlR030tr.Add(ukKlr030); } bsUkLangKlr030.DataSource = ukKlr030; //defined binding for source of the 'Ru' ruKlr030 = klr030Data.KlR030tr.FirstOrDefault(rec => rec.Lang == Langs[1]); if (ruKlr030 == null) { ruKlr030 = new KlR030tr { Lang = Langs[1] }; klr030Data.KlR030tr.Add(ruKlr030); } bsRuLangKlr030.DataSource = ruKlr030; //define binding for source of the 'En' enKlr030 = klr030Data.KlR030tr.FirstOrDefault(rec => rec.Lang == Langs[2]); if (enKlr030 == null) { enKlr030 = new KlR030tr { Lang = Langs[2] }; klr030Data.KlR030tr.Add(enKlr030); } bsEnLangKlr030.DataSource = enKlr030; }