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); }
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); }