예제 #1
0
        private async void LoginAsTechnician_Click(object sender, RoutedEventArgs e)
        {
            var technicians = await Technician.Get();

            App.LoggedInUser = technicians.FirstOrDefault();
            Template10.Common.BootStrapper.Current.NavigationService.Navigate(typeof(MainPage));
        }
        //internal async Task CreateUser()
        //{
        //    Technician t = new Technician()
        //    {
        //        FirstName = "Jeremy",
        //        LastName = "Krouse",
        //        Password = "******",
        //        Username = "******",
        //        StartDate = DateTimeOffset.Now
        //    };

        //    await t.Post();
        //}

        /// <summary>
        /// Tries to login into the system with the values stored in Username and Password.
        /// </summary>
        /// <returns></returns>
        public async Task <bool> AttemptLogin()
        {
            IUser potentialAccount = await Manager.Get("where Username eq " + Username);

            if (potentialAccount == default(Manager))
            {
                potentialAccount = await Technician.Get("where Username eq " + Username);

                if (potentialAccount == default(Technician))
                {
                    return(false);
                }
            }
            App.LoggedInUser = potentialAccount;
            return(potentialAccount.Password == Password);
        }
        private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
        {
            double total = 0;
            //get info for technician
            Technician t = await Technician.Get(job.Technician);

            DateTimeOffset start = t.StartDate;
            DateTimeOffset end   = DateTimeOffset.Now;
            int            years = (end.Year - start.Year - 1) +
                                   (((end.Month > start.Month) ||
                                     ((end.Month == start.Month) && (end.Day >= start.Day))) ? 1 : 0);

            double pay = 30 + (years * 10);

            total = total + (double.Parse(HoursWorked.Text) * pay);

            var folderPicker = new FolderPicker();

            folderPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
            folderPicker.FileTypeFilter.Add("*");

            StorageFolder folder = await folderPicker.PickSingleFolderAsync();

            if (folder != null)
            {
                var file = await folder.CreateFileAsync("Invoice.txt", CreationCollisionOption.ReplaceExisting);

                List <string> lines = new List <string>()
                {
                    "MODEL Computing Services",
                    "Invoice",
                    "Total Hours Worked: " + HoursWorked.Text + " hours",
                    "Technician's Pay: $" + pay.ToString() + " per hour",
                    "Total Price is: $" + total.ToString()
                };
                await FileIO.WriteLinesAsync(file, lines);
            }
            else
            {
                await new MessageDialog("Operation Cancelled").ShowAsync();
            }
        }
        public async Task LoadScreenData()
        {
            LoggedInUser = App.LoggedInUser;
            //This currently returns the entire list of Jobs back regardless.
            Jobs = new ObservableCollection <Job>(await Job.Get());
            //This is an inefficient, but rudimentary way of making sure only uncompleted jobs are loaded back.
            ObservableCollection <Job> temp = new ObservableCollection <Job>();

            foreach (Job job in Jobs)
            {
                if (!job.Completed)
                {
                    temp.Add(job);
                }
            }
            Jobs        = temp;
            Customers   = new ObservableCollection <Customer>(await Customer.Get());
            Managers    = new ObservableCollection <Manager>(await Manager.Get());
            Technicians = new ObservableCollection <Technician>(await Technician.Get());
        }
예제 #5
0
 public async Task LoadScreenData()
 {
     Managers    = new ObservableCollection <Manager>(await Manager.Get());
     Technicians = new ObservableCollection <Technician>(await Technician.Get());
     Customers   = new ObservableCollection <Customer>(await Customer.Get());
 }