Advertisement
Guest User

Untitled

a guest
Aug 15th, 2017
486
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.91 KB | None | 0 0
  1. using System;
  2. using Android.App;
  3. using Android.OS;
  4. using Android.Views;
  5. using Android.Widget;
  6. using Android.Content;
  7. using Java.IO;
  8. using Android.Provider;
  9. using System.IO;
  10. using Uri = Android.Net.Uri;
  11. using System.Net;
  12. using System.Net.Mail;
  13.  
  14.  
  15.  
  16. namespace LoginSystem
  17. {
  18. public class OnAutorizacionEventArgs
  19. {
  20. public string mTxtCedula;
  21. public string mTxtFirstName;
  22. public string mTxtEmail;
  23. public string mTxtCelular;
  24. public string mTxtTelefono;
  25.  
  26. public string Cedula
  27.  
  28. {
  29. get { return mTxtCedula; }
  30. set { mTxtCedula = value; }
  31. }
  32. public string Nombre
  33.  
  34. {
  35. get { return mTxtFirstName; }
  36. set { mTxtFirstName = value; }
  37. }
  38.  
  39. public string Email
  40.  
  41. {
  42. get { return mTxtEmail; }
  43. set { mTxtEmail = value; }
  44. }
  45. public string Celular
  46.  
  47. {
  48. get { return mTxtCelular; }
  49. set { mTxtCelular = value; }
  50. }
  51. public string Telefono
  52.  
  53. {
  54. get { return mTxtTelefono; }
  55. set { mTxtTelefono = value; }
  56. }
  57.  
  58.  
  59. public void Dialog_Autorizacion() { }
  60. public void SDialog_Autorizacion(string cedula, string nombre, string email, string telefono, string celular)
  61.  
  62. {
  63. this.Cedula = celular;
  64. this.Nombre = nombre;
  65. this.Email = email;
  66. this.Celular = celular;
  67. this.Telefono = telefono;
  68.  
  69.  
  70. }
  71. public OnAutorizacionEventArgs(string cedula, string nombre, string email, string telefono, string celular)
  72. {
  73. this.Cedula = celular;
  74. this.Nombre = nombre;
  75. this.Email = email;
  76. this.Celular = celular;
  77. this.Telefono = telefono;
  78. }
  79. }
  80. public class Autorizacion : DialogFragment
  81. {
  82. private string MSJTOMARgaleria = "Por favor reucuerda tomar primero la foto de la Autorizacion";
  83. private string MSJTEnvioExitoso = "Tu solicitud Esta En proceso, muy pronto te con";
  84. private string mTxtInstitucion;
  85. private string mTxtCedula;
  86. private string mTxtNombre;
  87. private string mTxtCiudad;
  88. private ImageView imageView;
  89. private Button Adjuntar;
  90. private Button Enviar;
  91. private View textView;
  92. System.String uris;
  93.  
  94.  
  95. public Autorizacion(string mTxtNombre, string mTxtCedula)
  96. {
  97. this.mTxtNombre = mTxtNombre;
  98. this.mTxtCedula = mTxtCedula;
  99.  
  100. }
  101.  
  102. public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  103. {
  104. base.OnCreateView(inflater, container, savedInstanceState);
  105.  
  106. textView = inflater.Inflate(Resource.Layout.Autorizaciones, container, false);
  107. textView.FindViewById<TextView>(Resource.Id.txtAutoNombre).Text = mTxtNombre;
  108. textView.FindViewById<TextView>(Resource.Id.txtAutoCedula).Text = mTxtCedula;
  109. textView.FindViewById<TextView>(Resource.Id.txtNota).Text = MSJTOMARgaleria;
  110.  
  111.  
  112.  
  113.  
  114. imageView = textView.FindViewById<ImageView>(Resource.Id.ImgMostrarFotos);
  115.  
  116. Adjuntar = textView.FindViewById<Button>(Resource.Id.btnCamara);
  117. Enviar = textView.FindViewById<Button>(Resource.Id.btnEnviar);
  118. Enviar.Visibility = ViewStates.Invisible;
  119. imageView.Visibility = ViewStates.Invisible;
  120.  
  121. Adjuntar.Click += delegate
  122. {
  123. var imageIntent = new Intent();
  124. imageIntent.SetType("image/*");
  125. imageIntent.SetAction(Intent.ActionGetContent);
  126. StartActivityForResult(Intent.CreateChooser(imageIntent, "Select photo"), 0);
  127. mTxtInstitucion = textView.FindViewById<EditText>(Resource.Id.txtAutoInstitucion).Text;
  128. mTxtCiudad = textView.FindViewById<EditText>(Resource.Id.txtAutoCiudad).Text;
  129. textView.FindViewById<TextView>(Resource.Id.txtNota).Text = "";
  130.  
  131.  
  132.  
  133. };
  134.  
  135.  
  136. Enviar.Click += delegate
  137. {
  138. try
  139. {
  140. //Configurando el cliente SMTP
  141. SmtpClient client = new SmtpClient();
  142. client.Host = "smtp.gmail.com";
  143. client.Port = 587;
  144. client.EnableSsl = true;
  145. client.DeliveryMethod = SmtpDeliveryMethod.Network;
  146. client.UseDefaultCredentials = false;
  147. client.Credentials = new NetworkCredential("ingsisacontreras@gmail.com", "xxxxxxxxxxxxxx");
  148. //Preparando archivo adjunto
  149. var filePath = System.IO.Path.Combine(uris, "");
  150. var File = new Java.IO.File(filePath);
  151. var path = Uri.FromFile(File);
  152.  
  153. //Enviando correo
  154. MailMessage mail = new MailMessage();
  155. mail.From = new MailAddress("ingsisacontreras@gmail.com");
  156. mail.To.Add(new MailAddress("ingsisacontreras@gmail.com"));
  157. mail.Subject = "Solicitud Autorizacion Medica "+mTxtNombre+ " " + mTxtCedula;
  158. mail.IsBodyHtml = true;
  159. mail.Body = "Hola Solicito por favor autorizar procedimiento, adjunto anexo solicitud Medica especificaciones el nombre de la Institución es "+mTxtInstitucion+
  160. " , ciudad "+mTxtCiudad +" ,Nombre de usuario " +mTxtNombre+" y Cedula "+ mTxtCedula+
  161. " "+"Gracias por su atención"
  162. ;
  163. mail.Attachments.Add(new Attachment(File .Path));
  164. client.Send(mail);
  165. textView.FindViewById<TextView>(Resource.Id.txtNota).Text = MSJTEnvioExitoso;
  166. Enviar.Visibility = ViewStates.Invisible;
  167. imageView.Visibility = ViewStates.Invisible;
  168.  
  169.  
  170.  
  171. }
  172. catch (Exception ex)
  173.  
  174. {
  175. Toast.MakeText(Activity, "Mensaje Fallido" , ToastLength.Short).Show();
  176. }
  177. };
  178.  
  179. return textView;
  180.  
  181. }
  182.  
  183. public override void OnActivityResult(int requestCode, Result resultCode, Intent data)
  184. {
  185. base.OnActivityResult(requestCode, resultCode, data);
  186.  
  187. if (resultCode == Result.Ok)
  188. {
  189. imageView = textView.FindViewById<ImageView>(Resource.Id.ImgMostrarFotos);
  190. imageView.SetImageURI(data.Data);
  191. imageView.Visibility = ViewStates.Visible;
  192. uris = GetPathToImage(data.Data);
  193. Enviar.Visibility = ViewStates.Visible;
  194.  
  195.  
  196. }
  197. }
  198.  
  199. private string GetPathToImage(Uri uri )
  200. {
  201. string doc_id = "";
  202. using (var c1 = Application.Context.ContentResolver.Query(uri, null, null, null, null))
  203. {
  204. c1.MoveToFirst();
  205. System.String document_id = c1.GetString(0);
  206. doc_id = document_id.Substring(document_id.LastIndexOf(":") + 1);
  207. }
  208. string path = null;
  209.  
  210. string selection = MediaStore.Images.Media.InterfaceConsts.Id + " =? ";
  211. using (var cursor = Application.Context.ContentResolver.Query(MediaStore.Images.Media.ExternalContentUri, null, selection, new string[] { doc_id }, null))
  212. {
  213. if (cursor == null) return path;
  214. var columnIndex = cursor.GetColumnIndexOrThrow(MediaStore.Images.Media.InterfaceConsts.Data);
  215. cursor.MoveToFirst();
  216. path = cursor.GetString(columnIndex);
  217. }
  218. return path;
  219. }
  220.  
  221. public override void OnActivityCreated(Bundle savedInstanceState)
  222. {
  223. Dialog.Window.RequestFeature(WindowFeatures.NoTitle);
  224. base.OnActivityCreated(savedInstanceState);
  225. Dialog.Window.Attributes.WindowAnimations = Resource.Style.dialog_animation;
  226.  
  227. }
  228.  
  229. }
  230.  
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement