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; } }