Exemplo n.º 1
0
 private string SetAccountFromModel(EndityAbstractModelAccount account)
 {
     if (account != null)
     {
         return(account.EndityId + AccountFieldDelimiter[0] + account.JsonData);
     }
     return("");
 }
        private AccountDto SaveFileAccount(EndityAbstractModelAccount data)
        {
            List <EndityAbstractModelAccount> accountsModels = _fileReader.ReadAccountFile()?.ToList();
            EndityAbstractModelAccount        accountModel   = accountsModels?.Find(x => x.EndityId == data.EndityId);

            if (accountModel != null)
            {
                int index = accountsModels.FindIndex(x => x.EndityId == data.EndityId);
                accountsModels.RemoveAt(index);
            }
            accountsModels.Add(data);
            return(GetAccountDto(JsonConvert.DeserializeObject <AccountModel>(_fileReader.WriteAccountFile(accountsModels)?.ToList().Find(x => x.EndityId == data.EndityId).JsonData)));
        }
        public void DeleteAccount(AccountDto addAccount)
        {
            List <EndityAbstractModelAccount> accountsModels = _fileReader.ReadAccountFile()?.ToList();
            var accountToRemove = accountsModels.Find(x => x.EndityId == addAccount.AccountId.ToString());
            EndityAbstractModelAccount accountModel = accountsModels?.Find(x => x.EndityId == accountToRemove.EndityId);

            if (accountModel != null)
            {
                int index = accountsModels.FindIndex(x => x.EndityId == accountToRemove.EndityId);
                accountsModels.RemoveAt(index);
            }
            _fileReader.WriteAccountFile(accountsModels);
        }
        private AccountDto UpdateAccount(AccountDto accountDto, string password)
        {
            AccountModel updateAccount = GetAccountModel(accountDto);
            EndityAbstractModelAccount AccountModelData = _fileReader.ReadAccountFile()?.ToList().Find(x => x.EndityId == updateAccount.AccountId);
            AccountModel dbAccountModel = JsonConvert.DeserializeObject <AccountModel>(AccountModelData.JsonData);

            updateAccount.Password = dbAccountModel.Password;
            updateAccount.UserName = dbAccountModel.UserName;
            updateAccount.Email    = dbAccountModel.Email;
            if (!string.IsNullOrWhiteSpace(password))
            {
                updateAccount.Password = _passwordHasher.HashPassword(accountDto, password);
            }

            AccountModelData.JsonData = JsonConvert.SerializeObject(updateAccount);
            return(SaveFileAccount(AccountModelData));
        }
        public AccountDto UpdateAccount(AccountDto accountDto, string password)
        {
            AccountModel updateAccount = GetAccountModel(accountDto);
            EndityAbstractModelAccount AccountModelData = _dbContext.Accounts.ToList().Find(x => x.EndityId == updateAccount.AccountId);
            AccountModel dbAccountModel = JsonConvert.DeserializeObject <AccountModel>(AccountModelData.JsonData);


            updateAccount.Password = dbAccountModel.Password;
            updateAccount.UserName = dbAccountModel.UserName;
            updateAccount.Email    = dbAccountModel.Email;
            if (!string.IsNullOrWhiteSpace(password))
            {
                updateAccount.Password = _passwordHasher.HashPassword(accountDto, password);
            }

            AccountModelData.JsonData = JsonConvert.SerializeObject(updateAccount);
            _dbContext.Accounts.Update(AccountModelData);
            _dbContext.SaveChanges();

            return(accountDto);
        }