public IHttpActionResult SetUnitOnTest(string digits) { var response = new VoiceResponse(); if (!string.IsNullOrEmpty(digits)) { //search the phone number CellDeviceSearchModel model = new CellDeviceSearchModel(); model.PhoneNumber = digits; var result = CellDeviceService.Instance.SearchCellDevice(model); if (result.Count > 0) { var unit = result[0]; SetUnitTestMode(unit); } else { response.Append(new Say(string.Format("No device found for {0}", digits))); } //string newString = ""; //char[] cArray = digits.ToCharArray(); //foreach (char c in cArray) //{ // newString = newString + c + " "; //} //response.Say("You inputted: " + newString); } else { response.Append(new Gather(numDigits: 10).Say("Enter phone number")); } return((IHttpActionResult)TwiML(response)); }
public List <CellDeviceModel> SearchCellDevice(CellDeviceSearchModel model) { StringBuilder sql = new StringBuilder("SELECT * FROM CELL_DEVICE_ACTIVE WHERE 1=1"); if (!string.IsNullOrEmpty(model.PhoneNumber)) { sql.AppendFormat(" AND MDN = '{0}'", model.PhoneNumber); } if (!string.IsNullOrEmpty(model.UnitId)) { sql.AppendFormat(" AND UNIT_ID = {0}", model.UnitId); } if (!string.IsNullOrEmpty(model.IMEI)) { sql.AppendFormat(" AND IMEI LIKE '{0}%'", model.IMEI); } if (!string.IsNullOrEmpty(model.UnitType)) { sql.AppendFormat(" AND LOWER(OTHER) LIKE '%{0}%'", model.UnitType.ToLower()); } if (model.TestMode.ToLower() != "all") { sql.AppendFormat(" AND TEST = '{0}'", model.TestMode); } if (!string.IsNullOrEmpty(model.SerialNumber)) { sql.AppendFormat(" AND SERIAL LIKE '%{0}%'", model.SerialNumber); } List <CellDeviceModel> collection = new List <CellDeviceModel>(); try { var data = _provider.GetData(sql.ToString(), null); LogInfo(string.Format("Running: {0}", sql.ToString())); if (data != null) { foreach (DataRow row in data.Rows) { collection.Add(new CellDeviceModel(row)); } LogInfo(string.Format("Cell device search result model {0}", collection.ToJson())); } } catch (Exception e) { LogError(e); } return(collection); }
private void btnSearch_Click(object sender, EventArgs e) { CellDeviceSearchModel model = new CellDeviceSearchModel(); model.UnitId = txtUnitId.Text; model.IMEI = txtIMEI.Text; model.SerialNumber = txtSerialNum.Text; model.UnitType = txtUnitType.Text; model.TestMode = ((ListItem)cmbMode.SelectedItem).Value; var result = CellDeviceService.Instance.SearchCellDevice(model); grdSearchResult.AutoGenerateColumns = false; grdSearchResult.DataSource = result; }
static void Main(string[] args) { ///New Logic ///1. Check Home for passed in phonenumber ///2. Go to Anelto and run the Update/Create /// a. if error = inventory not found, then we do Subscriber Get with ICCD from ? /// b. use company from table for API User/Password /// c. then run Sub Update/Create /// //args = new string[] { "2158033100" }; //args = new string[] { "2156962172" }; if (args.Count() > 0) { log = new LogHelper(AppConfigurationHelper.LogFile); string phoneNumber = args[0]; //Search using phone with no 1 if no result search with the 1 log.LogMessage(LogMessageType.INFO, string.Format("Searching for Phone {0}", phoneNumber)); var home = HomeService.Instance.GetHomeByWorkPhone(phoneNumber); if (home == null) { log.LogMessage(LogMessageType.INFO, string.Format("No home info found for {0}.", phoneNumber)); try { home = HomeService.Instance.GetHomeByWorkPhone(phoneNumber); } catch (Exception ex) { log.LogMessage(LogMessageType.INFO, string.Format("Failed to find home for {0}. ERROR: {1}", phoneNumber, ex.Message)); } } if (home == null) { MessageBox.Show(string.Format("No information found for {0}", phoneNumber)); log.LogMessage(LogMessageType.INFO, string.Format("No home info found for {0}.", phoneNumber)); } else { log.LogMessage(LogMessageType.INFO, string.Format("Home found for {0}.", phoneNumber)); AneltoAPI api = null; string aneltoAPIUsername = string.Empty; //TODO: need to check the Subscriber_Get for each username string[] userNames = AppConfigurationHelper.AneltoAPIUsername.Split('|'); var cellDeviceSearch = new CellDeviceSearchModel(); cellDeviceSearch.PhoneNumber = phoneNumber; cellDeviceSearch.TestMode = "All"; var cellDeviceResult = CellDeviceService.Instance.SearchCellDevice(cellDeviceSearch); if (cellDeviceResult.Count > 0) { var accountId = cellDeviceResult.FirstOrDefault().UNIT_ID.ToString(); foreach (string userName in userNames) { log.LogMessage(LogMessageType.INFO, string.Format("Running Anelto search for user {0}.", userName)); try { api = new AneltoAPI(userName, AppConfigurationHelper.AneltoAPIPassword); var subscriberGetRequest = new AneltoSubscriberGetRequest(); subscriberGetRequest.account = accountId; bool subscriberExists = api.SubscriberExists(subscriberGetRequest); if (subscriberExists) { aneltoAPIUsername = userName; log.LogMessage(LogMessageType.INFO, string.Format("Found in Anelto for subscriber ICCD {0}, username .", accountId, userName)); } else { log.LogMessage(LogMessageType.INFO, string.Format("No subscriber found in Anelto for account {0}, username {1}.", accountId, userName)); } } catch (Exception ex) { log.LogMessage(LogMessageType.ERROR, string.Format("Error running Subscriber_Get for Username {0}. ERROR: {1}", userName, ex.Message)); } } if (!string.IsNullOrEmpty(aneltoAPIUsername)) { ProcessPhoneNumber(home, phoneNumber, aneltoAPIUsername); } else { string msg = string.Format("No account found for phone {0} in ANelto API", phoneNumber); MessageBox.Show(msg); } } } } else { MessageBox.Show("Phone number required."); } }