/// <summary> /// Perform Backend Task to Send Email/SMS to various Client of Sitecore Application (xDB) /// </summary> public void SendEmailToCustomer() { try { var customers = new TechHooterCustomers() { }; SendEmail email = new SendEmail(); email.SendEmailToUser("*****@*****.**", "Welcome to TechHooters"); } catch (Exception exp) { } }
/// <summary> /// Retriving the IP address from Client Browser and Location Via using Via /// </summary> /// <param name="model">Pass the Client Device Details in the Model</param> /// <param name="latitude">{ass</param> /// <param name="longitude"></param> /// <param name="action"></param> /// <returns></returns> public List <TechHooterCustomers> SaveEventAction(TechHooterTracking model, string latitude, string longitude, string action) { string ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(ipAddress)) { ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } List <TechHooterCustomers> locations = new List <TechHooterCustomers>(); TechHooterCustomers _customerinfo = new TechHooterCustomers(); string JsonData = GetCallApi(model, latitude, longitude); var parsed = JObject.Parse(JsonData); var results = parsed.SelectToken("results").Children(); foreach (var innerlocation in results) { var customerlocation = innerlocation.SelectToken("formatted"); _customerinfo.ContactId = Guid.NewGuid(); _customerinfo.CustomerName = "jitender"; _customerinfo.AccessDate = System.DateTime.Now; _customerinfo.Place = ((JValue)customerlocation).Value.ToString(); _customerinfo.IPAddress = ipAddress; _customerinfo.Event = action; var customerdetails = innerlocation.SelectToken("components"); JObject innerinfo = JObject.Parse(customerdetails.ToString()); var receivingparams = Regex.Matches(model.Name_Value_List, "([^?=&]+)(=([^&]*))?").Cast <Match>().ToDictionary(x => x.Groups[1].Value, x => x.Groups[3].Value); foreach (var info in innerinfo) { //string receivingkey = ""; //bool required = IsRequiredField(receivingparams, info.Key.ToLower(),ref receivingkey); //if (info.Key.ToLower() == receivingkey && required) //{ // _customerinfo.CountryName = info.Value.ToString(); //} //else if (info.Key.ToLower() == receivingkey && required) //{ // _customerinfo.CountryCode = info.Value.ToString(); //} //else if (info.Key.ToLower() == receivingkey && required) //{ // _customerinfo.CityName = info.Value.ToString(); //} //else if (info.Key.ToLower() == receivingkey && required) //{ // _customerinfo.State = info.Value.ToString(); //} //else if (info.Key.ToLower() == receivingkey && required) //{ // _customerinfo.ZipCode = info.Value.ToString(); //} if (info.Key.ToLower() == "country") { _customerinfo.CountryName = info.Value.ToString(); } else if (info.Key.ToLower() == "country_code") { _customerinfo.CountryCode = info.Value.ToString(); } else if (info.Key.ToLower() == "city") { _customerinfo.CityName = info.Value.ToString(); } else if (info.Key.ToLower() == "state") { _customerinfo.State = info.Value.ToString(); } else if (info.Key.ToLower() == "postcode") { _customerinfo.ZipCode = info.Value.ToString(); } } var customergeometry = innerlocation.SelectToken("geometry"); innerinfo = JObject.Parse(customergeometry.ToString()); foreach (var innergeometry in innerinfo) { //string receivingkey = ""; //bool required = IsRequiredField(receivingparams, innergeometry.Key.ToLower(), ref receivingkey); //if (innergeometry.Key.ToLower() == receivingkey && required) //{ // _customerinfo.Latitude = Convert.ToDouble(innergeometry.Value.ToString()); //} //else if (innergeometry.Key.ToLower() == receivingkey && required) //{ // _customerinfo.Longitude = Convert.ToDouble(innergeometry.Value.ToString()); //} if (innergeometry.Key.ToLower() == "lat") { _customerinfo.Latitude = Convert.ToDouble(innergeometry.Value.ToString()); } else if (innergeometry.Key.ToLower() == "lng") { _customerinfo.Longitude = Convert.ToDouble(innergeometry.Value.ToString()); } } } locations.Add(_customerinfo); SendEmailToCustomer(); return(locations); }