public SignUpAccountDTO getAccountById(int id)
        {
            using (var uow = new UnitOfWork())
            {
                var     accountRepository = uow.GetRepository <Account>();
                var     adressRepository  = uow.GetRepository <Adress>();
                Account account           = accountRepository.GetById(id);

                if (account == null)
                {
                    return(null);
                }

                Adress adress = adressRepository.GetById(account.AdressId);
                SignUpAccountMapper accountMapper = new SignUpAccountMapper();
                SignUpAccountDTO    accountVM     = accountMapper.MapToDTO(account);
                return(accountVM);
            }
        }
        public AccountSimpleDTO addAccount(SignUpAccountDTO accountVM)
        {
            using (var uow = new UnitOfWork())
            {
                var           accountRepository = uow.GetRepository <Account>();
                var           adressRepository  = uow.GetRepository <Adress>();
                AdressService addressService    = new AdressService();

                SignUpAccountMapper accountMaper = new SignUpAccountMapper();
                Account             account      = accountMaper.MapFromDTO(accountVM);

                var queryAccounts = accountRepository.FindBy(ac => ac.UserName == accountVM.UserName | ac.Email == accountVM.Email);
                var existAc       = queryAccounts.FirstOrDefault();

                if (existAc == null)
                {
                    var queryAddress = adressRepository.FindBy(ad => ad.latitude == accountVM.Adress.latitude &
                                                               ad.longitude == accountVM.Adress.longitude);
                    var existAd = queryAddress.FirstOrDefault();

                    if (existAd != null)
                    {
                        account.Adress = existAd;
                    }
                }
                else
                {
                    return(null);
                }

                accountRepository.Add(account);
                uow.SaveChanges();

                AccountSimpleMapper simpleAccountMapper = new AccountSimpleMapper();
                return(simpleAccountMapper.MapToDTO(account));
            }
        }