void BTN_New_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(TB_DeviceName.Text)) { Model.Device device = new Model.Device(); device.Id = Guid.NewGuid(); device.Name = TB_DeviceName.Text; device.Producer = TB_Producer.Text; device.Number = II_Number.Value; device.Length = DI_Length.Value; device.Series = TB_Series.Text; device.ProjectId = Guid.Empty; device.SamplingRate = II_SamplingRate.Value; if (CB_Curve.SelectedItem != null) { device.CurveId = (Guid)((DevComponents.DotNetBar.ComboBoxItem)CB_Curve.SelectedItem).Tag; } Model.DataHelper.InsertObject <Model.Device>(device); this.DialogResult = DialogResult.OK; } else { MessageBox.Show("ÒÇÆ÷Ãû²»ÄÜΪ¿Õ£¡"); } } catch (Exception ex) { Program.SetStatusMessage(ex.Message); } }
public DeviceDetailViewModel(INavigation nav, Model.Device item = null) { NavStack = nav.NavigationStack; Title = BuildBreadCrumb(nav, item.Name); Item = item; SaveCommand = new Command(async() => await ExecuteSaveCommand()); }
private async Task <string> UpdateGroupMemberships(Model.Device device, HttpClient graphClient) { try { foreach (Group g in device.Groups) { string serializedDeviceId; serializedDeviceId = "{ \"@odata.id\" : \"https://graph.microsoft.com/beta/directoryObjects/" + device.AzureADId + "\" }"; string stringAssignGroupUrl = string.Format("https://graph.microsoft.com/beta/groups/{0}/members/$ref", g.Id); var ret = await graphClient.PostAsync( stringAssignGroupUrl, new StringContent(serializedDeviceId, Encoding.UTF8, "application/json")); string content = await ret.Content.ReadAsStringAsync(); var resultObj = JsonConvert.DeserializeObject <JToken>(content); var message = resultObj["error"]["message"]; if (ret.StatusCode == System.Net.HttpStatusCode.BadRequest && !(message.ToString().StartsWith("One or more added object references already exist for the following modified properties"))) { return(await Task.FromResult("Failed to add device to group '" + g.DisplayName + "'")); } } } catch { return(await Task.FromResult("Failed to add device to AAD groups.")); } return(await Task.FromResult("OK")); }
private async Task <string> UpdateDeviceProperties(Model.Device device, HttpClient graphClient) { Dictionary <string, string> data2 = new Dictionary <string, string>(); data2.Add("groupTag", device.GroupTag); if (!String.IsNullOrWhiteSpace(device.UserPrincipalName)) { if (String.IsNullOrWhiteSpace(device.AddressableUserName)) { device.AddressableUserName = device.UserPrincipalName; } data2.Add("userPrincipalName", device.UserPrincipalName); data2.Add("addressableUserName", device.AddressableUserName); } if (!String.IsNullOrWhiteSpace(device.DeviceName)) { data2.Add("displayName", device.DeviceName); } string serializedItem2 = JsonConvert.SerializeObject(data2); string stringUpdateDeviceUrl = string.Format("https://graph.microsoft.com/beta/devicemanagement/windowsAutopilotDeviceIdentities/{0}/UpdateDeviceProperties", device.ZtdId); var result = await graphClient.PostAsync( stringUpdateDeviceUrl, new StringContent(serializedItem2, Encoding.UTF8, "application/json")); if (result.StatusCode != System.Net.HttpStatusCode.OK) { return(await Task.FromResult("Failed to update device properties '" + serializedItem2 + "'")); } return(await Task.FromResult("OK")); }
private async Task <bool> AssignCategory(Model.Device device, HttpClient graphClient) { // For whatever reason, only the beta namespace works for this, so don't change // it unless you know the v1.0 namespace now works. string stringDeviceUrl = string.Format("https://graph.microsoft.com/beta/deviceManagement/managedDevices('{0}')/deviceCategory/$ref", device.ManagedDeviceId); string categoryId = String.Empty; foreach (var category in device.CategoryList) { if (category.Id == device.ManagedDeviceCategoryId) { categoryId = category.Id; } } string payload = string.Format("{{ \"@odata.id\": \"https://graph.microsoft.com/beta/deviceManagement/deviceCategories/{0}\"}}", categoryId); var result = await graphClient.PutAsync( stringDeviceUrl, new StringContent(payload, Encoding.UTF8, "application/json")); if (result.StatusCode != System.Net.HttpStatusCode.NoContent) { return(await Task.FromResult(false)); } return(await Task.FromResult(true)); }
public override string ToString() { //InitParams(); StringBuilder sb = new StringBuilder(); if (IdList != null) { sb.Append(StartHeight + " "); sb.Append(EndHeight + " "); sb.Append(Speed + " "); sb.Append(IdList.Count + " "); for (int i = 0; i < IdList.Count; i++) { sb.Append(IdList[i].ToString()); sb.Append("&"); Model.Curve curve = curveList.Find((c) => { return(c.Id == IdList[i]); }); Model.Device device = deviceList.Find((d) => { return(d.CurveId == IdList[i]); }); sb.Append(curve.CurveName); sb.Append("&"); sb.Append(device.SamplingRate); sb.Append(" "); } return(sb.ToString().Trim()); } return("0 "); }
public void SetRows(List <Model.Curve> curveList, List <Model.Device> deviceList) { this.curveList = curveList; this.deviceList = deviceList; tableOfCheckBoxes.Clear(); dataGridViewX1.Rows.Clear(); for (int i = 0; i < curveList.Count; i++) { DataGridViewRow row = new DataGridViewRow(); Model.Device device = deviceList.Find((de) => { return(de.CurveId == curveList[i].Id); }); DataGridViewLabelXCell cell1 = new DataGridViewLabelXCell(); cell1.Value = curveList[i].CurveName; DataGridViewLabelXCell cell2 = new DataGridViewLabelXCell(); DataGridViewLabelXCell cell3 = new DataGridViewLabelXCell(); if (device != null) { cell2.Value = device.Name; cell3.Value = device.SamplingRate; } else { cell2.Value = "未设定"; cell3.Value = "未设定"; } DataGridViewLabelXCell cell4 = new DataGridViewLabelXCell(); cell4.Tag = curveList[i].Id; Data.DataFetcher fe = GlobalTable.GlobalTables.Instance.GetFetcher(curveList[i].Id); if (fe == null) { cell4.Value = "未设定"; } else { cell4.Value = fe.ToString(); } //DataGridViewLabelXCell cell5 = new DataGridViewLabelXCell(); //cell5.Tag = curveList[i].Id; //if (fe is Data.NetDataFetcher) // cell5.Value = (fe as Data.NetDataFetcher).GetFetcherState(curveList[i].Id); //else // cell5.Value = "位置"; DataGridViewCheckBoxCell cell6 = new DataGridViewCheckBoxCell(); tableOfCheckBoxes.Add(curveList[i].Id, cell6); cell6.Tag = curveList[i].Id; //if (cell5.Value.ToString() == "传输中") //{ // cell6.Value = true; //} row.Cells.Add(cell1); row.Cells.Add(cell2); row.Cells.Add(cell3); row.Cells.Add(cell4); // row.Cells.Add(cell5); row.Cells.Add(cell6); dataGridViewX1.Rows.Add(row); } }
public DevicePage(Model.Device device) { InitializeComponent(); if (this.Width > this.Height) { outerStack.Orientation = StackOrientation.Horizontal; } else { outerStack.Orientation = StackOrientation.Vertical; } viewModel = new DeviceViewModel(); viewModel.Device = device; BindingContext = this.viewModel; int i = 0; foreach (var item in device.CategoryList) { if (item.Id == device.ManagedDeviceCategoryId) { this.DeviceCategory.SelectedIndex = i; } i++; } }
public Domain.Model.Device Handle(DeviceQuery query) { Device device = _entities.Query <Device>() .Where(p => p.ID == query.DeviceID).Single <Device>(); Domain.Model.Device model = new Model.Device(device.ID, device.SerialNo, device.Room.Department.Site.SiteName, device.Room.Department.HospitalDepartment.HospitalDepartmentName, device.Room.RoomNo, device.SubModality.Modality.ModalityName, device.SubModality.Modality.ID, device.SubModality.SubModalityName, device.ProductLine.Supplier.SupplierName, device.ProductLine.ProductLineName, device.ProductLine.ProductLineName + " " + device.SerialNo ); return(model); }
public IEnumerable <Domain.Model.Device> Handle(DevicesQuery query) { IEnumerable <Device> devices = _entities.Query <Device>() .Where(p => (!query.roomID.HasValue || p.roomID == query.roomID) && (!query.deviceTypeID.HasValue || p.deviceTypeID == query.deviceTypeID) && (query.modalityID == null || p.SubModality.ID == query.modalityID) && (query.subModalityID == null || p.submodalityID == query.subModalityID) && (!query.productLineID.HasValue || p.ProductLineID == query.productLineID) ).AsEnumerable(); List <Domain.Model.Device> models = new List <Domain.Model.Device>(); foreach (Device device in devices) { Domain.Model.Device model = new Model.Device(device.ID, device.SerialNo, device.Room.Department.Site.SiteName, device.Room.Department.HospitalDepartment.HospitalDepartmentName, device.Room.RoomNo, device.SubModality.Modality.ModalityName, device.SubModality.Modality.ID, device.SubModality.SubModalityName, device.ProductLine.Supplier.SupplierName, device.ProductLine.ProductLineName, device.ProductLine.ProductLineName + " " + device.SerialNo ); models.Add(model); } return(models); }
public DevicePage(Model.Device device) { InitializeComponent(); viewModel = new DeviceViewModel(); viewModel.Device = device; BindingContext = this.viewModel; }
public DeviceResponseQueryByOne(Model.Device device) { bool success = device != null; Message message = success ? Message.Message2 : Message.Message3; base.ActionResponse = new ActionResponse(message, success); this.Device = device; }
public async Task <bool> UpdateDeviceAsync(Model.Device device) { var token = ADALAuthentication.Instance.AuthResult.AccessToken; graphClient = new HttpClient(); graphClient.DefaultRequestHeaders.Add("Authorization", token); // Unassign the user if the UPN is empty if (device.UserPrincipalName == String.Empty) { string stringUnassignUserUrl = string.Format("https://graph.microsoft.com/beta/devicemanagement/windowsAutopilotDeviceIdentities/{0}/unassignUserFromDevice", device.ZtdId); var ret = await graphClient.PostAsync( stringUnassignUserUrl, new StringContent(String.Empty, Encoding.UTF8, "application/json")); if (ret.StatusCode != System.Net.HttpStatusCode.OK) { return(await Task.FromResult(false)); } } // Update the other fields string serializedItem; if (device.UserPrincipalName == String.Empty) { var data = new { groupTag = device.GroupTag, displayName = device.DeviceName }; serializedItem = JsonConvert.SerializeObject(data); } else { var data = new { userPrincipalName = device.UserPrincipalName, addressableUserName = device.AddressableUserName, groupTag = device.GroupTag, displayName = device.DeviceName }; serializedItem = JsonConvert.SerializeObject(data); } string stringUpdateDeviceUrl = string.Format("https://graph.microsoft.com/beta/devicemanagement/windowsAutopilotDeviceIdentities/{0}/UpdateDeviceProperties", device.ZtdId); var result = await graphClient.PostAsync( stringUpdateDeviceUrl, new StringContent(serializedItem, Encoding.UTF8, "application/json")); if (result.StatusCode != System.Net.HttpStatusCode.OK) { return(await Task.FromResult(false)); } return(await Task.FromResult(true)); }
private async Task <Model.Device> ProcessDevice(JToken item) { Model.Device device = new Model.Device(); device.SerialNumber = item["serialNumber"].Value <string>(); device.Manufacturer = item["manufacturer"].Value <string>(); device.Model = item["model"].Value <string>(); device.GroupTag = item["groupTag"].Value <string>(); device.PurchaseOrderNumber = item["purchaseOrderIdentifier"].Value <string>(); device.AddressableUserName = item["addressableUserName"].Value <string>(); device.UserPrincipalName = item["userPrincipalName"].Value <string>(); device.AzureActiveDirectoryDeviceId = item["azureActiveDirectoryDeviceId"].Value <string>(); device.ManagedDeviceId = item["managedDeviceId"].Value <string>(); device.ZtdId = item["id"].Value <string>(); // Get details from Autopilot device var autopilotDetails = await graphClient.GetStringAsync("https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/" + device.ZtdId + "?$expand=deploymentProfile,intendedDeploymentProfile"); JToken autopilotToken = JsonConvert.DeserializeObject <JToken>(autopilotDetails); device.DeviceName = autopilotToken["displayName"].Value <string>(); if (autopilotToken["deploymentProfile"].HasValues) { device.DeploymentProfile = autopilotToken["deploymentProfile"]["displayName"].Value <string>(); } // Get the AAD device details try { var aadDevice = await graphClient.GetStringAsync("https://graph.microsoft.com/v1.0/devices?$filter=deviceId eq '" + device.AzureActiveDirectoryDeviceId + "'"); JToken aadDevices = JsonConvert.DeserializeObject <JToken>(aadDevice); JArray aadDeviceList = aadDevices["value"] as JArray; device.AzureActiveDirectoryDeviceName = aadDeviceList[0]["displayName"].Value <string>(); } catch { device.AzureActiveDirectoryDeviceName = ""; } // Get the Intune device details try { var intuneDevice = await graphClient.GetStringAsync("https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/" + device.ManagedDeviceId); JToken intuneDeviceToken = JsonConvert.DeserializeObject <JToken>(intuneDevice); device.ManagedDeviceName = intuneDeviceToken["deviceName"].Value <string>(); } catch { // Intune device not found device.ManagedDeviceName = ""; } return(device); }
public View.Device Build(Model.Device device) { return(new View.Device { DeviceGuid = device.DeviceGuid, DeviceName = device.DeviceName, Inventory = device.Inventory == null ? null : inventoryViewBuilder.Build(device.Inventory), Organization = device.Organization == null ? null : organizationViewBuilder.Build(device.Organization), CreatedOn = device.CreatedOn.ToString(), UpdatedOn = device.UpdatedOn.ToString() }); }
private void AddDevice(Model.Device item) { Add( new Owner { Item = item, AuthenticationProfiles = new ObservableCollection <Model.AuthenticationProfile> ( Model.Context.Current.AuthenticationProfiles.Where(x => x.ParentId == item.Id) ) } ); }
private void RemoveDevice(Model.Device item) { var toRemove = this .SingleOrDefault(x => typeof(Model.Device) .IsAssignableFrom(x.Item.GetType()) && (x.Item as Model.Device).Id == item.Id); // The device wasn't found. This is normal since the device removal can be recursive. if (toRemove == null) { return; } Remove(toRemove); }
private void RefreshNames() { for (int i = 0; i < listViewEx1.Items.Count; i++) { Guid id = (Guid)listViewEx1.Items[i].Tag; Model.Curve curve = GlobalTable.GlobalTables.Instance.GetCurve(id); Model.Device device = GlobalTable.GlobalTables.Instance.GetDevice(id); if (curve != null) { listViewEx1.Items[i].SubItems[4].Text = curve.CurveName;; } if (device != null) { listViewEx1.Items[i].SubItems[3].Text = device.Name; } } }
private ListViewItem CreateItem(Model.Curve curve) { ListViewItem item = new ListViewItem(); item.Tag = curve.Id; System.Windows.Forms.ListViewItem.ListViewSubItem ByteNumber = new System.Windows.Forms.ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem DataRate = new System.Windows.Forms.ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem DeviceName = new System.Windows.Forms.ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem CurveName = new System.Windows.Forms.ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem CoordinateNumber = new System.Windows.Forms.ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem CurrentHeight = new ListViewItem.ListViewSubItem(); System.Windows.Forms.ListViewItem.ListViewSubItem ThreadState = new ListViewItem.ListViewSubItem(); item.SubItems.Add(ByteNumber); item.SubItems.Add(DataRate); item.SubItems.Add(DeviceName); item.SubItems.Add(CurveName); item.SubItems.Add(CoordinateNumber); item.SubItems.Add(CurrentHeight); item.SubItems.Add(ThreadState); Model.Device device = GetDeviceName(curve.Id); if (device != null) { DeviceName.Text = device.Name; DeviceName.Tag = device; } else { DeviceName.Text = "未设定"; } CurveName.Tag = curve; CurveName.Text = curve.CurveName; ByteNumber.Text = "0"; ByteNumber.Tag = 0; DataRate.Text = "0 points/s"; DataRate.Tag = 0; CoordinateNumber.Text = "0"; CoordinateNumber.Tag = 0; CurrentHeight.Text = "0m"; CurrentHeight.Tag = 0; ThreadState.Text = "未启动"; ThreadState.Tag = Data.NetDataFetcher.Instance.GetFetcherState(curve.Id); return(item); }
private async Task <bool> UnassignUser(Model.Device device, HttpClient graphClient) { if (device.UserPrincipalName == String.Empty) { string stringUnassignUserUrl = string.Format("https://graph.microsoft.com/beta/devicemanagement/windowsAutopilotDeviceIdentities/{0}/unassignUserFromDevice", device.ZtdId); var ret = await graphClient.PostAsync( stringUnassignUserUrl, new StringContent(String.Empty, Encoding.UTF8, "application/json")); if (ret.StatusCode != System.Net.HttpStatusCode.OK) { return(await Task.FromResult(false)); } } return(await Task.FromResult(true)); }
public DevicePage(Model.Device device) { InitializeComponent(); viewModel = new DeviceViewModel(); viewModel.Device = device; BindingContext = this.viewModel; int i = 0; foreach (var item in device.CategoryList) { if (item.Id == device.ManagedDeviceCategoryId) { this.DeviceCategory.SelectedIndex = i; } i++; } }
public async Task <IEnumerable <Model.Device> > SearchDevicesByZtdIdAsync(string ztdId) { List <Model.Device> devices = new List <Model.Device>(); var token = ADALAuthentication.Instance.AuthResult.AccessToken; graphClient = new HttpClient(); graphClient.DefaultRequestHeaders.Add("Authorization", token); var result = await graphClient.GetStringAsync("https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/" + ztdId + "?$expand=deploymentProfile,intendedDeploymentProfile"); JToken item = JsonConvert.DeserializeObject <JToken>(result); Model.Device device = await ProcessDevice(item); devices.Add(device); return(devices); }
public void SetRows(List <Model.Curve> curveList, List <Model.Device> deviceList) { this.curveList = curveList; this.deviceList = deviceList; tableOfComboBoxes.Clear(); dataGridViewX1.Rows.Clear(); for (int i = 0; i < curveList.Count; i++) { DataGridViewRow row = new DataGridViewRow(); Model.Device device = deviceList.Find((de) => { return(de.CurveId == curveList[i].Id); }); DataGridViewLabelXCell cell1 = new DataGridViewLabelXCell(); cell1.Value = curveList[i].CurveName; DataGridViewLabelXCell cell2 = new DataGridViewLabelXCell(); DataGridViewLabelXCell cell3 = new DataGridViewLabelXCell(); if (device != null) { cell2.Value = device.Name; cell3.Value = device.SamplingRate; } else { cell2.Value = "未设定"; cell3.Value = "未设定"; } DataGridViewComboBoxCell cell4 = new DataGridViewComboBoxCell(); cell4.Tag = curveList[i].Id; tableOfComboBoxes.Add(curveList[i].Id, cell4); cell4.Items.AddRange(new string[1] { Data.NetDataFetcher.Instance.ToString() }); cell4.Value = Data.NetDataFetcher.Instance.ToString(); Data.DataFetcher fetcher = GlobalTable.GlobalTables.Instance.GetFetcher(curveList[i].Id); if (fetcher != null) { cell4.Value = fetcher.ToString(); } row.Cells.Add(cell1); row.Cells.Add(cell2); row.Cells.Add(cell3); row.Cells.Add(cell4); dataGridViewX1.Rows.Add(row); } }
public async Task <string> UpdateDeviceAsync(Model.Device device) { var token = ADALAuthentication.Instance.AuthResult.AccessToken; graphClient = new HttpClient(); graphClient.DefaultRequestHeaders.Add("Authorization", token); // Unassign the user if the UPN is empty var resu = await UnassignUser(device, graphClient); if (resu == false) { return(await Task.FromResult("Failed to unassign User from device.")); } // Update group memberships var resg = await UpdateGroupMemberships(device, graphClient); if (resg != "OK") { return(await Task.FromResult(resg)); } // Update Category var res = await AssignCategory(device, graphClient); if (res == false) { return(await Task.FromResult("Failed to assign device category.")); } // Update the other fields var resp = await UpdateDeviceProperties(device, graphClient); if (resp != "OK") { return(await Task.FromResult(resp)); } return(await Task.FromResult("OK")); }
public void SetRows(List <Model.Curve> curveList, List <Model.Device> deviceList) { this.curveList = curveList; this.deviceList = deviceList; dataGridViewX1.Rows.Clear(); for (int i = 0; i < curveList.Count; i++) { DataGridViewRow row = new DataGridViewRow(); Model.Device device = deviceList.Find((de) => { return(de.CurveId == curveList[i].Id); }); DataGridViewLabelXCell cell1 = new DataGridViewLabelXCell(); row.Cells.Add(cell1); cell1.Value = curveList[i].CurveName; DataGridViewLabelXCell cell2 = new DataGridViewLabelXCell(); row.Cells.Add(cell2); DataGridViewLabelXCell cell3 = new DataGridViewLabelXCell(); row.Cells.Add(cell3); if (device != null) { cell2.Value = device.Name; cell3.Value = device.SamplingRate; } else { cell2.Value = "未设定"; cell3.Value = "未设定"; } DataGridViewLabelXCell cell4 = new DataGridViewLabelXCell(); row.Cells.Add(cell4); cell4.Tag = curveList[i].Id; DataGridViewCheckBoxXCell cell5 = new DataGridViewCheckBoxXCell(); row.Cells.Add(cell5); cell5.Tag = curveList[i].Id; DataGridViewCheckBoxXCell cell6 = new DataGridViewCheckBoxXCell(); row.Cells.Add(cell6); cell6.Tag = curveList[i].Id; cell5.ReadOnly = true; Data.NetDataFetcher fe = GlobalTable.GlobalTables.Instance.GetFetcher(curveList[i].Id) as Data.NetDataFetcher; if (fe == null) { cell4.Value = "未设定"; cell5.Value = false; cell6.Value = false; cell6.ReadOnly = true; } else { cell4.Value = fe.ToString(); if (fe.GetFetcherState(curveList[i].Id) != Data.NetDataFetcher.UnknownStateDescription) { cell5.Value = true; if (fe.GetFetcherState(curveList[i].Id) == Data.NetDataFetcher.PausedStateDescription) { cell6.Value = false; cell6.ReadOnly = false; } else { cell6.Value = true; cell6.ReadOnly = false; } } else { cell5.Value = false; cell6.Value = false; cell6.ReadOnly = false; } } dataGridViewX1.Rows.Add(row); } }
/// <summary> /// 能耗集合 /// </summary> /// <param name="model">查询的对象封装</param> /// <returns></returns> public static BaseResult GetBaseEneryDataList(BaseQueryModel model) { BaseResult Res = new BaseResult(); Res.BaseLayerObjectResults = new Dictionary<string, BaseData>(); //Res.DeviceResults = new Dictionary<Model.Device, BaseData>(); bool IsDevice = model.IsDevice == 0 ? false : true; var datas = new DataTable(); if (model != null && model.ObjectList.Count > 0) { foreach (var objects in model.ObjectList) { decimal tempCount = 0; BaseDataModel bmodel = new BaseDataModel(); bmodel.Starttime = model.Starttime; if (model.Unit == ChartUnit.unit_hour) { bmodel.Endtime = (model.Starttime == model.Endtime) ? model.Starttime.AddDays(1).AddHours(-1) : model.Endtime; } else { bmodel.Endtime = model.Endtime; } bmodel.IsDevice = model.IsDevice; bmodel.ItemCode = model.ItemCode; bmodel.ObjectId = objects; bmodel.Unit = model.Unit; datas = GetBaseData(bmodel); BaseData bsDatas = new BaseData(); bsDatas.itemCode = new Model.Itemcode(); var ItemCodeList = new DAL.Itemcode().GetItemcodeList(string.Format(" and ItemCodeNumber='{0}'", model.ItemCode), string.Format(" order by ItemcodeID")); bsDatas.itemCode = ItemCodeList.Count > 0 ? ItemCodeList[0] : null; Model.BaseLayerObject ObjectInfo = new Model.BaseLayerObject(); Model.Device DeviceObjectInfo = new Model.Device(); if (!IsDevice) { var infoList = new DAL.BaseLayerObject().GetBaseLayerObjectList(string.Format(" and LayerObjectID={0}", objects), string.Format(" order by LayerObjectID")); ObjectInfo = infoList.Count > 0 ? infoList[0] : null; bsDatas.Datas = new List<DataItems>(); foreach (DataRow item in datas.Rows) { tempCount += decimal.Parse(item["CountValue"].ToString()); bsDatas.Datas.Add(new DataItems() { DatePick = item["Starttime"].ToString(), DataValue = decimal.Parse(item["CountValue"].ToString()), CoalDataValue = decimal.Parse(item["CountValue"].ToString()) * (decimal)bsDatas.itemCode.ItemCoal, Co2DataValue = decimal.Parse(item["CountValue"].ToString()) * (decimal)bsDatas.itemCode.ItemCO2, MoneyDataValue = decimal.Parse(item["CountValue"].ToString()) * (decimal)bsDatas.itemCode.ItemMoney, DataValueAndDept = item["CountValue"].ToString() + bsDatas.itemCode.Unit }); } bsDatas.baseLayerObject = ObjectInfo; } else { var infoList = new DAL.Device().GetDeviceList(string.Format(" and deviceid={0}", objects), string.Format(" order by DeviceID")); DeviceObjectInfo = infoList.Count > 0 ? infoList[0] : null; bsDatas.Datas = new List<DataItems>(); foreach (DataRow item in datas.Rows) { tempCount += decimal.Parse(item["CountValue"].ToString()); bsDatas.Datas.Add(new DataItems() { DatePick = item["Starttime"].ToString(), DataValue = decimal.Parse(item["CountValue"].ToString()), CoalDataValue = decimal.Parse(item["CountValue"].ToString()) *(decimal)bsDatas.itemCode.ItemCoal, Co2DataValue = decimal.Parse(item["CountValue"].ToString()) * (decimal)bsDatas.itemCode.ItemCO2, MoneyDataValue = decimal.Parse(item["CountValue"].ToString()) * (decimal)bsDatas.itemCode.ItemMoney, DataValueAndDept = item["CountValue"].ToString() + bsDatas.itemCode.Unit }); } bsDatas.device = DeviceObjectInfo; } bsDatas.Total = tempCount; bsDatas.ConvertDataValueList = new System.Collections.Hashtable(); bsDatas.ConvertDataValueList.Add("ITEMCOAL", decimal.Round(tempCount * (decimal)bsDatas.itemCode.ItemCoal, 4).ToString()); bsDatas.ConvertDataValueList.Add("ITEMCO2", decimal.Round(tempCount * (decimal)bsDatas.itemCode.ItemCO2, 4).ToString()); bsDatas.ConvertDataValueList.Add("ITEMMONEY", decimal.Round(tempCount * (decimal)bsDatas.itemCode.ItemMoney, 4).ToString()); Res.BaseLayerObjectResults.Add( !IsDevice ? ObjectInfo.LayerObjectID.ToString() : DeviceObjectInfo.DeviceID.ToString(), bsDatas); } return Res; } return null; }
public void UpdateDevices(Model.Device inputEt) { this._DeviceRepository.UpdateDevice(inputEt); }
public void AddDevices(Model.Device inputEt) { this._DeviceRepository.AddDevice(inputEt); }
private Model.Device GetDeviceName(Guid guid) { Model.Device device = Model.DataHelper.GetObject <Model.Device>("CurveId", guid.ToString()); return(device); }
public async Task <IActionResult> Sync([FromBody] View.Device request) { var client = await GetClient(); var organization = client.Organization; if (client.Role != "AppAdmin" && client.Role != "OrgAdmin") { throw new BadRequestException("Client", "Client does not have permission to access this resource."); } if (client.Role == "AppAdmin") { if (request == null || string.IsNullOrEmpty(request.Organization.OrganizationGuid)) { throw new BadRequestException("Organization", "Please provice an organization to continue."); } var appAdminOrganization = await db.Organizations.FirstOrDefaultAsync(x => x.OrganizationGuid == request.Organization.OrganizationGuid); if (appAdminOrganization == null) { throw new BadRequestException("Organization", "Organization does not exist."); } organization = appAdminOrganization; } if (string.IsNullOrEmpty(request.DeviceName)) { throw new BadRequestException("deviceName", "Device name required to complete request"); } var syncdDevicesCount = await db.Devices.Where(x => x.Organization == organization).CountAsync(); var maxDevicesCount = organization.MaxDevices; if (syncdDevicesCount >= maxDevicesCount) { throw new BadRequestException("Organization", "Maximum devices synced according to license."); } var deviceNameExists = await db.Devices .AnyAsync(x => x.DeviceName == request.DeviceName && x.Organization == organization); if (deviceNameExists) { throw new BadRequestException("deviceName", "Device already exists with that name"); } var deviceGuid = Guid.NewGuid(); var password = passwordService.GenerateSecurePassword(); var identity = new Identity { UserName = deviceGuid.ToString(), Email = string.Format("{0}@{0}.com", deviceGuid.ToString()) }; var result = await identityManager.CreateAsync(identity, password); if (!result.Succeeded) { throw new BadRequestException("Device", "Unable to sync device"); } try { List <Model.InventoryItem> inventoryItems = await db.OrganizationItems .Where(x => x.Organization == organization) .Select(x => new Model.InventoryItem { Item = x.Item, Quantity = 0 }).ToListAsync(); var inventory = new Model.Inventory { Organization = organization, InventoryItems = inventoryItems }; var device = new Model.Device { DeviceGuid = deviceGuid.ToString(), Organization = organization, Inventory = inventory, DeviceName = request.DeviceName }; db.Devices.Add(device); await db.SaveChangesAsync(); var deviceView = deviceViewBuilder.Build(device); deviceView.Password = password; return(StatusCode(200, deviceView)); } catch { await identityManager.DeleteAsync(identity); throw new BadRequestException("Device", "Unable to sync device"); } }
/// <summary> /// 能耗集合 /// </summary> /// <param name="model">查询的对象封装</param> /// <returns></returns> public static BaseResult GetBaseEneryDataListNew(BaseQueryModel model) { BaseResult Res = new BaseResult(); Res.BaseLayerObjectResults = new Dictionary <string, BaseData>(); //Res.DeviceResults = new Dictionary<Model.Device, BaseData>(); bool IsDevice = model.IsDevice == 0 ? false : true; var datas = new DataTable(); if (model != null && model.ObjectList.Count > 0) { foreach (var objects in model.ObjectList) { double tempCount = 0; BaseDataModel bmodel = new BaseDataModel(); bmodel.Starttime = model.Starttime; if (model.Unit == ChartUnit.unit_hour) { bmodel.Endtime = (model.Starttime == model.Endtime) ? model.Starttime.AddDays(1).AddHours(-1) : model.Endtime; } else { bmodel.Endtime = model.Endtime; } bmodel.IsDevice = model.IsDevice; bmodel.ItemCode = model.ItemCode; bmodel.ObjectId = objects; bmodel.Unit = model.Unit; datas = GetBaseData(bmodel); BaseData bsDatas = new BaseData(); bsDatas.itemCode = new Model.Itemcode(); var ItemCodeList = new DAL.Itemcode().GetItemcodeList(string.Format(" and ItemCodeNumber='{0}'", model.ItemCode), string.Format(" order by ItemcodeID")); bsDatas.itemCode = ItemCodeList.Count > 0 ? ItemCodeList[0] : null; Model.BaseLayerObject ObjectInfo = new Model.BaseLayerObject(); Model.Device DeviceObjectInfo = new Model.Device(); if (!IsDevice) { List <Model.BaseLayerObject> infoList = new List <Model.BaseLayerObject>(); if (model.areaType == WEB.DataContact.AreaType.Area) { infoList = new DAL.BaseLayerObject().GetBaseLayerObjectList(string.Format(" and LayerObjectID={0}", objects), string.Format(" order by LayerObjectID")); } else { infoList = new DAL.BaseLayerObject().GetBaseFuncLayerObjectList(string.Format(" and LayerObjectID={0}", objects), string.Format(" order by LayerObjectID")); } ObjectInfo = infoList.Count > 0 ? infoList[0] : null; bsDatas.Datas = new List <DataItems>(); foreach (DataRow item in datas.Rows) { tempCount += double.Parse(item["CountValue"].ToString()); bsDatas.Datas.Add(new DataItems() { DatePick = item["Starttime"].ToString(), DataValue = decimal.Parse(item["CountValue"].ToString()), CoalDataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemCoal), Co2DataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemCO2), MoneyDataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemMoney), DataValueAndDept = item["CountValue"].ToString() + bsDatas.itemCode.Unit }); } bsDatas.baseLayerObject = ObjectInfo; } else { var infoList = new DAL.Device().GetDeviceList(string.Format(" and deviceid={0}", objects), string.Format(" order by DeviceID")); DeviceObjectInfo = infoList.Count > 0 ? infoList[0] : null; bsDatas.Datas = new List <DataItems>(); foreach (DataRow item in datas.Rows) { tempCount += double.Parse(item["CountValue"].ToString()); bsDatas.Datas.Add(new DataItems() { DatePick = item["Starttime"].ToString(), DataValue = Convert.ToDecimal(item["CountValue"].ToString()), CoalDataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemCoal), Co2DataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemCO2), MoneyDataValue = Convert.ToDecimal(double.Parse(item["CountValue"].ToString()) * bsDatas.itemCode.ItemMoney), DataValueAndDept = item["CountValue"].ToString() + bsDatas.itemCode.Unit }); } bsDatas.device = DeviceObjectInfo; } bsDatas.Total = Convert.ToDecimal(tempCount); bsDatas.ConvertDataValueList = new System.Collections.Hashtable(); bsDatas.ConvertDataValueList.Add("ITEMCOAL", Math.Round((tempCount * bsDatas.itemCode.ItemCoal), 4).ToString()); bsDatas.ConvertDataValueList.Add("ITEMCO2", Math.Round((tempCount * bsDatas.itemCode.ItemCO2), 4).ToString()); bsDatas.ConvertDataValueList.Add("ITEMMONEY", Math.Round((tempCount * bsDatas.itemCode.ItemCO2), 4).ToString()); Res.BaseLayerObjectResults.Add( !IsDevice ? ObjectInfo.LayerObjectID.ToString() : DeviceObjectInfo.DeviceID.ToString(), bsDatas); } return(Res); } return(null); }