private void ClearBtn_Clicked(object sender, EventArgs e) { MainSignaturePad.Clear(); }
private async void SaveBtn_Clicked(object sender, EventArgs e) { this.animationView.IsVisible = true; this.SaveBtn.IsEnabled = false; Stream CustomerJObSign = await MainSignaturePad.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Jpeg, strokeColor : Color.Black, fillColor : Color.White); Stream TechSignJOb = await TechSign.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Jpeg, strokeColor : Color.Black, fillColor : Color.White); byte[] image = new byte[CustomerJObSign.Length]; byte[] Techimage = new byte[TechSignJOb.Length];//declare arraysize CustomerJObSign.Read(image, 0, image.Length); TechSignJOb.Read(Techimage, 0, Techimage.Length); JobDetailsTabbed.updateModel.CustomerSignatureVector = JobService.jobDetailsModel.JobNo + "_Customer_" + DateTime.Now.Ticks + ".pdf"; JobDetailsTabbed.updateModel.CustomerSignatureImage = image; JobDetailsTabbed.updateModel.TechnicianSignatureVector = JobService.jobDetailsModel.JobNo + "_Technician_" + DateTime.Now.Ticks + ".pdf"; JobDetailsTabbed.updateModel.TechnicianSignatureImage = Techimage; JobDetailsTabbed.updateModel.Rating = theRating; //JobDetailsTabbed.updateModel.Rating.PoliteAndCourteous = PoliteAndCourteous.SelectedItem == null ? 0 : Convert.ToInt32(PoliteAndCourteous.SelectedItem); //JobDetailsTabbed.updateModel.Rating.ProfessionalService = ProfessionalService.SelectedItem == null ? 0 : Convert.ToInt32(ProfessionalService.SelectedItem); //JobDetailsTabbed.updateModel.Rating.WorkQuality = WorkQuality.SelectedItem == null ? 0 : Convert.ToInt32(WorkQuality.SelectedItem); JobDetailsTabbed.updateModel.JobNo = JobService.jobDetailsModel.JobNo; //JobDetailsTabbed.updateModel.Rating.Punctuality = Punctuality.SelectedItem == null ? 0 : Convert.ToInt32(Punctuality.SelectedItem); JobDetailsTabbed.updateModel.UserName = Settings.LastUsedUserId; JobDetailsTabbed.updateModel.ProjectLogo = JobService.jobDetailsModel.ProjectLogo; JobDetailsTabbed.updateModel.WorkInstructions = JobService.jobDetailsModel.WorkInstructions; JobDetailsTabbed.updateModel.AssetsList = JobService.jobDetailsModel.AssetsList; JobDetailsTabbed.updateModel.Department = JobService.jobDetailsModel.Department; JobDetailsTabbed.updateModel.CustomerName = JobService.jobDetailsModel.ContactPerson; JobDetailsTabbed.updateModel.Building = JobService.jobDetailsModel.Building; JobDetailsTabbed.updateModel.Floor = JobService.jobDetailsModel.Floor; JobDetailsTabbed.updateModel.ContactPerson = JobService.jobDetailsModel.ContactPerson; JobDetailsTabbed.updateModel.Phone1 = JobService.jobDetailsModel.Phone1; JobDetailsTabbed.updateModel.Phone2 = JobService.jobDetailsModel.Phone2; JobDetailsTabbed.updateModel.Fax = JobService.jobDetailsModel.Fax; //JobDetailsTabbed.updateModel.Email = JobService.jobDetailsModel.Email; JobDetailsTabbed.updateModel.SiteName = JobService.jobDetailsModel.SiteName; JobDetailsTabbed.updateModel.SiteAddress = JobService.jobDetailsModel.SiteAddress; var ResturnResults = await JobService.UpdateTechJob(JobDetailsTabbed.updateModel); ResturnResults.RetutnPDFFileName = DateTime.Now.Ticks.ToString() + ".pdf"; var assembly = IntrospectionExtensions.GetTypeInfo(typeof(JobDetailedCustomerSign)).Assembly; ////var name = System.IO.Path.GetFileName(path); //Stream stream = assembly.GetManifestResourceStream("TechApp2.insght.json"); Stream Logostream = assembly.GetManifestResourceStream("TechApp2.images.VerserLogo.png"); string text = ""; //using (var reader = new System.IO.StreamReader(stream)) //{ // text = reader.ReadToEnd(); //} // var ResturnResults = JsonConvert.DeserializeObject<JobUpdateReturnDto[]>(text); var customWebView = new CustomWebView() { VerticalOptions = LayoutOptions.FillAndExpand }; string filename1 = ""; var button = new Button { Text = "Open PDF", BackgroundColor = Color.Orange, WidthRequest = 30, HeightRequest = 50, TextColor = Color.White, FontSize = 10, CornerRadius = 10 }; var closeButton = new Button { Text = "Close", BackgroundColor = Color.Orange, WidthRequest = 30, HeightRequest = 50, TextColor = Color.White, FontSize = 10, CornerRadius = 10 }; //var emailButton = new Button { Text = "Email", BackgroundColor = Color.Orange, WidthRequest = 30, HeightRequest = 50, TextColor = Color.White, FontSize = 10, CornerRadius = 10 }; //PdfDocument outputDocument = new PdfDocument(); // Iterate files //foreach (JobUpdateReturnDto dto in ResturnResults) //{ // // Open the document to import pages from it. // PdfDocument inputDocument = PdfReader.Open(new MemoryStream(dto.RetutnPDFFileContent), PdfDocumentOpenMode.Import); // // Iterate pages // int count = inputDocument.PageCount; // for (int idx = 0; idx < count; idx++) // { // // Get the page from the external document... // PdfPage page = inputDocument.Pages[idx]; // // ...and add it to the output document. // outputDocument.AddPage(page); // } //} //filename1 = System.IO.Path.GetTempPath() + "//" + DateTime.Now.Ticks + ".pdf"; //outputDocument.Save(filename1); button.Clicked += (s, es) => { System.IO.File.WriteAllBytes(System.IO.Path.GetTempPath() + "//" + ResturnResults.RetutnPDFFileName, ResturnResults.RetutnPDFFileContent); string str = System.IO.Path.GetTempPath() + "//" + ResturnResults.RetutnPDFFileName; filename1 = str; var exists = File.Exists(str); //var document = new PdfDocument(); string filename = //document.Save(str); customWebView.Path = str; }; closeButton.Clicked += (s, es) => { Application.Current.MainPage = new NavigationPage(new MasterNavigation()); }; if (ResturnResults != null) { if (ResturnResults.IsOperationSuccess) { await DisplayAlert("Info", "Job Update Operation Completed Successfull", "OK"); this.Navigation.PushAsync(new ContentPage { Title = "Open PDF", Content = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, Children = { button, closeButton, //emailButton, customWebView } } }); } } //emailButton.Clicked += async (s, es) => //{ // try // { // var message = new EmailMessage // { // Subject = "Hello", // Body = "World", // }; // var file = filename1; // MailMessage mail = new MailMessage(); // SmtpClient SmtpServer = new SmtpClient("smtp-mail.outlook.com"); // mail.From = new MailAddress("*****@*****.**"); // mail.To.Add(result); // AlternateView htmlView = AlternateView.CreateAlternateViewFromString($"Hi {JobService.jobDetailsModel.ContactPerson}, <br> Automated CAF Signed Job Completion Email With PDF reference Copy .<br><br>Regards<br><br><img src=cid:myImage>", null, "text/html"); // // MemoryStream ms = new MemoryStream(JobService.jobDetailsModel.ProjectLogo); // LinkedResource r = new LinkedResource(Logostream); // r.ContentId = "myImage"; // mail.Subject = JobService.jobDetailsModel.JobNo + "- CAF"; // mail.Body = "This is an automated email.Please do not reply to this. \r\nFor any further queries, please call us on 1200800900.\r\n\r\n\r\nRegards"; // System.Net.Mail.Attachment attachment; // attachment = new System.Net.Mail.Attachment(filename1); // mail.Attachments.Add(attachment); // //end email attachment part // htmlView.LinkedResources.Add(r); // mail.AlternateViews.Add(htmlView); // SmtpServer.Port = 587; // SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "VerserKV19"); // SmtpServer.EnableSsl = true; // ServicePointManager.ServerCertificateValidationCallback = delegate (object sender1, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) // { // return true; // }; // await SmtpServer.SendMailAsync(mail); // DependencyService.Get<IAlertView>().Show("The email has been delivered successfully."); // } // catch (Exception ex) // { // DependencyService.Get<IAlertView>().Show(ex.ToString()); // throw ex; // } //}; }
private async void SaveBtn_Clicked(object sender, EventArgs e) { Stream image = await MainSignaturePad.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Jpeg); }