Пример #1
0
        // Google map popup on clicking the location from Search Data
        public ActionResult GoogleMapPopUp()
        {
            MainMatchEntity objmainMatchEntity = new MainMatchEntity();

            objmainMatchEntity.lstMatches = JsonConvert.DeserializeObject <List <MatchEntity> >(SessionHelper.SearchMatch);
            if (objmainMatchEntity.lstMatches == null)
            {
                objmainMatchEntity.lstMatches = new List <MatchEntity>();
            }
            CompanyEntity Company = new CompanyEntity();

            Company.Matches = objmainMatchEntity.lstMatches;

            SearchModel objmodel = new SearchModel();

            objmodel = JsonConvert.DeserializeObject <SearchModel>(SessionHelper.SearchModel);
            if (objmodel != null)
            {
                Company.CompanyName          = objmodel.CompanyName;
                Company.Address              = objmodel.Address;
                Company.Address1             = objmodel.Address2;
                Company.City                 = objmodel.City;
                Company.State                = objmodel.State;
                Company.PostalCode           = objmodel.Zip;
                Company.CountryISOAlpha2Code = objmodel.Country;
                Company.PhoneNbr             = objmodel.PhoneNbr;
            }
            TempData.Keep();
            return(View("~/Views/StewardshipPortal/GoogleMapPopUp.cshtml", Company));
        }
Пример #2
0
        //Search By DUNS Number
        public ActionResult UpdateSearchData(string Parameters /*string DUNSNO, string FromPage, string SrcRecId,string InputId*/)
        {
            MainMatchEntity mainMatchEntity = new MainMatchEntity();

            mainMatchEntity.lstMatches = new List <MatchEntity>();
            string DUNSNO = string.Empty, FromPage = string.Empty, SrcRecId = string.Empty, InputId = string.Empty;

            if (!string.IsNullOrEmpty(Parameters))
            {
                Parameters = StringCipher.Decrypt(Parameters.Replace(Utility.Utility.urlseparator, "+"), General.passPhrase);
                DUNSNO     = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 0, 1));
                FromPage   = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 1, 1));
                SrcRecId   = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 2, 1));
                InputId    = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 3, 1));
            }
            //Resert values for Display Input field in match detail view(popup)
            Helper.CompanyName = "";
            Helper.Address     = "";
            Helper.City        = "";
            Helper.State       = "";
            Helper.PhoneNbr    = "";
            Helper.Zip         = "";
            Helper.Address1    = "";

            CommonSearchData objCommonSearch = new CommonSearchData();
            CommonMethod     objCommon = new CommonMethod();

            response = objCommonSearch.SearchByDUNS(DUNSNO, this.CurrentClient.ApplicationDBConnectionString);
            mainMatchEntity.ResponseErroeMessage = Helper.ResponseErroeMessage;
            if (response != null)
            {
                objCommon.InsertAPILogs(response.TransactionResponseDetail, this.CurrentClient.ApplicationDBConnectionString);
                CompanyFacade fcd = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.oUser.UserName);
                fcd.InsertCleanseMatchCallResults(SrcRecId, response.ResponseJSON, response.APIRequest, Helper.oUser.UserId, InputId);
                int Count = Convert.ToInt32(response.MatchEntities.Count()) + 1;
                SessionHelper.SearchMatches = JsonConvert.SerializeObject(response.MatchEntities);
                SessionHelper.SearchMatch   = JsonConvert.SerializeObject(response.MatchEntities);
                //List<MatchEntity> lstMatchEntity = new List<MatchEntity>(response.MatchEntities);
                mainMatchEntity.lstMatches = response.MatchEntities;
            }
            if (!string.IsNullOrEmpty(response?.ResponseJSON))
            {
                dynamic data = JObject.Parse(response.ResponseJSON);
                if (data.error != null && !string.IsNullOrEmpty(data.error.errorMessage.Value))
                {
                    mainMatchEntity.ResponseErroeMessage = data.error.errorMessage.Value;
                }
            }
            if (FromPage.ToLower() == "searchdata")
            {
                ViewBag.SearchedRegNum  = "";
                ViewBag.SearchedWebsite = "";
                return(PartialView("_Index", mainMatchEntity));
            }
            else
            {
                return(PartialView("~/Views/BadInputData/_SearchData.cshtml", mainMatchEntity));
            }
        }
Пример #3
0
        public ActionResult Index()
        {
            MainMatchEntity matches  = new MainMatchEntity();
            SearchModel     objmodel = new SearchModel();

            if (matches.lstMatches == null)
            {
                matches.lstMatches = new List <MatchEntity>();
            }
            Tuple <MainMatchEntity, SearchModel> tuple = new Tuple <MainMatchEntity, SearchModel>(matches, objmodel);

            return(PartialView("Index", tuple));
        }
Пример #4
0
        public ActionResult SearchData(string Parameters)
        {
            if (!string.IsNullOrEmpty(Parameters))
            {
                Parameters = StringCipher.Decrypt(Parameters.Replace(Utility.Utility.urlseparator, "+"), General.passPhrase);
            }
            ViewBag.IsLanguageFlag = Parameters;
            //Open Search data Popup when click on search in Grid.
            CompanyEntity company = new CompanyEntity();

            if (!string.IsNullOrEmpty(SessionHelper.SearchCompany))
            {
                company         = JsonConvert.DeserializeObject <CompanyEntity>(SessionHelper.SearchCompany);
                ViewBag.Company = company;
            }
            // Set all company data in session.
            ViewBag.ExcludeNonHeadQuarters = false;
            ViewBag.ExcludeNonMarketable   = false;
            ViewBag.ExcludeOutofBusiness   = false;
            ViewBag.ExcludeUndeliverable   = false;
            ViewBag.ExcludeUnreachable     = false;
            ViewBag.SrcRecordId            = company.SrcRecordId;
            ViewBag.SrcRecId   = company.SrcRecordId != null ? company.SrcRecordId : "";
            Helper.SrcRecordId = company.SrcRecordId != null ? company.SrcRecordId : "";
            Helper.CompanyName = company.CompanyName != null ? company.CompanyName : "";
            Helper.Address     = company.Address != null ? company.Address : "";
            Helper.Address1    = company.Address1 != null ? company.Address1 : "";
            Helper.PhoneNbr    = company.PhoneNbr != null ? company.PhoneNbr : "";
            Helper.City        = company.City != null ? company.City : "";
            Helper.State       = company.State != null ? company.State : "";
            Helper.Zip         = company.PostalCode != null ? company.PostalCode : "";
            ViewBag.Country    = company.CountryISOAlpha2Code != null ? company.CountryISOAlpha2Code : "";
            ViewBag.InputId    = company.InputId;
            MainMatchEntity objmainMatchEntity = new MainMatchEntity();

            if (company.SrcRecordId != null)
            {
                SessionHelper.SearchCompanySrcId = company.SrcRecordId;
            }
            if (company.InputId > 0)
            {
                SessionHelper.SearchCompanyInputId = company.InputId.ToString();
            }
            if (objmainMatchEntity.lstMatches == null)
            {
                objmainMatchEntity.lstMatches = new List <MatchEntity>();
            }
            Tuple <MainMatchEntity, CompanyEntity> tuple = new Tuple <MainMatchEntity, CompanyEntity>(objmainMatchEntity, company);

            return(PartialView("_PopUpSearchData", tuple));
        }
        public ActionResult SearchDataForBenificiary(SearchModel objmodel)
        {
            /*Set values for helper*/
            Helper.CompanyName = Convert.ToString(objmodel.CompanyName);
            Helper.Address     = Convert.ToString(objmodel.Address);
            Helper.City        = Convert.ToString(objmodel.City);
            Helper.State       = Convert.ToString(objmodel.State);
            Helper.PhoneNbr    = Convert.ToString(objmodel.PhoneNbr);
            Helper.Zip         = Convert.ToString(objmodel.Zip);
            Helper.Address1    = Convert.ToString(objmodel.Address2);

            APIResponse      response;
            MainMatchEntity  objmainMatchEntity = new MainMatchEntity();
            CommonSearchData common             = new CommonSearchData();

            if (string.IsNullOrEmpty(objmodel.DUNS))
            {
                objmainMatchEntity = common.LoadData(objmodel.CompanyName, objmodel.Address, objmodel.Address2, objmodel.City, objmodel.State, objmodel.Country, objmodel.Zip, objmodel.PhoneNbr, objmodel.ExcludeNonHeadQuarters, objmodel.ExcludeNonMarketable, objmodel.ExcludeOutofBusiness, objmodel.ExcludeUndeliverable, objmodel.ExcludeUnreachable, objmodel.Language, null, this.CurrentClient.ApplicationDBConnectionString, null);
            }
            else
            {
                CommonSearchData objCommonSearch = new CommonSearchData();
                CommonMethod     objCommon       = new CommonMethod();
                response = objCommonSearch.SearchByDUNS(objmodel.DUNS, this.CurrentClient.ApplicationDBConnectionString);
                objmainMatchEntity.ResponseErroeMessage = Helper.ResponseErroeMessage;
                if (response != null)
                {
                    objCommon.InsertAPILogs(response.TransactionResponseDetail, this.CurrentClient.ApplicationDBConnectionString);
                    CompanyFacade fcd = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.oUser.UserName);
                    fcd.InsertCleanseMatchCallResults("", response.ResponseJSON, response.APIRequest, Helper.oUser.UserId, "");
                    objmainMatchEntity.lstMatches = response.MatchEntities;
                }
                if (!string.IsNullOrEmpty(response?.ResponseJSON))
                {
                    dynamic data = JObject.Parse(response.ResponseJSON);
                    if (data.error != null && !string.IsNullOrEmpty(data.error.errorMessage.Value))
                    {
                        objmainMatchEntity.ResponseErroeMessage = data.error.errorMessage.Value;
                        return(Json(new { result = false, message = objmainMatchEntity.ResponseErroeMessage }));
                    }
                }
            }
            if (objmainMatchEntity.lstMatches == null)
            {
                objmainMatchEntity.lstMatches = new List <MatchEntity>();
            }
            SessionHelper.SearchMatch = JsonConvert.SerializeObject(objmainMatchEntity.lstMatches);
            SessionHelper.SearchModel = JsonConvert.SerializeObject(objmodel);
            return(View("_Index", objmainMatchEntity));
        }
Пример #6
0
        //Get data depends on searching criteria
        public ActionResult Index(SearchModel objmodel)
        {
            Helper.CompanyName = Convert.ToString(objmodel.CompanyName);
            Helper.Address     = Convert.ToString(objmodel.Address);
            Helper.City        = Convert.ToString(objmodel.City);
            Helper.State       = Convert.ToString(objmodel.State);
            Helper.PhoneNbr    = Convert.ToString(objmodel.PhoneNbr);
            Helper.Zip         = Convert.ToString(objmodel.Zip);
            Helper.Address1    = Convert.ToString(objmodel.Address2);
            //List<MatchEntity> matches = new List<MatchEntity>();
            MainMatchEntity objmainMatchEntity = new MainMatchEntity();
            //if (objmodel.CompanyName != null && objmodel.Country != null)
            //{
            CommonSearchData common = new CommonSearchData();

            //use common method for get data
            objmainMatchEntity = common.LoadData(objmodel.CompanyName, objmodel.Address, objmodel.Address2, objmodel.City, objmodel.State, objmodel.Country, objmodel.Zip, objmodel.PhoneNbr, objmodel.ExcludeNonHeadQuarters, objmodel.ExcludeNonMarketable, objmodel.ExcludeOutofBusiness, objmodel.ExcludeUndeliverable, objmodel.ExcludeUnreachable, objmodel.Language, null, this.CurrentClient.ApplicationDBConnectionString, null);

            #region Tracking Events Configuration-Pendo API
            Pendo model = new Pendo();
            model.properties = new Properties();
            model.context    = new Context();
            Utility.PendoAPI api = new Utility.PendoAPI();
            // call Pendo API
            model = api.pendoAPI(PendoEvents.SearchData.ToString());
            #endregion

            if (objmainMatchEntity.lstMatches == null)
            {
                objmainMatchEntity.lstMatches = new List <MatchEntity>();
            }
            SessionHelper.SearchMatch = JsonConvert.SerializeObject(objmainMatchEntity.lstMatches);
            SessionHelper.SearchModel = JsonConvert.SerializeObject(objmodel);
            if (Request.IsAjaxRequest())
            {
                ViewBag.SearchedRegNum  = "";
                ViewBag.SearchedWebsite = "";
                return(PartialView("_Index", objmainMatchEntity));
            }
            else
            {
                Tuple <MainMatchEntity, SearchModel> tuple = new Tuple <MainMatchEntity, SearchModel>(objmainMatchEntity, objmodel);
                return(PartialView("Index", tuple));
            }
        }
Пример #7
0
        public ActionResult RegistrationNumberPopup(string Parameters)
        {
            MainMatchEntity mainMatchEntity = new MainMatchEntity();

            mainMatchEntity.lstMatches = new List <MatchEntity>();
            //Resert values for Display Input field in match detail view(popup)
            Helper.CompanyName = "";
            Helper.Address     = "";
            Helper.City        = "";
            Helper.State       = "";
            Helper.PhoneNbr    = "";
            Helper.Zip         = "";
            Helper.Address1    = "";

            string        RegistrationNoValue = string.Empty, type = string.Empty, CountryCode = string.Empty, SrcRecId = string.Empty, InputId = string.Empty;
            bool          IsCleanSearch = false;
            CompanyFacade fcd = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);

            if (!string.IsNullOrEmpty(Parameters))
            {
                Parameters          = StringCipher.Decrypt(Parameters.Replace(Utility.Utility.urlseparator, "+"), General.passPhrase);
                RegistrationNoValue = Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 0, 1);
                type          = Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 1, 1);
                IsCleanSearch = Convert.ToBoolean(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 2, 1));
                CountryCode   = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 3, 1));
                SrcRecId      = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 4, 1));
                InputId       = Convert.ToString(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 5, 1));
            }
            CommonMethod objCommon = new CommonMethod();

            Utility.Utility api       = new Utility.Utility();
            var             objResult = objCommon.LoadCleanseMatchSettings(this.CurrentClient.ApplicationDBConnectionString);

            bool      IsGlobal = true;
            string    LOBTag = null;
            int       PageSize = 10, PageNumber = 1, SortOrder = 0;
            int       totalCount = 0;
            DataTable lstThirdPartyAPICredentials = new DataTable();
            ThirdPartyAPICredentialsFacade fac    = new ThirdPartyAPICredentialsFacade(this.CurrentClient.ApplicationDBConnectionString);

            lstThirdPartyAPICredentials = fac.GetMinConfidenceSettingsListPaging(IsGlobal, LOBTag);
            int confidenceLowerLevelThresholdValue = 0;

            foreach (DataRow row in lstThirdPartyAPICredentials.Rows)
            {
                confidenceLowerLevelThresholdValue = Convert.ToInt32(row["MinConfidenceCode"]);
            }

            List <MatchEntity>       lstMatchEntity = new List <MatchEntity>();
            IPagedList <MatchEntity> pagedSearch    = new StaticPagedList <MatchEntity>(lstMatchEntity, 1, 1, 1);
            string APItype = CommonMethod.GetThirdPartyProperty(ThirdPartyCode.DNB_SINGLE_ENTITY_SEARCH.ToString(), ThirdPartyProperties.APIType.ToString());

            try // Validate Api Family is DirectPlus or Direct20 than according to API family call method for response.
            {
                if (APItype.ToLower() == ApiLayerType.Directplus.ToString().ToLower())
                {
                    response = api.GetMatchByRegistrationNoDirectPlus(CountryCode, this.CurrentClient.ApplicationDBConnectionString, RegistrationNoValue);
                }
                else if (APItype.ToLower() == ApiLayerType.Direct20.ToString().ToLower())
                {
                    response = api.GetMatchByRegistrationNo(CountryCode, this.CurrentClient.ApplicationDBConnectionString, RegistrationNoValue);
                }
                else
                {
                    mainMatchEntity.ResponseErroeMessage = CommonMessagesLang.msgNoDefaultKeyForSearch;
                }
            }
            catch (WebException webEx)
            {
                using (var stream = webEx.Response.GetResponseStream())
                    using (var streamReader = new StreamReader(stream))
                    {
                        var result = streamReader.ReadToEnd();
                        if (result != null)
                        {
                            var serializer = new JavaScriptSerializer();


                            if (APItype.ToLower() == ApiLayerType.Directplus.ToString().ToLower())
                            {
                                var settings = new JsonSerializerSettings {
                                    NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore
                                };
                                IdentityResolutionResponse objResponse = JsonConvert.DeserializeObject <IdentityResolutionResponse>(result, settings);
                                if (objResponse != null)
                                {
                                    mainMatchEntity.ResponseErroeMessage = objResponse.error.errorMessage;
                                    objCommon.InsertAPILogs(this.CurrentClient.ApplicationDBConnectionString, objResponse.transactionDetail.transactionID, Convert.ToDateTime(objResponse.transactionDetail.transactionTimestamp), null, null, objResponse.error.errorMessage, null, 0, null);
                                }
                            }
                            else if (APItype.ToLower() == ApiLayerType.Direct20.ToString().ToLower())
                            {
                                GetCleanseMatchResponseMain objResponse = serializer.Deserialize <GetCleanseMatchResponseMain>(result);
                                if (objResponse != null && objResponse.GetCleanseMatchResponse != null && objResponse.GetCleanseMatchResponse.TransactionResult != null)
                                {
                                    mainMatchEntity.ResponseErroeMessage = objResponse.GetCleanseMatchResponse.TransactionResult.ResultText;
                                }
                            }
                        }
                    }
            }
            if (response != null)
            {
                objCommon.InsertAPILogs(response.TransactionResponseDetail, this.CurrentClient.ApplicationDBConnectionString);
                fcd.InsertCleanseMatchCallResults(SrcRecId, response.ResponseJSON, response.APIRequest, Helper.oUser.UserId, InputId);
                int Count = Convert.ToInt32(response.MatchEntities.Count()) + 1;
                SessionHelper.SearchMatch   = JsonConvert.SerializeObject(response.MatchEntities);
                SessionHelper.SearchMatches = JsonConvert.SerializeObject(response.MatchEntities);
                //lstMatchEntity = new List<MatchEntity>(response.MatchEntities);
                mainMatchEntity.lstMatches = response.MatchEntities;

                if (!string.IsNullOrEmpty(response?.ResponseJSON))
                {
                    dynamic data = JObject.Parse(response.ResponseJSON);
                    if (data.error != null && !string.IsNullOrEmpty(data.error.errorMessage.Value))
                    {
                        mainMatchEntity.ResponseErroeMessage = data.error.errorMessage.Value;
                    }
                }
            }

            if (IsCleanSearch)
            {
                return(PartialView("~/Views/BadInputData/_SearchData.cshtml", mainMatchEntity));
            }
            else
            {
                ViewBag.SearchedRegNum  = RegistrationNoValue;
                ViewBag.SearchedWebsite = "";
                return(PartialView("_Index", mainMatchEntity));
            }
        }
Пример #8
0
        public ActionResult GetSortingList(int?sortby, int?sortorder)
        {
            List <MatchEntity> matches = new List <MatchEntity>();

            if (!string.IsNullOrEmpty(SessionHelper.SearchMatch))
            {
                matches = JsonConvert.DeserializeObject <List <MatchEntity> >(SessionHelper.SearchMatch);
            }
            ViewBag.SortBy    = sortby;
            ViewBag.SortOrder = sortorder;
            if (matches.Count > 0 && sortby != null && sortorder != null)
            {
                // sort order 1 for ascending order and 2 for descending order.
                if (sortorder == 1)
                {
                    switch (sortby)
                    {
                    case 1:
                        matches = matches.OrderBy(x => x.DnBDUNSNumber).ToList();
                        break;

                    case 2:
                        matches = matches.OrderBy(x => x.DnBOrganizationName).ToList();
                        break;

                    case 3:
                        matches = matches.OrderBy(x => x.StreetNo).ToList();
                        break;

                    case 4:
                        matches = matches.OrderBy(x => x.StreetName).ToList();
                        break;

                    case 5:
                        matches = matches.OrderBy(x => x.DnBPrimaryTownName).ToList();
                        break;

                    case 6:
                        matches = matches.OrderBy(x => x.DnBTerritoryAbbreviatedName).ToList();
                        break;

                    case 7:
                        matches = matches.OrderBy(x => x.DnBPostalCode).ToList();
                        break;

                    case 8:
                        matches = matches.OrderBy(x => x.DnBTelephoneNumber).ToList();
                        break;

                    case 9:
                        matches = matches.OrderBy(x => x.DnBOperatingStatus).ToList();
                        break;

                    case 10:
                        matches = matches.OrderBy(x => x.DnBFamilyTreeMemberRole).ToList();
                        break;

                    case 11:
                        matches = matches.OrderBy(x => int.Parse(x.DnBDisplaySequence)).ToList();
                        break;
                    }
                }
                else
                {
                    switch (sortby)
                    {
                    case 1:
                        matches = matches.OrderByDescending(x => x.DnBDUNSNumber).ToList();
                        break;

                    case 2:
                        matches = matches.OrderByDescending(x => x.DnBOrganizationName).ToList();
                        break;

                    case 3:
                        matches = matches.OrderByDescending(x => x.StreetNo).ToList();
                        break;

                    case 4:
                        matches = matches.OrderByDescending(x => x.StreetName).ToList();
                        break;

                    case 5:
                        matches = matches.OrderByDescending(x => x.DnBPrimaryTownName).ToList();
                        break;

                    case 6:
                        matches = matches.OrderByDescending(x => x.DnBTerritoryAbbreviatedName).ToList();
                        break;

                    case 7:
                        matches = matches.OrderByDescending(x => x.DnBPostalCode).ToList();
                        break;

                    case 8:
                        matches = matches.OrderByDescending(x => x.DnBTelephoneNumber).ToList();
                        break;

                    case 9:
                        matches = matches.OrderByDescending(x => x.DnBOperatingStatus).ToList();
                        break;

                    case 10:
                        matches = matches.OrderByDescending(x => x.DnBFamilyTreeMemberRole).ToList();
                        break;

                    case 11:
                        matches = matches.OrderByDescending(x => int.Parse(x.DnBDisplaySequence)).ToList();
                        break;
                    }
                }
            }

            MainMatchEntity mainMatchEntity = new MainMatchEntity();

            mainMatchEntity.lstMatches = matches;
            int currentPageIndex = Convert.ToInt32(TempData["SearchcurrentPageIndex"]);
            int pageno           = Convert.ToInt32(TempData["Searchpageno"]);

            SessionHelper.SearchMatch = JsonConvert.SerializeObject(matches);
            int totalCount = 0;

            TempData.Keep();
            if (Request.IsAjaxRequest())
            {
                ViewBag.SearchedRegNum  = "";
                ViewBag.SearchedWebsite = "";
                return(PartialView("_Index", mainMatchEntity));
            }
            else
            {
                return(View("Index", mainMatchEntity));
            }
        }
Пример #9
0
        public MainMatchEntity LoadData(string CompanyName, string Address, string Address2, string City, string State, string Country, string zip, string Phone, bool ExcludeNonHeadQuarters, bool ExcludeNonMarketable, bool ExcludeOutofBusiness, bool ExcludeUndeliverable, bool ExcludeUnreachable, string Language, string SrcRecId, string ConnectionString, string InputId)
        {
            MainMatchEntity objmainMatchEntity = new MainMatchEntity();

            try
            {
                // Checking APIType is there or not
                string APItype = CommonMethod.GetThirdPartyProperty(ThirdPartyCode.DNB_SINGLE_ENTITY_SEARCH.ToString(), ThirdPartyProperties.APIType.ToString());
                if (string.IsNullOrEmpty(APItype))
                {
                    objmainMatchEntity.ResponseErroeMessage = CommonMessagesLang.msgNoDefaultKeyForSearch;
                    return(objmainMatchEntity);
                }
                bool         IsDirectPlusCall = false;
                CommonMethod objCommon        = new CommonMethod();
                Utility      api       = new Utility();
                var          objResult = objCommon.LoadCleanseMatchSettings(ConnectionString);

                bool      IsGlobal = true;
                string    LOBTag = null;
                int       PageSize = 10, PageNumber = 1, SortOrder = 0, TotalRecords = 0;
                int       totalCount = 0;
                DataTable lstThirdPartyAPICredentials = new DataTable();
                ThirdPartyAPICredentialsFacade fac    = new ThirdPartyAPICredentialsFacade(ConnectionString);
                lstThirdPartyAPICredentials = fac.GetMinConfidenceSettingsListPaging(IsGlobal, LOBTag);
                int candidateMaxQuantity = 0, confidenceLowerLevelThresholdValue = 0;
                foreach (DataRow row in lstThirdPartyAPICredentials.Rows)
                {
                    candidateMaxQuantity = Convert.ToInt32(row["MaxCandidateQty"]);
                    confidenceLowerLevelThresholdValue = Convert.ToInt32(row["MinConfidenceCode"]);
                }

                CountryGroupModel.CountryISOAlpha2Enum objEnum = new CountryGroupModel.CountryISOAlpha2Enum();
                try
                {
                    objEnum = (CountryGroupModel.CountryISOAlpha2Enum)Enum.Parse(typeof(CountryGroupModel.CountryISOAlpha2Enum), Convert.ToString(Country));
                }
                catch
                {
                    objEnum = (CountryGroupModel.CountryISOAlpha2Enum)Enum.Parse(typeof(CountryGroupModel.CountryISOAlpha2Enum), "US");
                }
                try
                {
                    CompanyFacade fcd = new CompanyFacade(ConnectionString, Helper.oUser.UserName);
                    if (APItype.ToLower() == ApiLayerType.Directplus.ToString().ToLower())
                    {
                        IsDirectPlusCall = true;
                        response         = api.GetCleanseMatchResultDirectPlus(CompanyName, Address, Address2, City, State, objEnum, zip, Phone, ExcludeNonHeadQuarters, ExcludeNonMarketable, ExcludeOutofBusiness, ExcludeUndeliverable, ExcludeUnreachable, Language, candidateMaxQuantity, confidenceLowerLevelThresholdValue, ConnectionString, InputId);
                    }
                    else if (APItype.ToLower() == ApiLayerType.Direct20.ToString().ToLower())
                    {
                        response = api.GetCleanseMatchResult(CompanyName, Address, Address2, City, State, objEnum, zip, Phone, ExcludeNonHeadQuarters, ExcludeNonMarketable, ExcludeOutofBusiness, ExcludeUndeliverable, ExcludeUnreachable, candidateMaxQuantity, confidenceLowerLevelThresholdValue, ConnectionString, InputId);
                    }

                    if (response != null && response.TransactionResponseDetail != null)
                    {
                        objCommon.InsertAPILogs(response.TransactionResponseDetail, ConnectionString);
                        fcd.InsertCleanseMatchCallResults(SrcRecId, response.ResponseJSON, response.APIRequest, Helper.oUser.UserId, InputId);
                        objmainMatchEntity.lstMatches = response.MatchEntities;
                        objmainMatchEntity.lstMatches.ForEach(x => x.MatchDataCriteriaText = response?.TransactionResponseDetail?.MatchDataCriteriaText);
                    }
                    else
                    {
                        objmainMatchEntity.ResponseErroeMessage = CommonMessagesLang.msgResponseErroeMessage;
                    }
                    if (!string.IsNullOrEmpty(response?.ResponseJSON))
                    {
                        dynamic data = JObject.Parse(response.ResponseJSON);
                        if (data.error != null && !string.IsNullOrEmpty(data.error.errorMessage.Value))
                        {
                            objmainMatchEntity.ResponseErroeMessage = data.error.errorMessage.Value;
                        }
                    }
                }
                catch (WebException webEx)
                {
                    using (var stream = webEx.Response.GetResponseStream())
                        using (var streamReader = new StreamReader(stream))
                        {
                            var result = streamReader.ReadToEnd();
                            if (result != null)
                            {
                                var serializer = new JavaScriptSerializer();
                                if (IsDirectPlusCall == false)
                                {
                                    GetCleanseMatchResponseMain objResponse = serializer.Deserialize <GetCleanseMatchResponseMain>(result);
                                    if (objResponse != null && objResponse.GetCleanseMatchResponse != null && objResponse.GetCleanseMatchResponse.TransactionResult != null)
                                    {
                                        objmainMatchEntity.ResponseErroeMessage = objResponse.GetCleanseMatchResponse.TransactionResult.ResultText;
                                        //objCommon.InsertAPILogs(ConnectionString, null, null, objResponse.GetCleanseMatchResponse.TransactionResult.SeverityText, objResponse.GetCleanseMatchResponse.TransactionResult.ResultID, objResponse.GetCleanseMatchResponse.TransactionResult.ResultText, null, 0, null);
                                    }
                                }
                                else
                                {
                                    var settings = new JsonSerializerSettings {
                                        NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore
                                    };
                                    IdentityResolutionResponse objResponse = JsonConvert.DeserializeObject <IdentityResolutionResponse>(result, settings);
                                    if (objResponse != null)
                                    {
                                        objmainMatchEntity.ResponseErroeMessage = objResponse.error.errorMessage;
                                        objCommon.InsertAPILogs(ConnectionString, objResponse.transactionDetail.transactionID, Convert.ToDateTime(objResponse.transactionDetail.transactionTimestamp), null, null, objResponse.error.errorMessage, null, 0, null);
                                    }
                                }
                            }
                        }
                }
            }
            catch (Exception ex)
            {
                objmainMatchEntity.ResponseErroeMessage = CommonMessagesLang.msgResponseErroeMessage;
            }
            finally
            {
            }
            return(objmainMatchEntity);
        }