private async void IncidentsPage_Appearing(object sender, EventArgs e) { if (first_time) { this.ShowSpinner(Services.TranslateExtension.TranslateText("loading_incident_types")); m_QueryResult = null; IncidentTypesCollection = null; var result = await LoadIncidentTypes(); if (result != false) { for (int i = 0; i < IncidentTypesCollection.Length; i++) { incidentTypesList.Add(new Types { Name = IncidentTypesCollection[i].Row.Items[2].Text, UID = IncidentTypesCollection[i].Row.UID, }); } } ListViewIncidents.ItemsSource = incidentTypesList; this.HideSpinner(); first_time = false; } }
public void GetQueryCachedValues(CQuerieResult query) { Services.IDatabase cachedb = Services.XServices.Instance.GetService <Services.IDatabase>(); ViewModels.ProjectData ProjectData = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); foreach (var row in query.Rows) { for (int i = 0; i < row.Items.Length; i++) { string uid = row.Items[0].UID; CCell item = row.Items[i]; string cachedvalue = cachedb.ReadCacheSpecValue(uid, "", ProjectData.SelectedProject.ProjectUID, ProjectData.SelectedLayer.UID, query.Columns[i].DisplayDescription); if (cachedvalue != "") { int result = 0; item.Text = cachedvalue; if (int.TryParse(cachedvalue, out result)) { item.NumericValue = result; } item.IsCachedValue = true; } } } }
private List <ResultItem> QueryResultToResultItem(CQuerieResult query) { List <ResultItem> list = new List <ResultItem>(); for (int i = 0; i < query.Rows.Length; i++) { list.Add(new ResultItem { DisplayName = query.Rows[i].Items[0].Text, DisplayDescription = query.Rows[i].Items[1].Text, UID = query.Rows[i].Items[0].UID }); } return(list); }
private CQuerieResult GetFavoritesData() { CQuerieResult q = new CQuerieResult(); var db = Services.XServices.Instance.GetService <Services.XDatabase>(); List <string> favorites = db.GetFavorites(); CColumn[] columns = new CColumn[2]; CRow[] rows = new CRow[favorites.Count]; columns[0] = new CColumn() { DisplayDescription = "Name" }; columns[1] = new CColumn() { DisplayDescription = "Description" }; //columns[2] = new CColumn() { DisplayDescription = "Pic" }; q.Columns = columns; q.Rows = rows; int i = 0; foreach (var item in favorites) { CRow row = new CRow(); CObject output = Newtonsoft.Json.JsonConvert.DeserializeObject <CObject>(item); m_Query.SetMainObject(output); row.Items = new CCell[2]; row.Items[0] = new CCell() { Text = output.Name, UID = output.UID, Picture = output.Picture }; row.Items[1] = new CCell() { Text = output.Description, UID = output.UID, Picture = output.Picture }; //row.Items[2] = new CCell() { Text = output.Picture, UID = output.UID, Picture = output.Picture }; row.UID = output.UID; rows[i] = row; i++; } m_Query.SetNavigator(this.Navigator.Database); m_Query.Query = q; m_Query.ShowListQuery(); return(q); }
private async void searchBar_SearchButtonPressed(object sender, EventArgs e) { string tosearch = searchBar.Text; var db = Services.XServices.Instance.GetService <Services.XDatabase>(); string servername = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc"); if (tosearch != "") { this.ShowSpinner(Services.TranslateExtension.TranslateText("searching")); try { CQuerieResult result = await m_comosbrweb.SearchDevicesByNameAndDescription(servername, m_ProjectData.SelectedProject.UID, m_ProjectData.SelectedLayer.UID, m_ProjectData.SelectedLanguage.LCID, tosearch, SystemFullNameIncidentObjectsRoot); /* * query.Query = result; * await query.ShowListQuery(); * query.SetNavigator(this.Navigator.Database); * query.FilterVisible = true; * query.OnCellTaped += Query_OnCellTaped; */ if (result == null) { this.ShowToast("Error al buscar la query. Intente nuevamente"); return; } m_List.ItemsSource = QueryResultToResultItem(result); string message = Services.TranslateExtension.TranslateText("results_found"); message = message.Replace("@", result.Rows.Count().ToString()); this.ShowToast(message); } catch (Exception ex) { this.ShowToast(Services.TranslateExtension.TranslateText("search_error") + ex.Message); } finally { this.HideSpinner(); } } }
protected async void DevicesContainerPage_Appearing(object sender, EventArgs e) { try { noDeviceWasClicked = true; if (first_time) { this.ShowSpinner("Cargando..."); m_QueryResult = null; DeviceContainerCollection = null; var result = await LoadDevices(); if (result != false) { for (int i = 0; i < DeviceContainerCollection.Length; i++) { deviceContainerList.Add(new DeviceInfo { Name = DeviceContainerCollection[i].Row.Items[1].Text + " | " + DeviceContainerCollection[i].Row.Items[3].Text + " | " + DeviceContainerCollection[i].Row.Items[4].Text, // descripcion | owner | descripcion de equipo UID = DeviceContainerCollection[i].Row.Items[1].UID, AditionalInfo = DeviceContainerCollection[i].Row.Items[0].Text + " | " + DeviceContainerCollection[i].Row.Items[2].Text, // label | ingeniero belongsToAnEquipment = GetBelongsToAnEquipmentIcon(DeviceContainerCollection[i].Row.Items[3].Text), buttonColor = GetButtonColor(DeviceContainerCollection[i].Row.Items[3].Text), }); } } ((ListView)ListViewDevices_).ItemsSource = deviceContainerList; this.HideSpinner(); first_time = false; } } catch (Exception ex) { ShowToast(GetExceptionMessageWhenDevicesContainerDontAppear() + ex.Message); } }
private async Task <bool> LoadWorkPackages() { bool result = true; try { ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); IComosWeb m_ComosWeb = Services.XServices.Instance.GetService <IComosWeb>(); IDatabase db = Services.XServices.Instance.GetService <IDatabase>(); //this.ShowToast($"Finding CObject on DB"); CObject o = db.GetCObjectByFullName(projectdata.SelectedLayer.UID, Constants.QueryWorkPackagesAnFailureSystemFullName); if (o == null) { try { o = await m_ComosWeb.GetObjectBySystemFullName(projectdata.SelectedLayer, Constants.QueryWorkPackagesAnFailureSystemFullName); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } db.InsertCObject(o, projectdata.SelectedLayer.UID); } if (o == null) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("my_wp_not_found"), "OK"); return(false); } if (!keepElements) { try { m_QueryResult = await m_ComosWeb.GetqueriesResult( projectdata.SelectedDB.Key, o.ProjectUID, o.OverlayUID, projectdata.SelectedLanguage.LCID, o.UID, null); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } } else { keepElements = false; } if (m_QueryResult != null) { if (m_QueryResult.Rows.Count() > 0) { List <WorkPackageViewModel> tasks = new List <WorkPackageViewModel>(); foreach (var row in m_QueryResult.Rows) { tasks.Add(new WorkPackageViewModel(m_QueryResult.Columns, row)); } this.TasksCollection = tasks.ToArray(); OnPropertyChanged("TasksCollection"); OnPropertyChanged("TasksAttributeNames"); UpdateSortingAndGrouping(); OnPropertyChanged("SelectedIndex"); } else { ShowToast(Services.TranslateExtension.TranslateText("no_wp_found")); } ListViewTasks.EndRefresh(); } else { //page not loaded at comosweboffline ShowToast(Services.TranslateExtension.TranslateText("no_wp_found")); ListViewTasks.EndRefresh(); } } catch (Exception e) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), e.Message, "OK"); return(false); } return(result); }
public async void OnUploadClicked(object sender, EventArgs e) { if (!CheckOnline()) { this.ShowToast(Services.TranslateExtension.TranslateText("uploading_tasks_only_online")); return; } if (TasksCollection == null || TasksCollection.Length == 0) { this.ShowToast(Services.TranslateExtension.TranslateText("no_tasks_found")); return; } Services.XDatabase db = Services.XServices.Instance.GetService <Services.XDatabase>(); ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); IBRServiceContracts.CWriteValueCollection totalvalues = new IBRServiceContracts.CWriteValueCollection(); this.ShowSpinner(Services.TranslateExtension.TranslateText("saving_tasks")); foreach (var item in TasksCollection) { IBRServiceContracts.CWriteValueCollection values = db.GetAllCachedSpecsFromOwner(item.Row.Items[0].UID, projectdata.SelectedProject.UID, projectdata.SelectedLayer.UID); if (totalvalues.Values == null) { totalvalues.Values = values.Values; } else { totalvalues.Values = totalvalues.Values.Concat(values.Values).ToArray(); } } string user = projectdata.User; string project = projectdata.SelectedProject.UID; string workinglayer = projectdata.SelectedLayer.UID; string language = projectdata.SelectedLanguage.LCID; string servername = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc"); var m_comosbrweb = GetBRComosWeb(); try { var result = await m_comosbrweb.WriteComosValues(totalvalues, servername, user, project, workinglayer, language); if (result) { foreach (var item in totalvalues.Values) { db.ClearAllSpecsFromOwner(item.WebSystemUID, project, workinglayer); } m_QueryResult = null; TasksCollection = null; Device.BeginInvokeOnMainThread(async() => { await LoadTasks(); }); ShowToast(Services.TranslateExtension.TranslateText("done")); } else { ShowToast(Services.TranslateExtension.TranslateText("save_failed")); } } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", ex.Message, "OK"); return; } this.HideSpinner(); }
public async Task <CQuerieResult> GetqueriesResult(string database, string projectuid, string layer, string lcid, string target, string start_objid) { var content = await communicationManager.GetqueriesResult(m_Url, database, projectuid, target, lcid, layer, start_objid, m_Session.Id, serverName); if (content == null) { return(null); } JObject json = JObject.Parse(content); if (json == null) { return(null); } CQuerieResult q = new CQuerieResult() { UID = json.SelectToken("UID").Value <string>(), }; List <int> invisiblecolumns = new List <int>(); int index = 0; List <CColumn> columns = new List <CColumn>(); foreach (var jcol in (JArray)json.SelectToken("Columns")) { CColumn c = new CColumn() { Alignment = jcol.SelectToken("Alignment").Value <int>(), DisplayDescription = jcol.SelectToken("DisplayDescription").Value <string>(), Id = jcol.SelectToken("Id").Value <int>(), IsDate = jcol.SelectToken("IsDate").Value <bool>(), Numeric = jcol.SelectToken("Numeric").Value <bool>(), Visible = jcol.SelectToken("Visible").Value <bool>(), Width = jcol.SelectToken("Width").Value <int>(), WithPicture = jcol.SelectToken("WithPicture").Value <bool>(), WrapText = jcol.SelectToken("WrapText").Value <bool>(), }; if (c.Width > 0) { columns.Add(c); } else { invisiblecolumns.Add(index); } index++; } q.Columns = columns.ToArray(); List <CRow> rows = new List <CRow>(); foreach (var jrow in (JArray)json.SelectToken("Rows")) { CRow c = new CRow() { UID = jrow.SelectToken("UID").Value <string>(), }; List <CCell> cells = new List <CCell>(); index = 0; foreach (var jcell in (JArray)jrow.SelectToken("Items")) { CCell cell = new CCell() { IsClientPicture = jcell.SelectToken("IsClientPicture").Value <bool>(), NumericValue = jcell.SelectToken("NumericValue").Value <double>(), Picture = jcell.SelectToken("Picture").Value <string>(), Text = jcell.SelectToken("Text").Value <string>(), UID = jcell.SelectToken("UID").Value <string>(), }; if (!invisiblecolumns.Contains(index)) { cells.Add(cell); } index++; } c.Items = cells.ToArray(); rows.Add(c); } q.Rows = rows.ToArray(); return(q); }
private async Task <bool> LoadDevices() { bool result = false; try { ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); IComosWeb m_ComosWeb = Services.XServices.Instance.GetService <IComosWeb>(); IDatabase db = Services.XServices.Instance.GetService <IDatabase>(); CObject o = db.GetCObjectByFullName(projectdata.SelectedLayer.UID, GetQueryFullName()); if (o == null) { try { o = await m_ComosWeb.GetObjectBySystemFullName(projectdata.SelectedLayer, GetQueryFullName()); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } db.InsertCObject(o, projectdata.SelectedLayer.UID); } if (o == null) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("event_container_not_found"), "OK"); return(false); } try { m_QueryResult = await m_ComosWeb.GetqueriesResult( projectdata.SelectedDB.Key, o.ProjectUID, o.OverlayUID, projectdata.SelectedLanguage.LCID, o.UID, null); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } if (m_QueryResult != null) { Converters.IsQueryCachedValue cachehandler = new Converters.IsQueryCachedValue(); cachehandler.GetQueryCachedValues(m_QueryResult); if (m_QueryResult.Rows.Length > 0) { List <ViewModel> unassignedEventsList = new List <ViewModel>(); foreach (var row in m_QueryResult.Rows) { unassignedEventsList.Add(new ViewModel(m_QueryResult.Columns, row)); } this.DeviceContainerCollection = unassignedEventsList.ToArray(); OnPropertyChanged("EventContainerCollection"); /*OnPropertyChanged("TasksAttributeNames"); * UpdateSortingAndGrouping();*/ result = true; } else { ShowToast("No hay resultados"); result = false; } } else { //page not loaded at comosweboffline ShowToast("No hay resultados"); } ((ListView)ListViewDevices_).EndRefresh(); } catch (Exception e) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), e.Message, "OK"); return(false); } return(result); }
private async void SearchForItems() { string tosearch = searchBarPageSearch.Text; if (tosearch != null && tosearch != "" && tosearch.Length > 3) { var m_Http = Services.XServices.Instance.GetService <HttpClient>(); ComosWebSDK.brcomosweb.ComosBRWeb m_comosbrweb = new ComosWebSDK.brcomosweb.ComosBRWeb(m_Http); ViewModels.ProjectData m_ProjectData = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); var db = Services.XServices.Instance.GetService <Services.XDatabase>(); string servername = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc"); this.ShowSpinner(Services.TranslateExtension.TranslateText("searching")); try { CQuerieResult result = null; if (toggletags.IsToggled && !toggledocs.IsToggled) { result = await m_comosbrweb.SearchDevicesByNameAndDescription(servername, m_ProjectData.SelectedProject.UID, m_ProjectData.SelectedLayer.UID, m_ProjectData.SelectedLanguage.LCID, tosearch); } else if (!toggletags.IsToggled && toggledocs.IsToggled) { result = await m_comosbrweb.SearchDocumentsByNameAndDescription(servername, m_ProjectData.SelectedProject.UID, m_ProjectData.SelectedLayer.UID, m_ProjectData.SelectedLanguage.LCID, tosearch); } else if (toggletags.IsToggled && toggledocs.IsToggled) { result = await m_comosbrweb.SearchAllByNameAndDescription(servername, m_ProjectData.SelectedProject.UID, m_ProjectData.SelectedLayer.UID, m_ProjectData.SelectedLanguage.LCID, tosearch); } else if (!toggletags.IsToggled && !toggledocs.IsToggled) { // do nothing result = new CQuerieResult { Rows = new CRow[1], Columns = new CColumn[1] }; } if (result == null) { this.ShowToast("Error. Intente nuevamente"); return; } m_List.ItemsSource = QueryResultToResultItem(result); //m_Query.Query = result; //await m_Query.ShowListQuery(); //m_Query.SetNavigator(m_ProjectData.SelectedDB.Key); string message = Services.TranslateExtension.TranslateText("results_found"); message = message.Replace("@", result.Rows.Count().ToString()); this.ShowToast(message); } catch (Exception ex) { this.ShowToast(Services.TranslateExtension.TranslateText("search_error") + ex.Message); } finally { this.HideSpinner(); } } }
public async Task <bool> LoadIncidentTypes() { bool result = false; try { ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService <ViewModels.ProjectData>(); IComosWeb m_ComosWeb = Services.XServices.Instance.GetService <IComosWeb>(); IDatabase db = Services.XServices.Instance.GetService <IDatabase>(); //this.ShowToast($"Finding CObject on DB"); CObject o = db.GetCObjectByFullName(projectdata.SelectedLayer.UID, Constants.QueryIncidentTypesFullName); if (o == null) { try { o = await m_ComosWeb.GetObjectBySystemFullName(projectdata.SelectedLayer, Constants.QueryIncidentTypesFullName); } catch (TaskCanceledException) { return(false); } // If there is a Logout Request catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } db.InsertCObject(o, projectdata.SelectedLayer.UID); } if (o == null) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("my_incidents_not_found"), "OK"); return(false); } try { m_QueryResult = await m_ComosWeb.GetqueriesResult( projectdata.SelectedDB.Key, o.ProjectUID, o.OverlayUID, projectdata.SelectedLanguage.LCID, o.UID, null); } catch (TaskCanceledException) { return(false); } // If there is a Logout Request catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Error al cargar query: " + ex.Message, Services.TranslateExtension.TranslateText("OK")); return(false); } if (m_QueryResult != null) { Converters.IsQueryCachedValue cachehandler = new Converters.IsQueryCachedValue(); cachehandler.GetQueryCachedValues(m_QueryResult); if (m_QueryResult.Rows.Length > 0) { List <ViewModel> incidentTypes = new List <ViewModel>(); foreach (var row in m_QueryResult.Rows) { incidentTypes.Add(new ViewModel(m_QueryResult.Columns, row)); } this.IncidentTypesCollection = incidentTypes.ToArray(); OnPropertyChanged("IncidentTypesCollection"); /*OnPropertyChanged("TasksAttributeNames"); * UpdateSortingAndGrouping();*/ } else { ShowToast(Services.TranslateExtension.TranslateText("no_incidents_types_found")); } result = true; } else { //page not loaded at comosweboffline ShowToast(Services.TranslateExtension.TranslateText("no_incidents_types_found")); } ListViewIncidents.EndRefresh(); } catch (Exception e) { await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), e.Message, "OK"); return(false); } return(result); }