Exemple #1
0
        protected void UpdateContent()
        {
            Converters.IsQueryCachedValue iscacheconverter = new Converters.IsQueryCachedValue();

            WorkPackageViewModel row = (WorkPackageViewModel)this.BindingContext;
            int index = this.ShowByIndex;

            if (index == 0)
            {
                this.TaskTitle.Text = row.Items[0].Text + " | " + row.Items[2].Text + " | " + row.Items[3].Text;
            }
            else
            {
                this.TaskTitle.Text = row.Items[index].Text;
            }

            if (row.Items.Length >= 6)
            {
                this.TaskDescription.Text = row.Items[1].Text + " | " + row.Items[4].Text + " | " + row.Items[5].Text;
            }

            for (int i = 0; i < row.Items.Length; i++)
            {
                this.GridTask.RowDefinitions.Add(new RowDefinition()
                {
                    Height = new GridLength(1, GridUnitType.Auto)
                });
            }

            for (int i = 0; i < row.Items.Length; i++)
            {
                this.GridTask.Children.Add(new Label()
                {
                    Text = row.Columns[i].DisplayDescription,
                }, 0, i);

                Label value = new Label()
                {
                    Text = row.Items[i].Text
                };

                Binding bindinguiddev = new Binding("Items[" + i + "].IsCachedValue");
                bindinguiddev.Converter = iscacheconverter;
                value.SetBinding(Label.TextColorProperty, bindinguiddev);

                this.GridTask.Children.Add(value, 1, i);
            }
        }
Exemple #2
0
        private async Task <bool> LoadTasks()
        {
            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.QueryTasksSystemFullName);

                if (o == null)
                {
                    try
                    {
                        o = await m_ComosWeb.GetObjectBySystemFullName(projectdata.SelectedLayer, Constants.QueryTasksSystemFullName);
                    }
                    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_tasks_not_found"), "OK");

                    return(false);
                }

                try
                {
                    m_QueryResult = await m_ComosWeb.GetqueriesResult(
                        projectdata.SelectedDB.Key, o.ProjectUID, o.OverlayUID, projectdata.SelectedLanguage.LCID, o.UID, idWorkpackage);
                }
                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> tasks = new List <ViewModel>();
                        foreach (var row in m_QueryResult.Rows)
                        {
                            tasks.Add(new ViewModel(m_QueryResult.Columns, row));
                        }
                        this.TasksCollection = tasks.ToArray();

                        OnPropertyChanged("TasksCollection");
                        OnPropertyChanged("TasksAttributeNames");
                        UpdateSortingAndGrouping();
                    }
                    else
                    {
                        //Query with no rows was found
                        this.TasksCollection = null;
                        OnPropertyChanged("TasksCollection");
                        OnPropertyChanged("TasksAttributeNames");
                        UpdateSortingAndGrouping();
                        ShowToast(Services.TranslateExtension.TranslateText("no_tasks_found"));
                    }
                }
                else
                {
                    //page not loaded at comosweboffline
                    ShowToast(Services.TranslateExtension.TranslateText("no_tasks_found"));
                }

                ListViewTasks.EndRefresh();
            }
            catch (Exception e)
            {
                await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), e.Message, "OK");

                return(false);
            }
            return(result);
        }
Exemple #3
0
        protected void UpdateContent()
        {
            isUpdating = true;
            ViewModel row   = (ViewModel)this.BindingContext;
            int       index = this.ShowByIndex;

            this.TaskTitle.Text         = row.Items[index].Text;
            this.TaskDescription.Text   = row.Items[1].Text;
            this.CompleteTask.IsToggled = row.Items[4].Text.Equals("1") ? true : false;

            Converters.IsQueryCachedValue iscacheconverter = new Converters.IsQueryCachedValue();

            for (int i = 0; i < row.Items.Length; i++)
            {
                this.GridTask.RowDefinitions.Add(new RowDefinition()
                {
                    Height = new GridLength(1, GridUnitType.Auto)
                });
            }

            for (int i = 0; i < row.Items.Length; i++)
            {
                // skip the task description!
                if (i != 1)
                {
                    this.GridTask.Children.Add(new Label()
                    {
                        Text = row.Columns[i].DisplayDescription, FontAttributes = FontAttributes.Bold
                    }, 0, i);


                    if ((row.Items[i].Text == "1" && row.Items[i].NumericValue == 1) || (row.Items[i].Text == "0" && row.Items[i].NumericValue == 0))
                    {
                        string afcode = "";
                        switch (row.Items[i].NumericValue)
                        {
                        case 1:
                            afcode = "\uf00c";
                            break;

                        case 0:
                            afcode = "\uf00d";
                            break;
                        }

                        controls.AFLabel value = new controls.AFLabel()
                        {
                            Text = afcode
                        };

                        Binding bindinguiddev = new Binding("Items[" + i + "].IsCachedValue");
                        bindinguiddev.Converter = iscacheconverter;
                        value.SetBinding(Label.TextColorProperty, bindinguiddev);
                        this.GridTask.Children.Add(value, 1, i);
                    }
                    else
                    {
                        Label value = new Label()
                        {
                            Text = row.Items[i].Text
                        };

                        Binding bindinguiddev = new Binding("Items[" + i + "].IsCachedValue");
                        bindinguiddev.Converter = iscacheconverter;
                        value.SetBinding(Label.TextColorProperty, bindinguiddev);

                        // last item aways a memo field
                        if (i == row.Items.Length - 1)
                        {
                            this.GridTask.Children.Add(value, 0, i + 1);
                            Grid.SetColumnSpan(value, 2);
                        }
                        else
                        {
                            this.GridTask.Children.Add(value, 1, i);
                        }
                    }
                }
            }
            isUpdating = false;
        }
Exemple #4
0
        public static async Task <bool> LoadLogBookForm()
        {
            CQuerieResult m_QueryResult;

            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, Constants.QueryLogBookTypesFullName);

                if (o == null)
                {
                    try
                    {
                        o = await m_ComosWeb.GetObjectBySystemFullName(projectdata.SelectedLayer, Constants.QueryLogBookTypesFullName);
                    }
                    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("no_logbook_types_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)
                    {
                        logBook = new ViewModel(m_QueryResult.Columns, m_QueryResult.Rows[0]);
                        return(true);
                    }
                    else
                    {
                        await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("no_logbook_types_found"), "OK");

                        return(false);
                    }
                }
                else
                {
                    await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("no_logbook_types_found"), "OK");

                    return(false);
                }
            }
            catch (Exception e)
            {
                await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), e.Message, "OK");

                return(false);
            }
        }