private static ILocatorResult BuildMasonryLocatorResult(RawMasonryLocatorResult rawResult, double distance) { ILocatorResult result; LocatorResultTypes type = MasonryKeyToLocatorResultTypeDictionary[TrimDealerTypeCode(rawResult)]; if (type == LocatorResultTypes.Installer) { Contractor installer = new Contractor(LocatorBusinessTypes.Masonry); result = installer; } else { Dealer dealer = new Dealer(LocatorBusinessTypes.Masonry); dealer.DealerLevel = MasonryKeyToDealerLevelDictionary[rawResult.Member_Level]; result = dealer; } result.Id = rawResult.ProDesk_ID; result.Company = rawResult.Company; result.Address = rawResult.ShipAddress1; result.City = rawResult.ShipCity; result.State = rawResult.ShipState; result.Zip = rawResult.ShipZip; result.Phone = rawResult.Phone; result.Email = rawResult.Email; result.Website = rawResult.URL; result.DateEnrolled = rawResult.Date_Enrolled; result.Distance = distance; result.BusinessMarket = LocatorBusinessMarkets.None; if (rawResult.Product_Lead_Type_Code == MasonryResidentialInstaller || rawResult.Product_Lead_Type_Code == MasonrySelectInstaller) { result.BusinessMarket |= LocatorBusinessMarkets.Residential; } if (rawResult.Product_Lead_Type_Code == MasonryCommercialInstaller || rawResult.Product_Lead_Type_Code == MasonrySelectInstaller) { result.BusinessMarket |= LocatorBusinessMarkets.Professional; } if (type == LocatorResultTypes.Installer) { Contractor installer = result as Contractor; installer.AsmEmail = rawResult.SalesRepEmailID; installer.AsmFirstName = rawResult.SalesRepFirstName; installer.AsmLastName = rawResult.SalesRepLastName; } return(result); }
/// <summary> /// Trims the dealer type code so that distributor (CSD) and dealer (CSDLR) types are the same. /// </summary> /// <param name="rawResult">The raw result.</param> /// <returns></returns> private static string TrimDealerTypeCode(RawMasonryLocatorResult rawResult) { return(rawResult.Member_Type_Code.Substring(0, 3)); }