Esempio n. 1
0
        public ApiResponseBase Search(MelissaSearchModel searchParams)
        {
            var result       = new ApiResponseBase();
            var searchResult = new SearchResult();
            var data         = string.Empty;

            try
            {
                FullContactResponse.RootObject detail = null;
                if (!string.IsNullOrEmpty(searchParams.Email))
                {
                    data = GetDataFromUrl(FullContactUrl + "/v2/person.json?email=" + searchParams.Email + "&apiKey=" + FullContactApiKey);
                }
                else if (!string.IsNullOrEmpty(searchParams.Phone))
                {
                    data = GetDataFromUrl(FullContactUrl + "/v2/person.json?phone=" + searchParams.Phone + "&apiKey=" + FullContactApiKey);
                }

                if (!string.IsNullOrEmpty(data))
                {
                    detail = JsonConvert.DeserializeObject <FullContactResponse.RootObject>(data, new JsonSerializerSettings {
                        StringEscapeHandling = StringEscapeHandling.EscapeHtml
                    });
                    searchResult.FullContact = detail;
                }

                if (detail != null)
                {
                    var globalData = SearchGlobalemailMelissadataByMail(searchParams.Email);
                    searchResult.GlobalemailMelissaData = globalData;
                    searchResult.PersonatorMelissaData  = SearchPersonatorMelissadataByMail(searchParams.Email);
                    searchResult.CompanyFullContact     = GetCompanyInfor($"{globalData.Records[0].DomainName}.{globalData.Records[0].TopLevelDomain}");
                }
                result.Data = searchResult;
            }
            catch (Exception ex)
            {
                result.Errors.Add(ex.Message);
            }

            return(result);
        }
Esempio n. 2
0
 public ActionResult <ApiResponseBase> Search(MelissaSearchModel searchParams)
 {
     return(_melissaService.Search(searchParams));
 }