//filter data for grid
        private List <ViewTable> FilterDataIntoGrid(int code)
        {
            //get all data of the 'CopyrightKind'
            Klr030List = _connector.GetList <KlR030>(urlDataGrid);
            //stop perform if data is not exist
            if (Klr030List == null)
            {
                return(new List <ViewTable>());
            }
            //filter data by parameter 'code'
            Klr030List = Klr030List.Where(item => item.R031 == code).ToList();
            List <ViewTable> filteredData = new List <ViewTable>();

            //initialize data for grid
            foreach (var item in Klr030List)
            {
                filteredData.Add(new ViewTable
                {
                    Code       = item.R030,
                    NameUk     = item.KlR030tr?.SingleOrDefault(i => i?.Lang == Langs[0])?.R030Name ?? item.R030Name,
                    NameRu     = item.KlR030tr?.SingleOrDefault(i => i?.Lang == Langs[1])?.R030Name,
                    NameEn     = item.KlR030tr?.SingleOrDefault(i => i?.Lang == Langs[2])?.R030Name,
                    klrCountry = ddlFilterKlr030.SelectedItem.Text,
                });
            }
            return(filteredData);
        }
        //show data for bottom panel
        private void gvCopyrightKindList_CellClick(object sender, GridViewCellEventArgs e)
        {
            if (!(gridKlr030List.CurrentRow.DataBoundItem is ViewTable currentRow))
            {
                return;
            }

            if (!int.TryParse(currentRow.Code, out int code))
            {
                return;
            }
            string strCode = code.ToString();

            indexSelectedElem = Klr030List.FindIndex(el => el.R030 == strCode);
            DataUpdateForBottomPanel(strCode);
        }
        //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;
        }