void HandleSkipAlertDismissed(object sender, UIButtonEventArgs e) { if (e.ButtonIndex == 1) { SkippedSigning = true; // redraw the recipt with empty signature Signature.Clear(); UIImageView iv = new UIImageView(); iv = (UIImageView)Tabs._payment.GeneratedPdfView.ViewWithTag(MyConstants.ReceiptPDFTemplateTags.Signature); iv.ContentMode = UIViewContentMode.ScaleAspectFit; UIImage im = Signature.GetDrawingImage(); // this.Signature.Image; iv.Image = im; Tabs._payment.RedrawReceiptPDF(true); iv.Dispose(); im.Dispose(); im = null; iv = null; GoForward(this, new EventArgs()); } }
public SignInvoiceViewController(DetailedTabs tabs) : base(tabs) { this.Title = "Sign receipt"; using (var image = UIImage.FromBundle("Images/187-pencil")) this.TabBarItem.Image = image; this.NavigationItem.HidesBackButton = true; GoBack = delegate { if (SigningMode) { FinishSigning(null, null); hasBeenSigned = false; } // if service should be signed, push service bool ShouldSignService = false; Job main = (Tabs._jobRunTable.CurrentJob.HasParent()) ? Tabs._jobRunTable.FindParentJob(Tabs._jobRunTable.CurrentJob) : Tabs._jobRunTable.CurrentJob; if (main.JobReportAttached) { ShouldSignService = true; } foreach (Job child in main.ChildJobs) { if (child.JobReportAttached) { ShouldSignService = true; } break; } /* * if (main.Type.Code == "SER") ShouldSignService = true; * foreach(Job child in main.ChildJobs) * if (child.Type.Code == "SER") ShouldSignService = true; */ if (ShouldSignService) { Tabs.SigningNav.PopToRootViewController(false); Tabs.SigningNav.PushViewController(Tabs.SignService, true); } // else if pre-plumbing should be signed, push pre-plumbing else if (!Tabs._prePlumbView.IsDefault()) { // push pre-plumbing check Tabs.SigningNav.PopToRootViewController(false); Tabs.SigningNav.PushViewController(Tabs.SignPre, true); } else // otherwise, return back to payment screen { Tabs.SigningNav.PopToRootViewController(false); Tabs.SelectedViewController = Tabs.ViewControllers[Tabs.LastSelectedTab]; } }; GoForward = delegate { if ((this.hasBeenSigned && !SigningMode) || SkippedSigning) { //string currentNetwork = MyConstants.GetCurrentWiFiNetworkID (); //bool networkOK = (currentNetwork == "247"); //this.Tabs._scView.Log (String.Format("Current network returned by MyConstants.GetCurrentWiFiNetworkID : {0}", currentNetwork)); //networkOK = true; // debug if (true) // networkOK { // AllPrintingDone.Reset (); BeginPrinting(); // this starts a new thread to handle the printing task } /* * else * { * // we're connected to another network, alert the user * var networkAlert = new UIAlertView( String.Format("Your iPad is connected to \"{0}\"", "currentNetwork"), * "You have to go to Settings -> Wi-Fi and connect to printer network (\"247\") for printing to work. What would you like to do?", null, * "Skip printing", "Change network"); * networkAlert.Dismissed += HandleNetworkAlertDismissed; * networkAlert.Show (); * } */ } else { var alert = new UIAlertView("", "Please finish signing the document first", null, "OK"); alert.Show(); } if (SkippedSigning) { // Here we should take whatever measures to somehow record that the receipt has not been signed by the customer SkippedSigning = false; } }; ClearSignature = delegate { // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; }; SkipSigning = delegate { skipAlert = new UIAlertView("Are you sure?", "The receipt will be printed out without the customer signature.", null, "No, never mind", "Yes, please"); skipAlert.Dismissed += HandleSkipAlertDismissed; skipAlert.Show(); }; StartSigning = delegate { signing = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), clearSignature, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), skipSigning, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); Signature.Clear(); hasBeenSigned = false; SigningMode = true; this.NavigationController.SetNavigationBarHidden(false, true); this.NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Plain, ClearSignature), true); this.NavigationItem.SetRightBarButtonItem(new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), true); // this.NavigationItem.SetRightBarButtonItems (new UIBarButtonItem[] { // new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), // new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Bordered, ClearSignature) }, true); this.NavigationController.SetToolbarHidden(true, true); }; FinishSigning = delegate { SigningMode = false; signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Plain, StartSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), email, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), skipSigning, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); this.NavigationItem.SetLeftBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationItem.SetRightBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationController.SetToolbarHidden(false, true); UIImageView iv = new UIImageView(); iv = (UIImageView)Tabs._payment.GeneratedPdfView.ViewWithTag(MyConstants.ReceiptPDFTemplateTags.Signature); iv.ContentMode = UIViewContentMode.ScaleAspectFit; UIImage im = Signature.GetDrawingImage(); // this.Signature.Image; iv.Image = im; if (hasBeenSigned) { PDFView.ScrollView.ScrollsToTop = false; Tabs._payment.RedrawReceiptPDF(true); // Signature.Image = new UIImage(); Signature.Clear(); } if (iv != null) { iv.Dispose(); iv = null; } if (im != null) { im.Dispose(); im = null; } }; DoSendReceiptEmail = delegate { if (MFMailComposeViewController.CanSendMail) { // check if there is an existing email address on file string existingEmail = Tabs._jobRunTable.CurrentCustomer.EmailAddress; if (ValidateEmailAddress(existingEmail)) { // there is an email address on file var alertUseExistingEmail = new UIAlertView("Use this email address?", existingEmail, null, "No", "Yes"); alertUseExistingEmail.Dismissed += delegate(object sender, UIButtonEventArgs e) { if (e.ButtonIndex == 1) { // user confirmed using existing email emailRecepients = existingEmail; SaveEmailAndPresentMailComposingView(); } else { // user declined using existing email, collect email address PresentGetEmailAddressView(); } }; alertUseExistingEmail.Show(); } else { // collect email address PresentGetEmailAddressView(); } } else { var alertCannotSendEmails = new UIAlertView("", "It seems like this iPad cannot send e-mails at the time. Please check the network settings and try again", null, "OK"); alertCannotSendEmails.Show(); } }; back = new UIBarButtonItem(UIBarButtonSystemItem.Reply); signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Plain, StartSigning); email = new UIBarButtonItem("Email receipt", UIBarButtonItemStyle.Plain, DoSendReceiptEmail); skipSigning = new UIBarButtonItem("Skip signing", UIBarButtonItemStyle.Plain, SkipSigning); forward = new UIBarButtonItem(UIBarButtonSystemItem.Action); clearSignature = new UIBarButtonItem("Clear signature", UIBarButtonItemStyle.Plain, ClearSignature); ToolbarItems = new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), email, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), skipSigning, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }; back.Clicked += GoBack; forward.Clicked += GoForward; }
public SignPrePlumbingViewController(DetailedTabs tabs) : base(tabs) { this.Title = "Sign pre-plumbing"; using (var image = UIImage.FromBundle("Images/187-pencil")) this.TabBarItem.Image = image; this.NavigationItem.HidesBackButton = true; GoBack = delegate { if (!SigningMode) { Tabs.SelectedViewController = Tabs.ViewControllers[Tabs.LastSelectedTab]; } else { FinishSigning(null, null); hasBeenSigned = false; Tabs.SelectedViewController = Tabs.ViewControllers[Tabs.LastSelectedTab]; } }; GoForward = delegate { if (hasBeenSigned && !SigningMode) { bool ShouldSignService = false; Job main = (Tabs._jobRunTable.CurrentJob.HasParent())? Tabs._jobRunTable.FindParentJob(Tabs._jobRunTable.CurrentJob) : Tabs._jobRunTable.CurrentJob; if (main.Type.Code == "SER") { ShouldSignService = true; } foreach (Job child in main.ChildJobs) { if (child.Type.Code == "SER") { ShouldSignService = true; } } if ((Tabs._prePlumbView.pr.UpgradeOffered == PrePlumbingCheckView.Choices.Option1 || Tabs._prePlumbView.pr.UpgradeOffered == PrePlumbingCheckView.Choices.Option2) && Tabs._prePlumbView.pr.CustomerAcceptedUpgrade == PrePlumbingCheckView.Choices.Yes) { // look for a tubing upgrade job bool foundUpgrade = false; if (main.Type.Code.Contains("TUBING")) { foundUpgrade = true; } if (!foundUpgrade) { foreach (Job child in main.ChildJobs) { if (child.Type.Code.Contains("TUBING")) { foundUpgrade = true; } } } if (!foundUpgrade) { Dictionary <int, string> Reasons = MyConstants.GetFollowUpReasonsFromDB(); string pickedReason = "Unable to do upgrade"; int reasonID = Reasons.FindKeyByValue(pickedReason); Tabs._jobService.SaveFollowupToDatabase(main.JobBookingNumber, reasonID, "Upgrade was authorised and not done?"); } } if (ShouldSignService) { Tabs.SigningNav.PopToRootViewController(false); Tabs.SigningNav.PushViewController(Tabs.SignService, true); } else { Tabs.SigningNav.PushViewController(Tabs.SignInvoice, true); //Tabs.SigningNav.InvoicePushed = true; // Tabs._navWorkflow._finishWorkflow(null, null); } } else { var alert = new UIAlertView("", "Please finish signing the document first", null, "OK"); alert.Show(); } }; ClearSignature = delegate { // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; }; StartSigning = delegate { signing = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), clearSignature, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; SigningMode = true; this.NavigationController.SetNavigationBarHidden(false, true); this.NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Bordered, ClearSignature), true); this.NavigationItem.SetRightBarButtonItem(new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), true); // this.NavigationItem.SetRightBarButtonItems (new UIBarButtonItem[] { // new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), // new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Bordered, ClearSignature) }, true); this.NavigationController.SetToolbarHidden(true, true); }; FinishSigning = delegate { SigningMode = false; signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Bordered, StartSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); this.NavigationItem.SetLeftBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationItem.SetRightBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationController.SetToolbarHidden(false, true); UIImageView iv = new UIImageView(); iv = (UIImageView)Tabs._prePlumbView.GeneratedPDFView.ViewWithTag(MyConstants.PrePlumbingPDFTemplateTags.Signature); iv.ContentMode = UIViewContentMode.ScaleAspectFit; UIImage im = this.Signature.GetDrawingImage(); // this.Signature.Image; iv.Image = im; if (hasBeenSigned) { Tabs._prePlumbView.RedrawPrePlumbingPDF(false, true); CGPoint offset = new CGPoint(0, this.PDFView.ScrollView.ContentSize.Height - this.PDFView.ScrollView.Bounds.Height); PDFView.ScrollView.SetContentOffset(offset, true); Signature.Clear(); // Signature.Image = new UIImage(); } iv.Dispose(); im.Dispose(); im = null; iv = null; }; back = new UIBarButtonItem(UIBarButtonSystemItem.Reply); signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Bordered, StartSigning); forward = new UIBarButtonItem(UIBarButtonSystemItem.Action); clearSignature = new UIBarButtonItem("Clear signature", UIBarButtonItemStyle.Bordered, ClearSignature); ToolbarItems = new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }; back.Clicked += GoBack; forward.Clicked += GoForward; }
public SignServiceReportViewController(DetailedTabs tabs) : base(tabs) { this.Title = "Sign service report"; using (var image = UIImage.FromBundle("Images/187-pencil")) this.TabBarItem.Image = image; this.NavigationItem.HidesBackButton = true; GoBack = delegate { if (SigningMode) { FinishSigning(null, null); hasBeenSigned = false; } if (!Tabs._prePlumbView.IsDefault()) { // push pre-plumb signing Tabs.SigningNav.PopToRootViewController(false); Tabs.SigningNav.PushViewController(Tabs.SignPre, true); } else { Tabs.SelectedViewController = Tabs.ViewControllers[Tabs.LastSelectedTab]; } }; GoForward = delegate { if (this.hasBeenSigned && !SigningMode) { if (Tabs.SignInvoice != null) { Tabs.SigningNav.PushViewController(Tabs.SignInvoice, true); // Tabs.SigningNav.InvoicePushed = true; } else { Tabs._navWorkflow._finishWorkflow(null, null); } } else { var alert = new UIAlertView("", "Please finish signing the document first", null, "OK"); alert.Show(); } }; ClearSignature = delegate { // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; }; StartSigning = delegate { signing = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), clearSignature, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; SigningMode = true; this.NavigationController.SetNavigationBarHidden(false, true); this.NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Bordered, ClearSignature), true); this.NavigationItem.SetRightBarButtonItem(new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), true); this.NavigationController.SetToolbarHidden(true, true); // this.NavigationItem.SetRightBarButtonItems (new UIBarButtonItem[] { // new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning), // new UIBarButtonItem("Clear Signature", UIBarButtonItemStyle.Bordered, ClearSignature) }, true); }; FinishSigning = delegate { SigningMode = false; signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Bordered, StartSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); this.NavigationItem.SetLeftBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationItem.SetRightBarButtonItems(new UIBarButtonItem[] { }, true); this.NavigationController.SetToolbarHidden(false, true); UIImageView iv = new UIImageView(); iv = (UIImageView)Tabs._jobService.GeneratedPDFView.ViewWithTag(MyConstants.ServiceCallPDFTemplateTags.Signature); iv.ContentMode = UIViewContentMode.ScaleAspectFit; UIImage im = this.Signature.GetDrawingImage(); // this.Signature.Image; iv.Image = im; if (hasBeenSigned) { Tabs._jobService.RedrawServiceCallPDF(true); CGPoint offset = new CGPoint(0, this.PDFView.ScrollView.ContentSize.Height - this.PDFView.ScrollView.Bounds.Height); PDFView.ScrollView.SetContentOffset(offset, true); // Signature.Image = new UIImage(); Signature.Clear(); } iv.Dispose(); im.Dispose(); im = null; iv = null; }; back = new UIBarButtonItem(UIBarButtonSystemItem.Reply); signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Bordered, StartSigning); forward = new UIBarButtonItem(UIBarButtonSystemItem.Action); clearSignature = new UIBarButtonItem("Clear signature", UIBarButtonItemStyle.Bordered, ClearSignature); ToolbarItems = new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }; back.Clicked += GoBack; forward.Clicked += GoForward; }
public SignDailyStockUsed(DetailedTabs tabs) : base(tabs) { // todo :: EXCEPTION HANDLING here // fill the DVC property here with the stock details dvc = new DialogViewController(new RootElement("Used stock")); dvc.Root.Add(new Section("")); if (File.Exists(ServerClientViewController.dbFilePath)) { // read the data from database here using (var connection = new SqliteConnection("Data Source=" + ServerClientViewController.dbFilePath)) { try { using (var cmd = connection.CreateCommand()) { connection.Open(); cmd.CommandText = "SELECT su.Element_Type as Type, su.Element_OID as ID, p.Part_Desc as Desc, SUM(su.Num_Used) as USED_TODAY " + "FROM STOCKUSED su, PARTS p " + "WHERE su.Element_OID = p.Part_ID " + "AND su.Element_Type = 'P' " + "GROUP BY Element_Type, Element_OID, Part_Desc " + "UNION SELECT su.Element_Type as Type, su.Element_OID as ID, a.Name as Desc, SUM(su.Num_Used) as USED_TODAY " + "FROM STOCKUSED su, ASSEMBLIES a " + "WHERE su.Element_OID = a.Assembly_ID " + "AND su.Element_Type = 'A' " + "GROUP BY Element_Type, Element_OID, Name"; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { string id = (string)(reader["type"]) + Convert.ToString(reader["id"]); string description = (string)reader["desc"]; double used = Convert.ToDouble(reader["used_today"]); dvc.Root[0].Add(new StyledStringElement( id + " " + description, used.ToString(), UITableViewCellStyle.Value1)); } if (!reader.IsClosed) { reader.Close(); } } } } catch (Exception e) { // Console.WriteLine (e.Message); } } } GenerateStockUsedPDFPreview(); RedrawDailyStockPDF(false); GoBack = delegate { if (SigningMode) { FinishSigning(null, null); hasBeenSigned = false; } this.NavigationController.PopToRootViewController(true); }; GoForward = delegate { if (this.hasBeenSigned) { this.NavigationController.SetNavigationBarHidden(true, false); this.NavigationController.PopToRootViewController(true); this.Tabs._scView.StartNewDataExchange(); // this.Tabs._scView.InitDataExchange (); } else { var alert = new UIAlertView("", "Please finish signing the document first", null, "OK"); alert.Show(); } }; ClearSignature = delegate { // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; }; StartSigning = delegate { signing = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, FinishSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), clearSignature, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); // Signature.Image = new UIImage(); Signature.Clear(); hasBeenSigned = false; SigningMode = true; }; FinishSigning = delegate { SigningMode = false; signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Bordered, StartSigning); this.SetToolbarItems(new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }, true); UIImageView iv = new UIImageView(); iv = (UIImageView)GeneratedPDFView.ViewWithTag(4); iv.ContentMode = UIViewContentMode.ScaleAspectFit; UIImage im = Signature.GetDrawingImage(); // this.Signature.Image; iv.Image = im; if (hasBeenSigned) { RedrawDailyStockPDF(true); CGPoint offset = new CGPoint(0, this.PDFView.ScrollView.ContentSize.Height - this.PDFView.ScrollView.Bounds.Height); PDFView.ScrollView.SetContentOffset(offset, true); // Signature.Image = new UIImage(); Signature.Clear(); } iv.Dispose(); im.Dispose(); im = null; iv = null; }; back = new UIBarButtonItem(UIBarButtonSystemItem.Reply); signing = new UIBarButtonItem("Start signing", UIBarButtonItemStyle.Plain, StartSigning); forward = new UIBarButtonItem(UIBarButtonSystemItem.Action); clearSignature = new UIBarButtonItem("Clear signature", UIBarButtonItemStyle.Plain, ClearSignature); ToolbarItems = new UIBarButtonItem[] { back, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), signing, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), forward }; back.Clicked += GoBack; forward.Clicked += GoForward; }