コード例 #1
0
        async void Assign_Clicked(object sender, System.EventArgs e)
        {
            if (assign.Text == "Return Asset")
            {
                try
                {
                    if (AssetEntry.Text == null)
                    {
                        await DisplayAlert("Error", "Please fill in asset ID.", "OK");
                    }
                    else
                    {
                        DateTime now = DateTime.Now.ToLocalTime();
                        Dictionary <string, string> dict = new Dictionary <string, string>();
                        dict["asset"] = AssetEntry.Text;
                        dict["time"]  = now.ToString();
                        if (AssetEntry.Text != null)
                        {
                            await DisplayAlert("Return asset", "Are you sure?", "Cancel", "Ok");

                            var isSuccess = await cloudStore.ReturnAsset(dict);

                            if (isSuccess)
                            {
                                await DisplayAlert("Success", "Asset returned successfully.", "Ok");

                                App.Current.MainPage = new MainViewAssetPage();
                            }
                            else
                            {
                                await DisplayAlert("Error", "Return failed. Please try again.", "Ok");

                                AssetEntry.Text = string.Empty;
                            }
                        }
                        else
                        {
                            await DisplayAlert("No asset found.", "Cancel", "Ok");
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                try
                {
                    if (AssetEntry.Text == null &&
                        AsigneeEntry.Text == null)
                    {
                        await DisplayAlert("Error", "Please fill in missing fields.", "OK");
                    }
                    else if (AssetEntry.Text == null)
                    {
                        await DisplayAlert("Error", "Please fill in asset ID/barcode.", "OK");
                    }
                    else if (AsigneeEntry.Text == null)
                    {
                        //await DisplayAlert("Error", "Please Fill Assignee.", "OK");
                        try
                        {
                            List <Users> listUsers = await cloudStore.GetUsers();

                            if (listUsers != null)
                            {
                                List <Users> listManagers = await cloudStore.GetManagers();

                                for (int i = 0; i < listManagers.Count; i++)
                                {
                                    listUsers.Add(listManagers[i]);
                                }

                                lstview.ItemsSource = listUsers;
                                Device.BeginInvokeOnMainThread(() =>
                                {
                                    lstview.IsVisible = true;
                                    Validate          = true;
                                });
                            }
                            else
                            {
                                await DisplayAlert("Error", "No assignee.", "Cancel", "Ok");
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    else
                    {
                        DateTime now = DateTime.Now.ToLocalTime();
                        Dictionary <string, string> dict = new Dictionary <string, string>();
                        dict["asset"]    = AssetEntry.Text;
                        dict["assignee"] = AsigneeEntry.Text;
                        dict["time"]     = now.ToString();

                        var isSuccess = await cloudStore.AssignAsset(dict);

                        if (isSuccess)
                        {
                            await DisplayAlert("Success", "Asset assigned successfully.", "Ok");

                            App.Current.MainPage = new MainViewAssetPage();

                            //AssetEntry.Text = string.Empty;
                            //DescriptionEntry.Text = string.Empty;
                        }
                        else
                        {
                            await DisplayAlert("Error", "Assignment failed. Please try again.", "Ok");

                            //AssetEntry.Text = string.Empty;
                            //DescriptionEntry.Text = string.Empty;
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }