Пример #1
0
 public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
 {
     if (ModelState.IsValid)
     {
         var personToUpdate = _volunteerSvc.FindByUserId(WebSecurity.CurrentUserId);
         try
         {
             _volunteerSvc.UpdateDetails(new Person {
                 Id          = personToUpdate.Id,
                 Cluster     = personToUpdate.Cluster,
                 ClusterId   = personToUpdate.ClusterId,
                 FirstName   = personToUpdate.FirstName,
                 LastName    = personToUpdate.LastName,
                 UserId      = personToUpdate.UserId,
                 Email       = model.Email,
                 PhoneNumber = model.PhoneNumber
             });
             return(RedirectToAction("ContactInfoChanged"));
         }
         catch (PersonEmailAlreadyInUseException)
         {
             ModelState.AddModelError("Email", "This Email Address is already in use!");
         }
     }
     return(View("ChangeContactInfo", DetermineLayout(), model));
 }
Пример #2
0
 public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
 {
     if (!this.ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     WorkerServices.ChangeContactInfo(model);
     return(Ok());
 }
Пример #3
0
 public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
 {
     if (!this.ModelState.IsValid)
     {
         return(View(model));
     }
     WorkerServices.ChangeContactInfo(model);
     return(RedirectToRoute("registry", new { }));
 }
Пример #4
0
 public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     WorkerServices.ChangeContactInfo(model);
     return(Redirect("/Registry/"));
 }
        public void ChangeContactInfo(ChangeContactInfoViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var cmd = new ChangeCompanyContactInfoCommand(model.CompanyId, model.PhoneNumber, model.FaxNumber, model.WebsiteAddress, model.EmailAddress);

            Bus.Send(cmd);
        }
        public void ChangeContactInfo(ChangeContactInfoViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var cmd = new ChangePersonContactInfoCommand(model.PersonId, model.PhoneNumber, model.MobileNumber, model.FaxNumber, model.WebsiteAddress, model.EmailAddress, model.InstantMessaging);

            Bus.Send(cmd);
        }
        public ChangeContactInfoViewModel GetChangeContactInfoViewModel(Guid companyId)
        {
            var company = Repository.GetById <Company>(companyId);
            var model   = new ChangeContactInfoViewModel()
            {
                CompanyId   = company.Id,
                CompanyName = company.CompanyName
            };

            if (company.ContactInfo != null)
            {
                model.PhoneNumber    = company.ContactInfo.PhoneNumber;
                model.FaxNumber      = company.ContactInfo.FaxNumber;
                model.WebsiteAddress = company.ContactInfo.WebsiteAddress;
                model.EmailAddress   = company.ContactInfo.EmailAddress;
            }
            return(model);
        }
Пример #8
0
        public ActionResult ChangeContactInfo()
        {
            if (_webSecurity.CurrentUserId == 1)
            {
                TempData["AdminContactError"] = "Administrator is not allowed to have contact details!";
                return(RedirectToAction("Index", "Home"));
            }
            var personToUpdate = _volunteerSvc.GetPersonDetailsForChangeContactInfo(_webSecurity.CurrentUserId);

            if (personToUpdate != null)
            {
                ChangeContactInfoViewModel model = new ChangeContactInfoViewModel {
                    Email = personToUpdate.Email, PhoneNumber = personToUpdate.PhoneNumber
                };
                return(View(model));
            }

            return(View("ChangeContactInfo", DetermineLayout(), null));
        }
Пример #9
0
 public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             _volunteerSvc.UpdateDetails(new Person {
                 UserId      = _webSecurity.CurrentUserId,
                 Email       = model.Email,
                 PhoneNumber = model.PhoneNumber
             });
             return(RedirectToAction("ContactInfoChanged"));
         }
         catch (PersonEmailAlreadyInUseException)
         {
             ModelState.AddModelError("Email", "This Email Address is already in use!");
         }
     }
     return(View("ChangeContactInfo", DetermineLayout(), model));
 }
Пример #10
0
        public void ChangeContactInfo_Invalid_ModelState_Directs_User_To_ChangeContactInfo_View()
        {
            // Arrange

            // Act
            var model = new ChangeContactInfoViewModel {
                Email = "*****@*****.**", PhoneNumber = ""
            };

            Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest);

            var response = _controllerUnderTest.ChangeContactInfo(model);

            // Assert
            var result = response as ViewResult;

            Assert.IsNotNull(result);
            Assert.IsTrue(result.ViewName.Equals("ChangeContactInfo"));
            Assert.IsTrue(result.ViewData.ModelState.Count >= 1);
        }
Пример #11
0
        public ChangeContactInfoViewModel GetChangeContactInfoViewModel(Guid personId)
        {
            var person = Repository.GetById <Person>(personId);
            var model  = new ChangeContactInfoViewModel()
            {
                PersonId  = person.Id,
                FirstName = person.FirstName,
                LastName  = person.LastName
            };

            if (person.ContactInfo != null)
            {
                model.PhoneNumber      = person.ContactInfo.PhoneNumber;
                model.MobileNumber     = person.ContactInfo.MobileNumber;
                model.FaxNumber        = person.ContactInfo.FaxNumber;
                model.WebsiteAddress   = person.ContactInfo.WebsiteAddress;
                model.EmailAddress     = person.ContactInfo.EmailAddress;
                model.InstantMessaging = person.ContactInfo.InstantMessaging;
            }
            return(model);
        }
Пример #12
0
        public void ChangeContactInfo_DuplicateEmailAddress_ReturnsChangeContactInfoView_With_ModelState_Error()
        {
            // Arrange
            _volunteerService.Setup(x => x.UpdateDetails(It.IsAny <Person>())).Throws <PersonEmailAlreadyInUseException>();

            // Act
            var model = new ChangeContactInfoViewModel {
                Email = "*****@*****.**", PhoneNumber = "123456789"
            };

            Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest);

            var response = _controllerUnderTest.ChangeContactInfo(model);

            // Assert
            var result = response as ViewResult;

            Assert.IsNotNull(result);
            Assert.IsTrue(result.ViewData.ModelState.ContainsKey("Email"));
            Assert.IsTrue(result.ViewName.Equals("ChangeContactInfo"));
            Assert.IsTrue(result.ViewData.ModelState.Count >= 1);
        }
Пример #13
0
        public void ChangeContactInfo_Assign_ValidData_Redirects_To_ContactInfoChanged_View()
        {
            // Arrange
            _volunteerService.Setup(x => x.FindByUserId(It.IsAny <int>())).Returns(new Person());

            // Act
            var model = new ChangeContactInfoViewModel {
                Email = "*****@*****.**", PhoneNumber = "123456789"
            };

            Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest);

            var response = _controllerUnderTest.ChangeContactInfo(model);

            // Assert
            var view = response as RedirectToRouteResult;

            Assert.IsNotNull(view);

            var action = view.RouteValues["action"];

            Assert.AreEqual("ContactInfoChanged", action.ToString());
        }
Пример #14
0
        public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    _volunteerSvc.UpdateDetails(new Person {
                        UserId         = _webSecurity.CurrentUserId,
                        Email          = model.Email,
                        PhoneNumber    = model.PhoneNumber,
                        OrganizationId = model.SelectedOrganizationId
                    });
                    return(RedirectToAction("ContactInfoChanged"));
                }
                catch (PersonEmailAlreadyInUseException)
                {
                    ModelState.AddModelError("Email", "This Email Address is already in use!");
                }
            }
            // rehydrate organizations if necessary.
            model.Organizations = model.Organizations ?? _organizationService.GetActiveList();

            return(View("ChangeContactInfo", DetermineLayout(), model));
        }