private void BtnSave_Click(object sender, EventArgs e) { SignatureImage = sign_pad.GetImage(); //byte[] b = new byte[(long)f.Length()]; //f.ReadFully(b); //Java.IO.File file; //Toast.MakeText(Activity, "Signature Saved", ToastLength.Short).Show(); //ByteBuffer buffer = ByteBuffer.Allocate(SignatureImage.ByteCount); //SignatureImage.CopyPixelsToBuffer(buffer); //buffer.Rewind(); ////Byte array signature //IntPtr classHandle = JNIEnv.FindClass("java/nio/ByteBuffer"); //IntPtr methodId = JNIEnv.GetMethodID(classHandle, "array", "()[B"); //IntPtr resultHandle = JNIEnv.CallObjectMethod(buffer.Handle, methodId); //byte[] result = JNIEnv.GetArray<byte>(resultHandle); //JNIEnv.DeleteLocalRef(resultHandle); try { int byteSize = SignatureImage.RowBytes * SignatureImage.Height; int bytes = SignatureImage.ByteCount; MemoryStream stream = new MemoryStream(); SignatureImage.Compress(Bitmap.CompressFormat.Png, 0, stream); byte[] bitmapData = stream.ToArray(); bool uploadsign = SQL_Functions.uploadSignature(bitmapData); Toast.MakeText(Activity, "Signature Uploaded", ToastLength.Short).Show(); } catch (Exception ex) { new Android.Support.V7.App.AlertDialog.Builder(Activity).SetTitle("Indigent App Error").SetMessage("Upload failed: " + ex.Message + "\n \nPlease try again later").SetCancelable(true).Show(); } Dismiss(); }
//public override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) //{ // if (requestCode == FILECHOOSER_RESULTCODE) // { // if (null == mUploadMessage) // return; // Java.Lang.Object result = data == null || resultCode != Result.Ok // ? null // : data.Data; // mUploadMessage.OnReceiveValue(result); // mUploadMessage = null; // } //} //public void StartActivity(Intent intent, int requestCode, Action<int, Result, Intent> resultCallback) //{ // _resultCallback = resultCallback; // StartActivityForResult(intent, requestCode); //} private void DbtnUpload_Click(object sender, EventArgs e) { Toast.MakeText(Activity, "Uploading " + filename, ToastLength.Long).Show(); try { var comment = txtComments.Text; // WcfService_Indigent_Final.Service1 indigentWebService = new WcfService_Indigent_Final.Service1(); //indigentWebService.Indigent_uploadFile(0,"", SQL_Functions.RefNumber, filename, filepath, filetype, txtComments.Text,"", spnType.SelectedItem.ToString(), spnName.SelectedItem.ToString()); SQL_Functions.uploadFile(SQL_Functions.RefNumber, filename, filetype, comment, spnType.SelectedItem.ToString()); Toast.MakeText(Activity, "File:" + filename + " uploaded Sucessfully", ToastLength.Long).Show(); btnUploadDialog.Text = "File Uploaded"; btnUploadDialog.Enabled = false; //} } catch (Exception ex) { new AlertDialog.Builder(Activity).SetTitle("Indigent App Error").SetMessage("Upload failed: " + ex.Message + "\n \nPlease try again later").SetCancelable(true).Show(); } }
public override void OnPageFinished(WebView view, string url) { base.OnPageFinished(view, url); if (url.Contains("#")) { fileID = url.ToString().Split('#')[1]; Toast.MakeText(_context, "Downloading File ", ToastLength.Short).Show(); //ThreadPool.QueueUserWorkItem(o => downloadThread()); downloadFile(fileID); //Thread thread = new Thread(downloadThread); // thread.Start(); //downloadThread(); Toast.MakeText(_context, "File downloaded ", ToastLength.Short).Show(); } if (view.Url != MainActivity.uriLOGIN && view.Url != "ABOUT:BLANK") { MainActivity.navview.Visibility = ViewStates.Visible; MainActivity.toolb.Visibility = ViewStates.Visible; MainActivity.drawerLayout.SetDrawerLockMode(DrawerLayout.LockModeUnlocked); //MainActivity._bottomBar.Visibility = ViewStates.Visible; } else { MainActivity.navview.Visibility = ViewStates.Gone; MainActivity.drawerLayout.SetDrawerLockMode(DrawerLayout.LockModeLockedClosed); MainActivity.toolb.Visibility = ViewStates.Gone; // MainActivity._bottomBar.Visibility = ViewStates.Gone; } if (loadError == true) { MainActivity.navview.Visibility = ViewStates.Gone; MainActivity.drawerLayout.SetDrawerLockMode(DrawerLayout.LockModeLockedClosed); // MainActivity._bottomBar.Visibility = ViewStates.Gone; MainActivity.toolb.Visibility = ViewStates.Gone; Snackbar.Make(MainActivity.drawerLayout, "Please Check your internet connection and Retry again...", Snackbar.LengthIndefinite) .SetAction("Retry", (v) => { view.LoadUrl(MainActivity.uriLOGIN); }) .Show(); } if (view.Url.Contains("http://mtraders.co.za/DataCapturers_Mobile/Register_Applicant.aspx?RefNo=") || view.Url.Contains("http://mtraders.co.za/officer_mobile/Register_page_test2.aspx?RefNo=")) { count++; MainActivity.btnUpload.Visibility = ViewStates.Visible; MainActivity.btnDigitalSignature.Visibility = ViewStates.Visible; Uri myUri = new Uri(view.Url, UriKind.RelativeOrAbsolute); var query = System.Web.HttpUtility.ParseQueryString(myUri.Query); SQL_Functions.RefNumber = query.Get("RefNo"); if (count == 1) { progress.SetMessage("Initialising Database Connection"); bool databaseConnection = SQL_Functions.intialiseApplicant(); bool initialiseOccupants = SQL_Functions.intialiseOccupant(); if (databaseConnection == true && initialiseOccupants == true) { Toast.MakeText(_context, "Applicants/Occupants Initialized", ToastLength.Long).Show(); } else { Toast.MakeText(_context, "Error Occured during database Connection", ToastLength.Long).Show(); } } } else { count = 0; MainActivity.btnUpload.Visibility = ViewStates.Gone; MainActivity.btnDigitalSignature.Visibility = ViewStates.Gone; } progress.Dismiss(); }
public bool downloadFile(string fileid) { fileByte = null; var filename = ""; System.Net.ServicePointManager.Expect100Continue = false; string con_string = SQL_Functions.GetConnectionstring(); using (SqlConnection conn = new SqlConnection()) { SqlDataReader datareader; conn.ConnectionString = con_string; SqlCommand command = new SqlCommand("SELECT Name, Data FROM Files WHERE id ='" + fileid.ToString() + "';"); command.Connection = conn; conn.Open(); command.ExecuteNonQuery(); datareader = command.ExecuteReader(CommandBehavior.CloseConnection); if (datareader.HasRows) { while (datareader.Read()) { filename = datareader["Name"].ToString(); fileByte = (byte[])datareader["Data"]; } } conn.Close(); } var downloadLoc = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads) + "'\'" + filename; Java.IO.File outputFile = new Java.IO.File(downloadLoc); try { if (outputFile.Exists()) { outputFile.CreateNewFile(); } FileOutputStream outputStream = new FileOutputStream(outputFile); outputStream.Write(fileByte); //write the bytes and im done. var localImage = new Java.IO.File(downloadLoc); if (localImage.Exists()) { global::Android.Net.Uri uri = global::Android.Net.Uri.FromFile(localImage); var intent = new Intent(Intent.ActionView, uri); intent.SetAction(Intent.ActionView); // intent.SetType ("application/pdf"); try { intent.SetData(global::Android.Net.Uri.FromFile(localImage)); intent.AddFlags(ActivityFlags.NewTask); Android.App.Application.Context.StartActivity(intent); } catch (Exception e) { var msg = e.Message; Toast.MakeText(_context, "Please open the file from the root : " + downloadLoc, ToastLength.Long).Show(); } } } catch (Exception ex) { new AlertDialog.Builder(_context).SetTitle("Indigent App Error").SetMessage("Upload failed: " + ex.Message + "\n \nPlease try again later").SetCancelable(true).Show(); } return(true); }