コード例 #1
0
        // GET: /Contact/CreateAddress
        public ActionResult CreateAddress(int?personId, int?organizationId)
        {
            if (!UserCanEdit(personId, organizationId))
            {
                return(HttpNotFound());
            }

            var model = new ContactAddressViewModel
            {
                PersonId       = personId,
                OrganizationId = organizationId
            };

            if (personId != null &&
                (PersonHelper.GetSpouse(personId.Value) != null ||
                 PersonHelper.GetChildren(personId.Value).Any()))
            {
                model.EligibleAddressList = ContactHelper.GetEligibleAddressList(personId.Value).ToList();
                model.ForFamily           = true;
            }

            return(PartialView(model));
        }
コード例 #2
0
        public ActionResult CreateAddress([Bind(Include = "Id,PersonId,OrganizationId,ForFamily,AddressId,AddressLine,City,State,PostalCode,Country")] ContactAddressViewModel model)
        {
            if (!UserCanEdit(model.PersonId, model.OrganizationId))
            {
                return(HttpNotFound());
            }

            if (model.AddressId == null && !ModelState.IsValid)
            {
                if (model.PersonId != null && model.ForFamily)
                {
                    model.EligibleAddressList = ContactHelper.GetEligibleAddressList(model.PersonId.Value).ToList();
                }

                return(View(model));
            }

            if (model.AddressId == null)
            {
                var address = model.MapToAddress();
                Database.Addresses.Add(address);
                Database.SaveChanges();
                model.AddressId = address.Id;
            }

            var contactAddress = model.MapToContactAddress();

            Database.ContactAddresses.Add(contactAddress);
            Database.SaveChanges();

            if (model.ForFamily && model.PersonId != null && model.AddressId != null)
            {
                ContactHelper.SetAddressForFamily(model.PersonId.Value, model.AddressId.Value);
            }

            return(ReturnToSender(model.PersonId, model.OrganizationId));
        }