private async void DeleteSubCat(SubCatViewModel item)
        {
            try
            {
                await _service.DeleteSubCatAsync(item.Id);

                SubCats.Remove(SelectedSubCat);
                SelectedSubCat = null;
            }
            catch (Exception ex) when(ex is NetworkException || ex is HttpRequestException)
            {
                OnMessageApplication($"Unexpected error occured! ({ex.Message})");
            }
        }
        private async void SaveSubCatEdit()
        {
            try
            {
                SelectedSubCat.CopyFrom(EditableSubCat);
                await _service.UpdateSubCatAsync((SubCatDto)SelectedSubCat);

                if (SelectedSubCat.MainCatId != SelectedMainCat.Id)
                {
                    SubCats.Remove(SelectedSubCat);
                    SelectedSubCat = null;
                }
            }
            catch (Exception ex) when(ex is NetworkException || ex is HttpRequestException)
            {
                OnMessageApplication($"Unexpected error occured! ({ex.Message})");
            }
            FinishingSubCatEdit?.Invoke(this, EventArgs.Empty);
        }
        private async void AddSubCat()
        {
            var newItem = new SubCatViewModel
            {
                Name      = "New Item",
                MainCatId = SelectedMainCat.Id
            };

            var itemDto = (SubCatDto)newItem;

            try
            {
                await _service.CreateSubCatAsync(itemDto); // ERROR

                newItem.Id = itemDto.Id;
                SubCats.Add(newItem);
                SelectedSubCat = newItem;
            }

            catch (Exception ex) when(ex is NetworkException || ex is HttpRequestException)
            {
                OnMessageApplication($"Unexpected error occured! ({ex.Message})");
            }
        }