コード例 #1
0
        public async Task <BarcodeScanReturn> StartBarcodeScanner()
        {
            var scanner = new ZXing.Mobile.MobileBarcodeScanner();
            var result  = await scanner.Scan();

            try
            {
                string[] Results = result.ToString().Split('*');
                Console.WriteLine("Returned Data " + Results[1]);
                string            Contra  = (string)ViewController.MakeRequest3("data", Results[1]);
                string            Name    = Contra.GetStringOut("lastfirst");
                string            Email1  = Contra.GetStringOut("guardianemail");
                string            Email2  = Contra.GetStringOut("guardianemail_2");
                string            Email3  = Contra.GetStringOut("stud_email");
                BarcodeScanReturn Student = new BarcodeScanReturn(Name, Results[1], Email1, Email2, Email3);
                AllReturned.Add(Student);
                return(Student);
            }
            catch
            {
                string[]          Results = result.ToString().Split(' ');
                BarcodeScanReturn Staff   = new BarcodeScanReturn((Results[2] + ", " + Results[1]), "", null, null, null);
                AllReturned.Add(Staff);
                return(Staff);
            }
        }
コード例 #2
0
        public async override void ViewDidLoad()
        {
            base.ViewDidLoad();
            foreach (UIView view in TicketHolder.Subviews)
            {
                view.RemoveFromSuperview();
            }
            NumberOfTickets = 0;
            AllReturned.Clear();
            try
            {
                BarcodeScanReturn Returned = await StartBarcodeScanner();

                string[] Name = SplitName(Returned.StudentName);
                Returned.FirstName = Name[0];
                Returned.LastName  = Name[1];
                TicketHolder.WidthAnchor.ConstraintEqualTo(UIScreen.MainScreen.Bounds.Width).Active = true;
                Scroll.AddSubview(TicketHolder);
                Scroll.ContentSize = TicketHolder.Frame.Size;
                CreateStudentTicket(Name[0] + " " + Name[1], Returned.StudentNumber, NumberOfTickets);
            }
            catch
            {
                Console.WriteLine("Something went Wrong");
            }

            SubmitButton.TouchUpInside += (sender, e) =>
            {
                for (int i = 0; i < NumberOfTickets; i++)
                {
                    string EmailBehaviour        = LayoutSpinner[i][0].Selected;
                    string EmailBuildingLocation = LayoutSpinner[i][1].Selected;
                    string EmailLocation         = LayoutSpinner[i][2].Selected;
                    string EmailName             = AllReturned[i].FirstName.ToString();
                    Thread EmailThread           = new Thread(new ThreadStart(new EmailInfo(AllReturned[i].StudentName, AllReturned[i].PrimaryEmailAddress, AllReturned[i].SecondaryAddress, AllReturned[i].StudentAddress, EmailLocation, EmailBehaviour).BackgroundEmail));
                    EmailThread.Start();

                    var thisinfo = JsonConvert.SerializeObject(new
                    {
                        LogDateTime        = DateTime.Now,
                        District           = "KentISD",
                        Building           = EmailBuildingLocation,
                        Student_ID         = AllReturned[i].StudentNumber,
                        Student_First_Name = AllReturned[i].FirstName,
                        Student_Last_Name  = AllReturned[i].LastName,
                        Behavior           = EmailBehaviour,
                        Behavior_Location  = EmailLocation,
                        Staff_Login_ID     = ViewController.StaffUserName
                    });


                    // POST a JSON string
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://goingpro.azurewebsites.net/api/Behavior_Log");
                    request.Method      = "POST";
                    request.ContentType = @"application/json";
                    request.Accept      = @"application/json";

                    var dataStream = new StreamWriter(request.GetRequestStream());

                    using (dataStream)
                    {
                        dataStream.Write(thisinfo);
                        dataStream.Flush();
                        dataStream.Close();
                    }

                    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                    {
                        if (response.StatusCode != HttpStatusCode.Created)
                        {
                            Console.WriteLine("Error fetching data.  Server returned status code " + response.StatusCode);
                        }
                        else
                        {
                            Console.WriteLine("Information Successfully saved");
                        }
                    }
                }
                Toast.MakeText("Email Sent").Show();
            };



            TicketButton.TouchUpInside += async delegate
            {
                Console.WriteLine("Pushed");
                try
                {
                    BarcodeScanReturn Returned = await StartBarcodeScanner();

                    string[] SecondaryName = SplitName(Returned.StudentName);
                    Returned.FirstName = SecondaryName[0];
                    Returned.LastName  = SecondaryName[1];
                    CreateStudentTicket(SecondaryName[0] + " " + SecondaryName[1], Returned.StudentNumber, NumberOfTickets);
                }
                catch
                {
                    Toast.MakeText("Invalid Barcode Scanned").Show();
                    Console.WriteLine("Woah Something Went Wrong When Scanning Barcode either that is not a valid barcode or there is no connection.");
                }
            };
        }