コード例 #1
0
        private async void SignUpExecute(object obj)
        {
            SignUpStatus = string.Empty;
            if (CheckPassword())
            {
                Recycler recycler = await RecyclerDA.GetRecycler(Recycler);

                if (recycler == null)
                {
                    Recycler.EcoLevel    = EcoLevelOne;
                    Recycler.TotalPoints = 0;
                    await RecyclerDA.AddRecycler(Recycler);

                    Username        = string.Empty;
                    Password        = string.Empty;
                    FullName        = string.Empty;
                    ConfirmPassword = string.Empty;
                    await Application.Current.MainPage.DisplayAlert("Sign Up", "You have successfully created a Recycler account ", "OK");

                    await Application.Current.MainPage.Navigation.PopAsync();
                }
                else
                {
                    SignUpStatus = "Username already exists! Please choose another username";
                }
            }
            else
            {
                SignUpStatus = "Confirmation password is not matched with your password";
            }
        }
コード例 #2
0
        private async void UpdateRecyclerExecute(object obj)
        {
            await RecyclerDA.UpdateRecycler(Recycler);

            await Application.Current.MainPage.DisplayAlert("User Profile", "Your profile is updated", "OK");

            await Application.Current.MainPage.Navigation.PopAsync();
        }
コード例 #3
0
        private async void UpdateSubmissionForAll()
        {
            Submission.Material      = Material.MaterialID;
            Submission.Status        = StatusSubmitted;
            Submission.PointsAwarded = WeightInKg * Material.PointsPerKg;
            Submission.ActualDate    = DateTime.Today;
            Recycler.TotalPoints    += Submission.PointsAwarded;
            UpdateRecyclerEcoLevel();
            await RecyclerDA.UpdateRecycler(Recycler);

            Collector.TotalPoints += Submission.PointsAwarded;
            await CollectorDA.UpdateCollector(Collector);

            await SubmissionDA.UpdateSubmission(Submission);
        }
コード例 #4
0
        private async void InitializeFromSubmission()
        {
            Recycler = await RecyclerDA.GetRecyclerByUsername(Submission.Recycler);

            if (Recycler != null)
            {
                RecyclerUsername = Recycler.Username;
            }
            Collector = await CollectorDA.GetCollectorByUsername(Submission.Collector);

            Material = await MaterialDA.GetMaterialById(Submission.Material);

            if (Material != null)
            {
                MaterialName = Material.MaterialName;
            }
        }
コード例 #5
0
        private async void CreateSubmissionExecute(object obj)
        {
            CreateStatus = string.Empty;
            Recycler     = await RecyclerDA.GetRecyclerByUsername(RecyclerUsername);

            Material = await MaterialDA.GetMaterialByName(MaterialName);

            Collector = CollectorViewModel.Collector;
            if (Recycler == null)
            {
                CreateStatus = "Recycler not found!";
            }
            else
            {
                if (Material == null)
                {
                    CreateStatus = "Recycled Material Type not found!";
                }
                else
                {
                    if (Collector.MaterialCollection.Contains(Material.MaterialID))
                    {
                        Submission.Recycler     = Recycler.Username;
                        Submission.ProposedDate = DateTime.Today;
                        Submission.Collector    = Collector.Username;
                        var    newGuid = Guid.NewGuid();
                        string id      = Convert.ToBase64String(newGuid.ToByteArray());
                        Submission.SubmissionID = id.Remove(id.Length - 2, 2);
                        Submission.Status       = StatusProposed;
                        Submission.Material     = Material.MaterialID;
                        await SubmissionDA.AddSubmission(Submission);

                        UpdateSubmissionForAll();
                        await Application.Current.MainPage.DisplayAlert("Record Material Submission", "You have successfully recorded the submission.", "OK");

                        await Application.Current.MainPage.Navigation.PopAsync();
                    }
                    else
                    {
                        CreateStatus = "You do not collect this type of material!";
                    }
                }
            }
        }
コード例 #6
0
 private async void SignInExecute(object obj)
 {
     LoginStatus = string.Empty;
     if (CheckUsernameAndPassword())
     {
         User        a    = new User();
         ContentPage view = new ContentPage();
         if (UserType == StartViewModel.AdminUserType)
         {
             a = await AdminDA.GetAdmin(User);
         }
         else if (UserType == StartViewModel.RecyclerUserType)
         {
             a = await RecyclerDA.GetRecycler(User);
         }
         else
         {
             a = await CollectorDA.GetCollector(User);
         }
         if (a != null)
         {
             if (a.Password == Password)
             {
                 if (Application.Current.Properties.ContainsKey("loggedIn"))
                 {
                     Application.Current.Properties["loggedIn"] = 1;
                 }
                 else
                 {
                     Application.Current.Properties.Add("loggedIn", 1);
                     await Application.Current.SavePropertiesAsync();
                 }
                 if (a is Recycler)
                 {
                     RecyclerViewModel.Recycler = (Recycler)a;
                     view = new Views.RecyclerMainView();
                 }
                 else if (a is Collector)
                 {
                     CollectorViewModel.Collector = (Collector)a;
                     view = new Views.CollectorMainView();
                 }
                 else
                 {
                     MainViewModel.Admin = a;
                     view = new Views.AdminMainView();
                 }
                 Username = string.Empty;
                 Password = string.Empty;
                 Application.Current.MainPage = new NavigationPage(view);
             }
             else
             {
                 Application.Current.Properties["loggedIn"] = 0;
                 LoginStatus = "Username or password is wrong!";
             }
         }
         else
         {
             LoginStatus = "Username or password not found!";
         }
     }
 }