private async void OnRemoveCategoryExecute(int?id)
        {
            try
            {
                if (!id.HasValue)
                {
                    return;
                }
                var result = await _dialogService.AskQuestionAsync("¿Estas seguro de querer eliminar esta categoria?", "Elimiar Categoria");

                if (result == MessageDialogResult.Negative)
                {
                    return;
                }

                var httpResponse = await ShowProgressAsync(async() => await _categoryRepository.DeleteCategoryAsync(id.Value));

                if (httpResponse.IsSuccess)
                {
                    var category = ProductCategories.Single(x => x.Id == httpResponse.Value);
                    ProductCategories.Remove(category);
                }
                else
                {
                    await _dialogService.ShowMessageAsync(httpResponse.Message, httpResponse.Title);
                }
            }
            catch (Exception ex)
            {
                _logService.Write(ex);
                await _dialogService.ShowMessageAsync(ex.Message);
            }
        }