Esempio n. 1
0
        static void ProcessPhoneNumber(EpecLocationModel home, string phoneNumber, string aneltoAPIUserName)
        {
            var model = new AneltoSubscriberUpdateRequest();

            try
            {
                model.ani = AppConfigurationHelper.StripPhoneNumberField ? home.OTHER_PHONE.Remove(0, 1) : home.OTHER_PHONE;
                var resident = home.Residents.OrderBy(r => r.PRIORITY).First();
                model.firstname = resident.FIRST_NAME;
                model.lastname  = resident.LAST_NAME;
                model.address   = home.ADDRESS_STREET;
                model.address1  = home.ADDRESS_AREA;
                model.city      = home.ADDRESS_TOWN;
                model.state     = home.ADDRESS_COUNTY;
                model.zip       = home.ADDRESS_POSTCODE;

                AneltoAPI api      = new AneltoAPI(aneltoAPIUserName, AppConfigurationHelper.AneltoAPIPassword);
                var       response = api.SubscriberCreateUpdate(model);
                log.LogMessage(LogMessageType.INFO, string.Format("Sent to Anelto with resposne {0} for phone number {1}. Data: {2}", response, phoneNumber, model.ToJson()));
            }
            catch (Exception ex)
            {
                log.LogMessage(LogMessageType.ERROR, string.Format("Failed to send to Anelto API for phone {0}. DATA: {1}. ERROR: {2}", phoneNumber, model.ToJson(), ex.Message));
            }

            // get the latest signal from the event table for the phone number
            string url = string.Empty;

            try
            {
                var strip = AppConfigurationHelper.StripPhoneNumberField ? phoneNumber.Remove(0, 1) : phoneNumber;
                url = EventService.Instance.GetUrlBy(strip);
            }
            catch (Exception ex)
            {
                log.LogMessage(LogMessageType.ERROR, string.Format("Failed to get URL from Event database. ERROR: {0}", ex.Message));
            }

            if (!string.IsNullOrEmpty(url))
            {
                log.LogMessage(LogMessageType.INFO, string.Format("Found url from event table for {0}", url));
                try
                {
                    Process.Start("chrome.exe", url);
                    log.LogMessage(LogMessageType.INFO, string.Format("Opening chrome browser for url {0}", url));
                }
                catch
                {
                    using (WebBrowser browser = new WebBrowser())
                    {
                        browser.Navigate(url, "_blank", null, null);
                    }
                }
            }
        }
Esempio n. 2
0
        public string SubscriberCreateUpdate(AneltoSubscriberUpdateRequest model)
        {
            var client = new RestClient(AppConfigurationHelper.AneltoURL);

            client.Authenticator = new HttpBasicAuthenticator(_apiUsername, _apiPassword);

            var request = FormRequest(Method.POST, "/subscriber/create");

            request.AddJsonBody(model);
            var response = client.Execute(request);

            if (response.StatusCode != System.Net.HttpStatusCode.OK)
            {
                throw new Exception(string.Format("Failed Anelto SubscriberCreateUpdate. Status: {0} Response: {1}", response.StatusCode.ToString(), response.Content));
            }
            else
            {
                return(string.Format("Successfully sent signal to Anelto. Status: {0} Response: {0}", response.StatusCode, response.ResponseStatus.ToString()));
            }
        }