public async Task <ActionResult> CreateAddressBook(AddressBookModel model)
        {
            if (!await IsSettingsUnlocked())
            {
                return(UnauthorizedModal());
            }

            if (!ModelState.IsValid)
            {
                model.Currencies = await CurrencyReader.GetCurrencies();

                return(View("CreateAddressBookModal", model));
            }

            var currency = await CurrencyReader.GetCurrency(model.CurrencyId);

            if (currency == null)
            {
                model.Currencies = await CurrencyReader.GetCurrencies();

                return(View("CreateAddressBookModal", model));
            }

            model.CurrencyType = currency.Type;
            model.AddressType  = currency.AddressType;
            var result = await AddressBookWriter.CreateAddressBook(User.Identity.GetUserId(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                model.Currencies = await CurrencyReader.GetCurrencies();

                return(View("CreateAddressBookModal", model));
            }
            return(CloseModalSuccess());
        }
        public async Task <ActionResult> DeleteAddressBook(int addressBookId)
        {
            if (!await IsSettingsUnlocked())
            {
                return(JsonError());
            }

            var result = await AddressBookWriter.DeleteAddressBook(User.Identity.GetUserId(), addressBookId);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(JsonError());
            }

            return(JsonSuccess());
        }