private static void CreatePartnerAttributes(ref PartnerImportExportTDS AMainDS, TDBTransaction ATransaction) { TPartnerContactDetails_LocationConversionHelper.PartnerAttributeLoadUsingTemplate = PPartnerAttributeAccess.LoadUsingTemplate; TPartnerContactDetails_LocationConversionHelper.SequenceGetter = MCommon.WebConnectors.TSequenceWebConnector.GetNextSequence; TPartnerContactDetails_LocationConversionHelper.ParsePartnerLocationsForContactDetails(AMainDS, ATransaction); }
/// <summary> /// Create new partner, family, location and PartnerLocation records in MainDS /// </summary> private static Int64 CreateNewFamily(XmlNode ANode, out int ALocationKey, ref PartnerImportExportTDS AMainDS, TDBTransaction ATransaction) { PPartnerRow newPartner = AMainDS.PPartner.NewRowTyped(); AMainDS.PPartner.Rows.Add(newPartner); newPartner.PartnerKey = (AMainDS.PPartner.Rows.Count + 1) * -1; newPartner.PartnerClass = MPartnerConstants.PARTNERCLASS_FAMILY; newPartner.StatusCode = MPartnerConstants.PARTNERSTATUS_ACTIVE; newPartner.Comment = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_NOTESFAMILY); String AcquisitionCode = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_AQUISITION); newPartner.AcquisitionCode = (AcquisitionCode.Length > 0) ? AcquisitionCode : MPartnerConstants.PARTNERIMPORT_AQUISITION_DEFAULT; newPartner.AddresseeTypeCode = MPartnerConstants.ADDRESSEETYPE_DEFAULT; if (TXMLParser.HasAttribute(ANode, MPartnerConstants.PARTNERIMPORT_ADDRESSEE_TYPE)) { newPartner.AddresseeTypeCode = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_ADDRESSEE_TYPE); } else { string gender = GetGenderCode(ANode); if (gender == MPartnerConstants.GENDER_MALE) { newPartner.AddresseeTypeCode = MPartnerConstants.ADDRESSEETYPE_MALE; } else if (gender == MPartnerConstants.GENDER_FEMALE) { newPartner.AddresseeTypeCode = MPartnerConstants.ADDRESSEETYPE_FEMALE; } } if (TXMLParser.HasAttribute(ANode, MPartnerConstants.PARTNERIMPORT_LANGUAGE)) { newPartner.LanguageCode = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_LANGUAGE); } else if (TUserDefaults.HasDefault(MSysManConstants.PARTNER_LANGUAGECODE)) { newPartner.LanguageCode = TUserDefaults.GetStringDefault(MSysManConstants.PARTNER_LANGUAGECODE); } string[] giftReceiptingDefaults = TSystemDefaults.GetSystemDefault("GiftReceiptingDefaults", ",no").Split(new char[] { ',' }); newPartner.ReceiptLetterFrequency = giftReceiptingDefaults[0]; newPartner.ReceiptEachGift = giftReceiptingDefaults[1] == "YES" || giftReceiptingDefaults[1] == "TRUE"; PFamilyRow newFamily = AMainDS.PFamily.NewRowTyped(); AMainDS.PFamily.Rows.Add(newFamily); newFamily.PartnerKey = newPartner.PartnerKey; newFamily.FirstName = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_FIRSTNAME); newFamily.FamilyName = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_FAMILYNAME); newFamily.MaritalStatus = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_MARITALSTATUS); newFamily.Title = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_TITLE); newFamily.MaritalStatus = GetMaritalStatusCode(ANode); newPartner.PartnerShortName = Calculations.DeterminePartnerShortName(newFamily.FamilyName, newFamily.Title, newFamily.FirstName); PLocationRow newLocation = AMainDS.PLocation.NewRowTyped(true); AMainDS.PLocation.Rows.Add(newLocation); newLocation.LocationKey = TPartnerImportCSV.FLocationKey; newLocation.Locality = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_LOCALITY); newLocation.StreetName = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_STREETNAME); newLocation.Address3 = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_ADDRESS); newLocation.PostalCode = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_POSTALCODE); newLocation.City = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_CITY); newLocation.County = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_COUNTY); newLocation.CountryCode = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_COUNTRYCODE); PPartnerLocationRow partnerlocation = AMainDS.PPartnerLocation.NewRowTyped(true); TPartnerContactDetails_LocationConversionHelper.AddOldDBTableColumnsToPartnerLocation(AMainDS.PPartnerLocation); partnerlocation.LocationKey = TPartnerImportCSV.FLocationKey; partnerlocation.SiteKey = 0; partnerlocation.PartnerKey = newPartner.PartnerKey; partnerlocation.DateEffective = DateTime.Now.Date; partnerlocation.LocationType = MPartnerConstants.LOCATIONTYPE_HOME; partnerlocation.SendMail = true; partnerlocation["p_email_address_c"] = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_EMAIL); // Important: Do not use 'partnerlocation.EmailAddress' as this Column will get removed once Contact Details conversion is finished! partnerlocation["p_telephone_number_c"] = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_PHONE); // Important: Do not use 'partnerlocation.TelephoneNumber' as this Column will get removed once Contact Details conversion is finished! partnerlocation["p_mobile_number_c"] = TXMLParser.GetAttribute(ANode, MPartnerConstants.PARTNERIMPORT_MOBILEPHONE); // Important: Do not use 'partnerlocation.MobileNumber' as this Column will get removed once Contact Details conversion is finished! AMainDS.PPartnerLocation.Rows.Add(partnerlocation); ALocationKey = TPartnerImportCSV.FLocationKey; TPartnerImportCSV.FLocationKey--; return(newPartner.PartnerKey); }