public IAddressesResponse Create(IProfile aProfile, string address1, string address2, string city, string stateAbev, string zipCode, AddressTypes addressType)
        {
            var AProfile = aProfile;

            var ProfileMngr = new ProfileJsonManager();

            var AProfileJson = ProfileMngr.GetJsonProfileByProfileId(AProfile.ProfileId);

            IAddressesResponse Response = new AddressesResponse();

            try
            {
                IProfileJsonAddressManager ProfileAddressMgr = new ProfileJsonAddressManager(AProfileJson);
                IProfileAddress            NewAddress        = null;

                switch (addressType)
                {
                case AddressTypes.Primary:
                    NewAddress = ProfileAddressMgr.Create(address1, address2, city, stateAbev, zipCode, true, false);
                    break;

                case AddressTypes.Secondary:
                    NewAddress = ProfileAddressMgr.Create(address1, address2, city, stateAbev, zipCode, false, true);
                    break;
                }

                Response.Addresses.Add(NewAddress);
                Response.Success = true;
            }
            catch (Exception e) {
                Response.Success = false;
            }

            return(Response);
        }
Exemple #2
0
        public ProfileAddressJson Convert(IProfileAddress addresses)
        {
            int AddressType = 0;

            if (addresses.IsPrimary == true)
            {
                AddressType = 1;
            }
            else if (addresses.IsSecondary == true)
            {
                AddressType = 2;
            }

            var config = new MapperConfiguration(
                cfg => cfg.CreateMap <IProfileAddress, ProfileAddressJson>()
                .ForMember(dest => dest.AddressType, sorc => sorc.MapFrom(map => AddressType))
                );

            var mapper  = new Mapper(config);
            var Results = mapper.Map <ProfileAddressJson>(addresses);

            return(Results);
        }
        private IProfileResponse UpSertProfile(IProfile aProfile)
        {
            IProfileResponse AProfileResponse = new ProfileResponse();

            try
            {
                var ProfileList = GetJsonProfiles();

                var ProfileAddressNew = new List <IProfileAddress>();

                var SelectedProfile = ProfileList
                                      .Where(aItem => aItem.ProfileId == aProfile.ProfileId)
                                      .FirstOrDefault();

                if (SelectedProfile == null)
                {
                    SelectedProfile           = new ProfileJson();
                    SelectedProfile.ProfileId = aProfile.ProfileId;

                    ProfileList.Add(SelectedProfile);
                }

                SelectedProfile.FirstName = aProfile.FirstName;
                SelectedProfile.LastName  = aProfile.LastName;
                SelectedProfile.Active    = aProfile.Active;

                aProfile.Addresses.ForEach(delegate(IProfileAddress aAddress)
                {
                    IAddressPopulate aAddressPopulate = null;

                    if (aAddress.IsPrimary == true)
                    {
                        aAddressPopulate = new AddressPopulatePrimaryJson(this, aProfile);
                    }
                    else if (aAddress.IsSecondary == true)
                    {
                        aAddressPopulate = new AddressPopulateSecondaryJson(this, aProfile);
                    }

                    IProfileAddress AAddressUpsert = aAddressPopulate.Populate(
                        aAddress.AddressId, aAddress.Address1, aAddress.Address2, aAddress.City, aAddress.StateAbrev, aAddress.ZipCode
                        );

                    var AddressConcrete = AAddressUpsert as ProfileAddress;

                    ProfileAddressNew.Add(AddressConcrete);
                });

                SelectedProfile.Addresses = _ProfileConverter.Convert(ProfileAddressNew);

                var ProfileNewList = _ProfileConverter.ConvertToJson(ProfileList);

                WriteJsonToFile(ProfileNewList);
                AProfileResponse.Profile = _ProfileConverter.Convert(SelectedProfile);
                AProfileResponse.Success = true;
            }
            catch (Exception e)
            {
                AProfileResponse.Success = false;
            }

            return(AProfileResponse);
        }