Ejemplo n.º 1
0
 public AddLogEntryView()
 {
     InitializeComponent();
     DataContext = AddLogEntryViewModel.GetInstance();
 }
Ejemplo n.º 2
0
        async void HandleUpdateItemsClicked(object sender, System.EventArgs e)
        {
            var selectedLocation = viewModel.SelectedLocation;
            var locationMode     = viewModel.LocationMode;
            var logMode          = viewModel.LogMode;
            var statusMode       = viewModel.StatusMode;

            if (logMode)
            {
                if (String.IsNullOrEmpty(viewModel.LogEntry))
                {
                    DisplayMissingInputAlert("Log Entry");
                    return;
                }
            }
            else if (statusMode)
            {
                if (String.IsNullOrEmpty(viewModel.StatusEntry))
                {
                    DisplayMissingInputAlert("Status");
                    return;
                }
            }

            List <int?> idUpdatedList = new List <int?>();

            foreach (var item in viewModel.UpdatableItemList)
            {
                idUpdatedList.Add(item.Item.Id);
                try
                {
                    if (locationMode)
                    {
                        if (item.Item.Domain.Name.Equals(Constants.locationDomainName))
                        {
                            item.UpdateLocationParent(selectedLocation);
                        }
                        else
                        {
                            var locInfo = item.LoadItemLocationInformation();
                            ItemDomainLocation locationItem = null;

                            if (selectedLocation != null)
                            {
                                locationItem = new ItemDomainLocation {
                                    Id = selectedLocation.Id
                                };
                            }

                            locInfo.LocationItem    = locationItem;
                            locInfo.LocationDetails = viewModel.LocationDetails;
                            item.UpdateItemLocation();
                        }
                    }
                    else if (logMode)
                    {
                        int itemId = (int)item.Item.Id;
                        AddLogEntryViewModel logEntryModel = new AddLogEntryViewModel(itemId)
                        {
                            LogEntry = viewModel.LogEntry
                        };
                        await logEntryModel.AddLogEntryForItemAsync();
                    }
                    else if (statusMode)
                    {
                        await item.UpdateItemStatusAsync(viewModel.StatusEntry);
                    }
                }
                catch (Exception ex)
                {
                    HandleException(ex);
                    return;
                }
            }

            // Reload all items
            viewModel.ClearItems();
            foreach (var id in idUpdatedList)
            {
                await viewModel.AddItemByIdAsync(id);
            }

            viewModel.SelectedLocation = null;
            viewModel.LocationDetails  = "";
            viewModel.LogEntry         = "";
            viewModel.StatusEntry      = "";

            await DisplayAlert("Update Complete", "Items have been updated", "OK");
        }
Ejemplo n.º 3
0
        public AddLogEntryPage(int ItemId)
        {
            InitializeComponent();

            BindingContext = viewModel = new AddLogEntryViewModel(ItemId);
        }