Exemplo n.º 1
0
        public List <ReportDetailViewModel> GetDetail(int Id, ReportBindingModel model)
        {
            var engines = _inspection.GetFilteredList(
                new InspectionsBindingModel {
                UserId = Id, Selected = model.Selected
            });
            var list = new List <ReportDetailViewModel>();

            foreach (var engine in engines)
            {
                var record = new ReportDetailViewModel
                {
                    Name    = engine.Name,
                    Details = new List <Tuple <string, decimal> >(),
                };

                foreach (var detail in engine.costInspections)
                {
                    record.Details.Add(new Tuple <string, decimal>(_cost.GetElement(new CostBindingModel {
                        Id = detail.Key
                    }).Name, detail.Value));
                }

                list.Add(record);
            }
            return(list);
        }
Exemplo n.º 2
0
        public ExpenseActionPage(ReportDetailViewModel parentViewModel)
        {
            NavigationPage.SetTitleIcon(this, "icon.png");
            ViewModel            = new ExpenseActionViewModel(parentViewModel);
            BindingContext       = ViewModel;
            Title                = "New Expense";
            ViewModel.IsEditable = true;

            AddConditionalUI();

            Content = formLayout;
            Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0);

            #region Set Bindings And Event Handlers
            nameEntry.SetBinding(Entry.TextProperty, "Name");
            shortDescriptionEntry.SetBinding(Entry.TextProperty, "ShortDescription");
            priceEntry.SetBinding(Entry.TextProperty, "Price", BindingMode.TwoWay, null, "$ {0}");
            date.SetBinding(DatePicker.DateProperty, "Date");

            saveButton.Clicked += (object sender, EventArgs e) =>
            {
                ViewModel.Save();
                Navigation.PopModalAsync();
            };
            cancelButton.Clicked += (object sender, EventArgs e) =>
            {
                Navigation.PopModalAsync();
            };
            #endregion
        }
Exemplo n.º 3
0
        public NewReportPage()
        {
            NavigationPage.SetTitleIcon(this, "icon.png");
            ViewModel      = new ReportDetailViewModel(new ExpenseReport());
            BindingContext = ViewModel;
            Title          = "New Report";

            Content = new StackLayout
            {
                Padding  = new Thickness(0, 0, 0, 10),
                Children =
                {
                    dashboard,
                    expenseList,
                    saveReportButton,
                    cancelReportButton
                }
            };

            #region Set Event Handlers and Bindings
            saveReportButton.Clicked   += HandleSaveReport;
            cancelReportButton.Clicked += HandleCancelReport;
            addExpense.Clicked         += HandleAddExpense;
            expenseList.ItemSelected   += HandleItemSelected;

            expenseList.SetBinding <ReportDetailViewModel>(ListView.ItemsSourceProperty, vm => vm.Report.Expenses);
            reportName.SetBinding <ReportDetailViewModel>(Entry.TextProperty, vm => vm.Report.ReportName, BindingMode.TwoWay);
            reportTotal.SetBinding <ReportDetailViewModel>(Label.TextProperty, vm => vm.ReportTotal, BindingMode.OneWay);
            status.SetBinding <ReportDetailViewModel>(Label.TextProperty, vm => vm.ReportStatus);
            #endregion
        }
Exemplo n.º 4
0
        public ReportDetailPage(ExpenseReport report)
        {
            NavigationPage.SetTitleIcon(this, "icon.png");
            ViewModel      = new ReportDetailViewModel(report);
            BindingContext = ViewModel;

            AddConditionalUI();

            Content = layout;

            if (report.Status == "PendingApproval")
            {
                submitButton.Text = "Unsubmit Report";
            }

            #region Set Event Handlers and Bindings
            if (submitButton != null)
            {
                submitButton.Clicked += HandleSubmitReport;
            }
            if (deleteButton != null)
            {
                deleteButton.Clicked += HandleDeleteReport;
            }
            if (addExpense != null)
            {
                addExpense.Clicked += HandleAddExpense;
            }

            TapGestureRecognizer tap = new TapGestureRecognizer();
            editNameImage.GestureRecognizers.Add(tap);
            tap.Tapped += ViewModel.ToggleEdit;

            expenseList.ItemSelected += HandleExpenseSelected;

            expenseList.SetBinding <ReportDetailViewModel>(ListView.ItemsSourceProperty, vm => vm.Report.Expenses);
            reportName.SetBinding <ReportDetailViewModel>(Entry.TextProperty, vm => vm.Report.ReportName);
            reportName.SetBinding <ReportDetailViewModel>(Entry.IsEnabledProperty, vm => vm.IsEditing);
            reportTotal.SetBinding <ReportDetailViewModel>(Label.TextProperty, vm => vm.Report.Total.ToString("C"));
            status.SetBinding <ReportDetailViewModel>(Label.TextProperty, vm => vm.ReportStatus);
            editNameImage.SetBinding <ReportDetailViewModel>(Image.SourceProperty, vm => vm.NameEditImageSource);
            #endregion
        }
        public ReportPage(ReportDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = this.viewModel = viewModel;
        }