async void bk_DoWorkE() { ej = await EjecucionMemoria.Finalizar(ExecGlobal, ApplicationContext); if (ej == 1) { //quitar de memoria Ejecucion EjecucionMemoria.QuitarMemoriaEjecucion(ExecGlobal.ODTID); EjecucionMemoria.QuitarMemoriaGlobal(ExecGlobal.ODTID); //quitar de memoria global _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La orden de trabajo se finalizó correctamente", ToastLength.Long).Show(); _progressDialog.Show(); CargarInformacion(); } else { _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La orden de trabajo no se finalizo", ToastLength.Long).Show(); return; } }
async void bk_DoWorkC() { ca = await EjecucionMemoria.Cancelar(CancGlobal, ApplicationContext); if (ca == 1) { //quitar de memoria cancelacion EjecucionMemoria.QuitarMemoriaGlobal(CancGlobal.ODTID); EjecucionMemoria.QuitarMemoriaCancelacion(CancGlobal.ODTID); //quitar de memoria global if (ArrayODT != null && ArrayODT.Length > 0) { var i = ArrayODT.ToList().FindIndex(x => x.ID == CancGlobal.ODTID); if (i != -1) { ArrayODT.ToList().RemoveAt(i); await Load(); } } _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La orden de trabajo se canceló correctamente", ToastLength.Long).Show(); _progressDialog.Show(); CargarInformacion(); } else { _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La orden de trabajo no se finalizo", ToastLength.Long).Show(); return; } }
async void bk_DoWorkP() { po = await EjecucionMemoria.Posponer(PospGlobal, ApplicationContext); if (po == 1) { //quitar de memoria posponer EjecucionMemoria.QuitarMemoriaPosponer(PospGlobal.ODTID); EjecucionMemoria.QuitarMemoriaGlobal(PospGlobal.ODTID); //quitar de memoria global //quitar de memoria global if (ArrayODT != null && ArrayODT.Length > 0) { var i = ArrayODT.ToList().FindIndex(x => x.ID == PospGlobal.ODTID); if (i != -1) { ArrayODT.ToList().RemoveAt(i); await Load(); } } _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La ODT se pospuso correctamente", ToastLength.Long).Show(); _progressDialog.Show(); CargarInformacion(); } else { _progressDialog.Hide(); Toast.MakeText(ApplicationContext, "La orden de trabajo no se finalizo", ToastLength.Long).Show(); return; } }
private async Task CargarMemoria() { try{ DTOODTCustom[] ArrayODTMem = Utils.Memoria; LinearLayout linearPadre = FindViewById <LinearLayout>(Resource.Id.Layout_OrdenTrabajo); linearPadre.RemoveAllViews(); foreach (DTOODTCustom ODTDet in ArrayODTMem) { LinearLayout LY = new LinearLayout(this); LY.Id = ODTDet.ID; LY.Orientation = Android.Widget.Orientation.Vertical; LY.SetGravity(GravityFlags.Center); TextView tvTitulo = new TextView(this); tvTitulo.Text = ODTDet.Folio + " - " + ODTDet.NumeroVista; tvTitulo.SetBackgroundResource(Resource.Drawable.ListViewOrden_Trabajo); tvTitulo.Gravity = Android.Views.GravityFlags.Center; switch (ODTDet.EstatusID) { case 113: //programada--blanco tvTitulo.SetTextColor(Color.ParseColor(color[0])); break; case 114: //Ejecutada-Verde tvTitulo.SetTextColor(Color.ParseColor(color[3])); break; case 115: //Ejecutada-Verde tvTitulo.SetTextColor(Color.ParseColor(color[4])); break; case 116: //Ejecutada-Verde tvTitulo.SetTextColor(Color.ParseColor(color[3])); break; case 117: //Cancelada --Rojo tvTitulo.SetTextColor(Color.ParseColor(color [2])); break; } if (ODTDet.EsPospuesta == true && ODTDet.EstatusID == 113) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); } tvTitulo.Click += delegate { //primero preguntar si hay internet //despues buscar la odt si se encuentra en memoria de ejecucion, cancelacion, pospuesta. //al dar click que se haga el envio de la odt. if (Utils.Internet(ApplicationContext)) //Hay internet { if (ODTDet.EstatusID == 113 && ODTDet.EsPospuesta == false) { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); string alan = ODTDet.ToString(); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); } else if (ODTDet.EstatusID == 113 && ODTDet.EsPospuesta == true) { DTOODTPospuesta pos = EjecucionMemoria.FindPospuesta(ODTDet); if (pos != null) { BKPospones(pos); } else { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); string alan = ODTDet.ToString(); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); } } else if (ODTDet.EstatusID == 114) { DTOODTEjecucion Exec = EjecucionMemoria.FindEjecucion(ODTDet); if (Exec != null) { BKEjecucion(Exec); } else { Toast.MakeText(this, "No cuentas con internet para el envio de ODT, solo se pueden modificar ODT programadas", ToastLength.Long).Show(); return; } } else if (ODTDet.EstatusID == 117) { DTOODTCancelacion can = EjecucionMemoria.FindCancelacion(ODTDet); if (can != null) { BKCancelacion(can); } else { Toast.MakeText(this, "No cuentas con internet para el envio de ODT, solo se pueden modificar ODT programadas", ToastLength.Long).Show(); return; } } } else //No hay internet { if (ODTDet.EstatusID == 113 || (ODTDet.EstatusID == 113 && ODTDet.EsPospuesta == true)) { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); string alan = ODTDet.ToString(); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); } else { Toast.MakeText(this, "No cuentas con internet para el envio de ODT, solo se pueden modificar ODT programadas", ToastLength.Long).Show(); return; } } }; tvTitulo.Clickable = true; LY.AddView(tvTitulo, 410, 70); linearPadre.AddView(LY, 410, 80); } }catch (Exception ex) { throw ex; } }
async Task Load() { try{ LinearLayout linearPadre = FindViewById <LinearLayout> (Resource.Id.Layout_OrdenTrabajo); linearPadre.RemoveAllViews(); LinkedList <DTOODTCustom> ListaODT = new LinkedList <DTOODTCustom> (); foreach (DTOODTCustom ODTDet in ArrayODT) { DTOODTCustom Find = Utils.FindODT(ODTDet); LinearLayout LY = new LinearLayout(this); LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); linearLayoutParams.SetMargins(0, 0, 0, 0); LY.LayoutParameters = linearLayoutParams; LY.Id = ODTDet.ID; LY.Orientation = Android.Widget.Orientation.Vertical; LY.SetGravity(GravityFlags.Center); TextView tvTitulo = new TextView(this); tvTitulo.Text = ODTDet.Folio + " - " + ODTDet.NumeroVista; tvTitulo.SetBackgroundResource(Resource.Drawable.ListViewOrden_Trabajo); tvTitulo.Gravity = Android.Views.GravityFlags.Center; if (Find == null) { if (ODTDet.EsPospuesta == true) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); } else { tvTitulo.SetTextColor(Color.ParseColor(color [0])); } tvTitulo.Click += delegate { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); }; ListaODT.AddLast(ODTDet); } else { if (Find.EstatusID == 114) { DTOODTEjecucion Exec = EjecucionMemoria.FindEjecucion(Find); if (Exec != null) { tvTitulo.SetTextColor(Color.ParseColor(color [3])); tvTitulo.Click += delegate { BKEjecucion(Exec); }; ListaODT.AddLast(Find); } else { if (ODTDet.EsPospuesta == true) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); } else { tvTitulo.SetTextColor(Color.ParseColor(color [0])); } tvTitulo.Click += delegate { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); }; ListaODT.AddLast(ODTDet); } } else if (Find.EstatusID == 113) { DTOODTPospuesta pos = EjecucionMemoria.FindPospuesta(Find); if (pos != null) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); tvTitulo.Click += delegate { BKPospones(pos); }; ListaODT.AddLast(Find); } else { if (ODTDet.EsPospuesta == true) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); } else { tvTitulo.SetTextColor(Color.ParseColor(color [0])); } tvTitulo.Click += delegate { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); }; ListaODT.AddLast(ODTDet); } } else if (Find.EstatusID == 117) { DTOODTCancelacion can = EjecucionMemoria.FindCancelacion(Find); if (can != null) { tvTitulo.SetTextColor(Color.ParseColor(color [2])); tvTitulo.Click += delegate { BKCancelacion(can); }; ListaODT.AddLast(Find); } else { if (ODTDet.EsPospuesta == true) { tvTitulo.SetTextColor(Color.ParseColor(color [1])); } else { tvTitulo.SetTextColor(Color.ParseColor(color [0])); } tvTitulo.Click += delegate { var activityMain = new Intent(this, typeof(Orden_De_Trabajo)); activityMain.PutExtra("ODT", Utils.Serialize(typeof(DTOODTCustom), ODTDet)); StartActivityForResult(activityMain, 1); }; ListaODT.AddLast(ODTDet); } } } tvTitulo.Clickable = true; LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); p.SetMargins(10, 0, 15, 20); tvTitulo.LayoutParameters = p; LY.AddView(tvTitulo); linearPadre.AddView(LY); } Utils.Memoria = ListaODT.ToArray <DTOODTCustom>(); }catch (Exception ex) { throw ex; } }
public static async Task EjecutarMemoria(Context ApplicationContext) { try { List <DTOODTEjecucion> ejecucion = Utils.MemoriaEjecucion; List <DTOODTCancelacion> cancelacion = Utils.MemoriaCancelacion; List <DTOODTPospuesta> pospone = Utils.MemoriaPosponer; OperationClient WS = null; if (ejecucion != null) { List <DTOODTEjecucion> NoExec = new List <DTOODTEjecucion> (); int CountExec = 0; foreach (DTOODTEjecucion insert in ejecucion) { try { int detalle = await Utils.CargarFoto(insert.ODTID.ToString(), insert.CortaFoto.Foto, ApplicationContext, insert.CortaFoto.FechaCreacion.Day.ToString() + "/" + insert.CortaFoto.FechaCreacion.Month.ToString() + "/" + insert.CortaFoto.FechaCreacion.Year.ToString()); int mediana = await Utils.CargarFoto(insert.ODTID.ToString(), insert.MediaFoto.Foto, ApplicationContext, insert.MediaFoto.FechaCreacion.Day.ToString() + "/" + insert.MediaFoto.FechaCreacion.Month.ToString() + "/" + insert.MediaFoto.FechaCreacion.Year.ToString()); int larga = await Utils.CargarFoto(insert.ODTID.ToString(), insert.LargaFoto.Foto, ApplicationContext, insert.LargaFoto.FechaCreacion.Day.ToString() + "/" + insert.LargaFoto.FechaCreacion.Month.ToString() + "/" + insert.LargaFoto.FechaCreacion.Year.ToString()); if (detalle != 0 && mediana != 0 && larga != 0) { insert.CortaFotoID = detalle; insert.MediaFotoID = mediana; insert.LargaFotoID = larga; insert.CortaFoto.Foto = null; insert.MediaFoto.Foto = null; insert.LargaFoto.Foto = null; WS = Utils.InitializeServiceClient(); OperationStatus Request = WS.InsertODTEjecucion(insert); if (Request != null && Request.IsComplete) { EjecucionMemoria.QuitarMemoriaGlobal(insert.ODTID); EjecucionMemoria.QuitarMemoriaEjecucion(insert.ODTID); } else { NoExec.Add(ejecucion [CountExec]); } } else { NoExec.Add(ejecucion [CountExec]); } } catch (Exception exc) { NoExec.Add(ejecucion [CountExec]); } finally { if (WS != null) { WS.Close(); } } CountExec++; } Utils.MemoriaEjecucion = NoExec; } if (cancelacion != null) { List <DTOODTCancelacion> NoCanc = new List <DTOODTCancelacion> (); int CountCanc = 0; foreach (DTOODTCancelacion insert in cancelacion) { try { int detalle = await Utils.CargarFoto(insert.ODTID.ToString(), insert.Foto.Foto, ApplicationContext, insert.Foto.FechaCreacion.Day.ToString() + "/" + insert.Foto.FechaCreacion.Month.ToString() + "/" + insert.Foto.FechaCreacion.Year.ToString()); if (detalle != 0) { insert.FotoID = detalle; insert.Foto.Foto = null; WS = Utils.InitializeServiceClient(); OperationStatus Request = WS.CancelODT(insert); if (Request != null && Request.IsComplete) { EjecucionMemoria.QuitarMemoriaGlobal(insert.ODTID); EjecucionMemoria.QuitarMemoriaCancelacion(insert.ODTID); } else { NoCanc.Add(cancelacion [CountCanc]); } } else { NoCanc.Add(cancelacion [CountCanc]); } } catch (Exception exc) { NoCanc.Add(cancelacion [CountCanc]); } finally { if (WS != null) { WS.Close(); } } CountCanc++; } Utils.MemoriaCancelacion = NoCanc; } if (pospone != null) { List <DTOODTPospuesta> NoPosp = new List <DTOODTPospuesta> (); int CountPosp = 0; foreach (DTOODTPospuesta insert in pospone) { try { int detalle = await Utils.CargarFoto(insert.ODTID.ToString(), insert.Foto.Foto, ApplicationContext, insert.Foto.FechaCreacion.Day.ToString() + "/" + insert.Foto.FechaCreacion.Month.ToString() + "/" + insert.Foto.FechaCreacion.Year.ToString()); if (detalle != 0) { insert.FotoID = detalle; insert.Foto.Foto = null; WS = Utils.InitializeServiceClient(); OperationStatus Request = WS.PostponeODT(insert); if (Request != null && Request.IsComplete) { EjecucionMemoria.QuitarMemoriaGlobal(insert.ODTID); EjecucionMemoria.QuitarMemoriaPosponer(insert.ODTID); } else { NoPosp.Add(pospone [CountPosp]); } } else { NoPosp.Add(pospone [CountPosp]); } } catch (Exception exc) { NoPosp.Add(pospone[CountPosp]); } finally { if (WS != null) { WS.Close(); } } CountPosp++; } Utils.MemoriaPosponer = NoPosp; } }catch (Exception ex) { throw ex; } }