Exemple #1
0
        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);
        }
Exemple #2
0
 /// <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));
 }