public void AddLogicalDeviceTest() { try { // construct a Jetstream service client JetstreamServiceClient client = new JetstreamServiceClient(JetstreamConfiguration.Url, JetstreamConfiguration.ApplicationAccessKey); // create the request object AddLogicalDeviceRequest request = new AddLogicalDeviceRequest(); request.DeviceSerialNumber = JetstreamConfiguration.GetDeviceSerailNumber(); request.LogicalDeviceId = LogicalDeviceId; request.Region = Regions.US; request.DeviceDefinitionId = "5b6da680-fe54-41e3-968a-bd2ba1e23ebf"; // call the Jetstream AddLogicalDevice ReST endpoint AddLogicalDeviceResponse response = client.AddLogicalDevice(request); if (response.Id != null) { // logicalDeviceId = response.Id; } } catch (Exception ex) { Assert.Fail(ex.ToString()); } }
public ActionResult AddDevice(DeviceModel deviceMl, string command) { StringBuilder objStringBuilderError = new StringBuilder(); try { if (Session["UserName"] != null && string.Equals(command, JetstreamResource.AddCommand) && deviceMl != null) { var duplicateLogicalDeviceId = CheckForDuplicateId(deviceMl); var duplicateSerial = CheckForDuplicateSerial(deviceMl); if (duplicateLogicalDeviceId == 1 || duplicateSerial == 1) { Warning(JetstreamResource.DuplicateAddDeviceMessage, true); return RedirectToAction("RedirectToAddDevice", new RouteValueDictionary(deviceMl)); } else { if (ModelState.IsValid) { // construct a Jetstream service client JetstreamServiceClient client = new JetstreamServiceClient(JetstreamConfiguration.Url, JetstreamConfiguration.ApplicationAccessKey); //Make logical device request object AddLogicalDeviceRequest request = new AddLogicalDeviceRequest { DeviceDefinitionId = deviceMl.DeviceGuid, DeviceSerialNumber = deviceMl.SerialNumber, LogicalDeviceId = deviceMl.LogicalDeviceId, Region = (Regions)Enum.Parse(typeof(Regions), deviceMl.Region) }; // Add device to jetstream cloud AddLogicalDeviceResponse response = client.AddLogicalDevice(request); using (JetstreamClient objMainServiceClient = new JetstreamClient()) { objMainServiceClient.SaveDevice(deviceMl); } Success(string.Format(JetstreamResource.DeviceSaveMessage, deviceMl.LogicalDeviceId, response.Id), true); return RedirectToAction("DeviceDetail", "Device"); } else { return RedirectToAction("RedirectToAddDevice", new RouteValueDictionary(deviceMl)); } } } else if (string.Equals(command, JetstreamResource.CancelCommand)) { return RedirectToAction("DeviceDetail", "Device"); } else { return RedirectToAction("UserLogin", "Login"); } } catch (FaultException<ServiceData> fex) { objStringBuilderError.AppendLine("In method : AddDevice(DeviceModel deviceMl, string command) :: DeviceController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", fex.Detail.ErrorMessage, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, fex.Detail.ErrorDetails); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } catch (Exception ex) { objStringBuilderError.AppendLine("In method : AddDevice(DeviceModel deviceMl, string command) :: DeviceController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", ex.Message, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, ex.ToString()); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } }
/// <summary> /// Update devices to database /// </summary> /// <param name="deviceMl"></param> /// <returns></returns> public ActionResult UpdateDevice(DeviceModel deviceMl) { StringBuilder objStringBuilderError = new StringBuilder(); try { if (Session["UserName"] != null) { var duplicateLogicalDeviceId = CheckForDuplicateId(deviceMl); var duplicateSerial = CheckForDuplicateSerial(deviceMl); if (duplicateLogicalDeviceId == 1 || duplicateSerial == 1) { Warning(JetstreamResource.DuplicateAddDeviceMessage, true); return RedirectToAction("RedirectToEditDevice", new RouteValueDictionary(deviceMl)); } else { if (ModelState.IsValid) { string oldLogicalDeviceId; using (JetstreamClient objMainServiceClient = new JetstreamClient()) { DeviceModel dm = objMainServiceClient.GetDeviceByDeviceId(deviceMl.DeviceId); oldLogicalDeviceId = dm.LogicalDeviceId; } // construct a Jetstream service client JetstreamServiceClient client = new JetstreamServiceClient(JetstreamConfiguration.Url, JetstreamConfiguration.ApplicationAccessKey); RemoveLogicalDeviceRequest removeRequest = new RemoveLogicalDeviceRequest { LogicalDeviceId = oldLogicalDeviceId }; //Remove device from jetstream client.RemoveLogicalDevice(removeRequest); using (JetstreamClient objMainServiceClient = new JetstreamClient()) { objMainServiceClient.UpdateDevice(deviceMl); } AddLogicalDeviceRequest addRequest = new AddLogicalDeviceRequest { DeviceDefinitionId = deviceMl.DeviceGuid, DeviceSerialNumber = deviceMl.SerialNumber, LogicalDeviceId = deviceMl.LogicalDeviceId, Region = (Regions)Enum.Parse(typeof(Regions), deviceMl.Region) }; // call the Jetstream GetDeviceDefinitions ReST endpoint AddLogicalDeviceResponse addResponse = client.AddLogicalDevice(addRequest); Success(string.Format(JetstreamResource.DeviceSaveMessage, deviceMl.LogicalDeviceId, addResponse.Id), true); return RedirectToAction("DeviceDetail", "Device"); } else { return RedirectToAction("RedirectToEditDevice", new RouteValueDictionary(deviceMl)); } } } else { return RedirectToAction("UserLogin", "Login"); } } catch (FaultException<ServiceData> fex) { objStringBuilderError.AppendLine("In method : UpdateDevice(DeviceModel deviceMl) :: DeviceController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", fex.Detail.ErrorMessage, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, fex.Detail.ErrorDetails); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } catch (Exception ex) { objStringBuilderError.AppendLine("In method : UpdateDevice(DeviceModel deviceMl) :: DeviceController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", ex.Message, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, ex.ToString()); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } }