/// <summary>
        /// Creates the base/default person.
        /// </summary>
        /// <returns></returns>
        public IPerson CreatePerson()
        {
            var person = new Person();

            var maritalStatusList = this.maritalStatusRepository.Get();
            var churchRoles = this.churchRoleRepository.Get();

            var churchRoleSelectList = new List<SelectListItem>();
            var maritalSelectList = new List<SelectListItem>();

            foreach (var maritalStatus in maritalStatusList)
            {
                maritalSelectList.Add(new SelectListItem
                {
                    Text = maritalStatus.MaritalStatusDescription,
                    Value = maritalStatus.MaritalStatusId.ToString(CultureInfo.InvariantCulture)
                });
            }

            foreach (var churchRole in churchRoles)
            {
                churchRoleSelectList.Add(new SelectListItem
                {
                    Text = churchRole.ChurchRoleDescription,
                    Value = churchRole.ChurchRoleId.ToString(CultureInfo.InvariantCulture)
                });
            }

            person.MaritalStatusList = maritalSelectList;
            person.ChurchRoleList = churchRoleSelectList;

            return person;
        }
        public ActionResult Delete(Person person)
        {
            Guard.ArgumentNotNull(person, "person:");

            person.ModifiedByUserId = this.Profile.UserId();
            var personUpdated = this.personService.Delete(person);
            return this.Json(personUpdated, JsonRequestBehavior.AllowGet).AsCamelCaseResolverResult();
        }
        public ActionResult Add(Person person)
        {
            Guard.ArgumentNotNull(person, "person");

            // Todo: fields should be validated... can we use the data annotations that are on the properties of the model?
            var requestUrl = this.Request.Url;
            var domainHost = "";

            if (requestUrl != null)
            {
                domainHost = requestUrl.GetLeftPart(UriPartial.Authority);
            }

            person.ModifiedByUserId = this.Profile.UserId();
            var personAdded = this.personService.AddPerson(person, domainHost);
            // Todo: what if error is returned?  Could be email already exists..

            return this.Json(personAdded.PersonId, JsonRequestBehavior.AllowGet).AsCamelCaseResolverResult();
        }
예제 #4
0
        public static Person ToModel(this Data.Entities.Person person)
        {
            var personModel = new Person();

            if (person == null)
            {
                return personModel;
            }

            personModel.PersonId = person.PersonId;
            personModel.FirstName = person.FirstName;
            personModel.LastName = person.LastName;
            personModel.MiddleInitial = person.MiddleInitial;
            personModel.AddressOne = person.Address1;
            personModel.AddressTwo = person.Address2;
            personModel.City = person.City;
            personModel.State = person.State;
            personModel.ZipCode = person.Zip;
            personModel.DateOfBirth = person.DateOfBirth;
            personModel.PrimaryEmail = person.EmailPrimary;
            personModel.SecondaryEmail = person.EmailSecondary;
            personModel.Gender = person.Gender;
            personModel.GroupPhotoFilePath = person.GroupPhoto;
            personModel.IndividualPhotoFilePath = person.IndividualPhoto;
            personModel.IsBaptized = person.IsBaptized;
            personModel.IsMember = person.IsMember;
            personModel.IsVisitor = person.IsVisitor;
            personModel.IsDeleted = person.IsDeleted;
            personModel.ModifiedByUserId = person.ModifiedByUserId;
            personModel.MaritalStatusId = person.MaritalStatusId;
            personModel.ChurchRoleId = person.ChurchRoleId;
            personModel.State = person.State;

            if (person.PhoneNumbers != null) /* one of these is not set to an instance */
            {
                personModel.PhoneNumbers = new List<PhoneNumber>();

                foreach (var entityPhoneNumber in person.PhoneNumbers)
                {
                    var modelNumber = new PhoneNumber
                                      {
                                          PhoneNumberId = entityPhoneNumber.PhoneNumberId,
                                          Phone = entityPhoneNumber.Phone,
                                          PhoneNumberTypeId = entityPhoneNumber.PhoneNumberTypeId,
                                          PersonId = entityPhoneNumber.PersonId
                                      };

                    if (entityPhoneNumber.PhoneNumberType != null)
                    {
                        modelNumber.PhoneNumberType = entityPhoneNumber.PhoneNumberType.Description;
                    }
                    personModel.PhoneNumbers.Add(modelNumber);
                }
            }

            return personModel;
        }