Ejemplo n.º 1
0
        [HttpGet] public async Task <IActionResult> Index()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException(
                          $"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }
            GeographicAddress address = (GeographicAddress)await addresses.GetObject(user.AddressID);

            user.Address = address.Data;
            var model = new IndexViewModel {
                Username         = user.UserName,
                Email            = user.Email,
                PhoneNumber      = user.PhoneNumber,
                IsEmailConfirmed = user.EmailConfirmed,
                StatusMessage    = StatusMessage,
                FirstName        = user.FirstName,
                LastName         = user.LastName,
                AddressLine      = user.Address.Address,
                ZipCode          = user.Address.ZipOrPostCodeOrExtension,
                City             = user.Address.CityOrAreaCode,
                County           = user.Address.RegionOrStateOrCountryCode,
                Country          = getCountryCodesDictionary().FirstOrDefault(x => x.Value == user.Address.CountryID).Key,
                DateOfBirth      = user.DateOfBirth
            };

            return(View(model));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Index(IndexViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException(
                          $"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var email = user.Email;

            if (model.Email != email)
            {
                var setEmailResult = await _userManager.SetEmailAsync(user, model.Email);

                if (!setEmailResult.Succeeded)
                {
                    throw new ApplicationException(
                              $"Unexpected error occurred setting email for user with ID '{user.Id}'.");
                }
            }

            var phoneNumber = user.PhoneNumber;

            if (model.PhoneNumber != phoneNumber)
            {
                var setPhoneResult =
                    await _userManager.SetPhoneNumberAsync(user, model.PhoneNumber);

                if (!setPhoneResult.Succeeded)
                {
                    throw new ApplicationException(
                              $"Unexpected error occurred setting phone number for user with ID '{user.Id}'.");
                }
            }
            GeographicAddress userAddress = (GeographicAddress)await addresses.GetObject(user.AddressID);

            userAddress.Data.Address = model.AddressLine;
            userAddress.Data.ZipOrPostCodeOrExtension   = model.ZipCode;
            userAddress.Data.CityOrAreaCode             = model.City;
            userAddress.Data.RegionOrStateOrCountryCode = model.County;
            userAddress.Data.CountryID = getCountryCodesDictionary()[model.Country];
            await addresses.UpdateObject(userAddress);

            await _userManager.UpdateAsync(user);

            StatusMessage = "Your profile has been updated";
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 3
0
        [TestMethod] public async Task LoadDevicesTest()
        {
            var c = new GeographicAddress(GetRandom.Object <GeographicAddressData>());
            var l = createRandomDevices(c.Data.ID);
            await registrations.LoadDevices(c);

            Assert.AreEqual(l.Count, c.RegisteredTelecomDevices.Count);
            foreach (var x in c.RegisteredTelecomDevices)
            {
                Assert.IsTrue(l.Contains(x.Data.ID));
            }
        }
        public async Task LoadDevices(GeographicAddress address)
        {
            if (address is null)
            {
                return;
            }
            var id      = address.Data?.ID ?? string.Empty;
            var devices = await dbSet.Include(x => x.Device).Where(x => x.AddressID == id)
                          .AsNoTracking().ToListAsync();

            foreach (var c in devices)
            {
                address.RegisteredTelecomDevice(new TelecomAddress(c.Device));
            }
        }
        [TestMethod] public void CreateTest()
        {
            var r       = GetRandom.Object <TelecomDeviceRegistrationData>();
            var address = new GeographicAddress(r.Address);
            var device  = new TelecomAddress(r.Device);

            var o = TelecomDeviceRegistrationFactory.Create(address, device, r.ValidFrom,
                                                            r.ValidTo);

            Assert.AreEqual(o.Data.ValidFrom, r.ValidFrom);
            Assert.AreEqual(o.Data.ValidTo, r.ValidTo);
            Assert.AreEqual(o.Address.Data, r.Address);
            Assert.AreEqual(o.Device.Data, r.Device);
            Assert.AreEqual(o.Data.AddressID, r.Address.ID);
            Assert.AreEqual(o.Data.DeviceID, r.Device.ID);
            Assert.AreEqual(o.Data.Address, r.Address);
            Assert.AreEqual(o.Data.Device, r.Device);
        }
Ejemplo n.º 6
0
        private static GeographicAddressView create(GeographicAddress o)
        {
            var v = new GeographicAddressView {
                AddressLine     = o?.Data?.Address,
                City            = o?.Data?.CityOrAreaCode,
                ZipOrPostalCode = o?.Data?.ZipOrPostCodeOrExtension,
                RegionOrState   = o?.Data?.RegionOrStateOrCountryCode,
                Country         = o?.Data?.CountryID
            };

            setCommonValues(v, o?.Data?.ID, o?.Data?.ValidFrom, o?.Data?.ValidTo);
            if (o is null)
            {
                return(v);
            }
            foreach (var c in o.RegisteredTelecomDevices)
            {
                var device = create(c);
                v.RegisteredTelecomAddresses.Add(device);
            }

            return(v);
        }
Ejemplo n.º 7
0
 public void TestCleanup()
 {
     p = null;
 }
Ejemplo n.º 8
0
 public void TestInitialize()
 {
     p = new GeographicAddress();
 }