public static async Task <int> Cancelar(DTOODTCancelacion insert, Context ApplicationContext)
        {
            int             regreso = 0;
            OperationClient WS      = null;

            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.IsComplete)
                    {
                        regreso = 1;
                    }
                }
            } catch (Exception exc)
            {
                regreso = 0;
            }
            finally {
                if (WS != null)
                {
                    WS.Close();
                }
            }
            return(regreso);
        }
Ejemplo n.º 2
0
 private void BKCancelacion(DTOODTCancelacion OC)
 {
     if (Utils.Internet(ApplicationContext))
     {
         _progressDialog.Show();
         CancGlobal = OC;
         bk_DoWorkC();
     }
     else
     {
         Toast.MakeText(ApplicationContext, "No tienes acceso a internet para enviar la ODT.", ToastLength.Long).Show();
     }
 }
        public static DTOODTCancelacion FindCancelacion(DTOODTCustom odt)
        {
            DTOODTCancelacion        RetExec     = null;
            List <DTOODTCancelacion> cancelacion = Utils.MemoriaCancelacion;

            if (cancelacion != null)
            {
                foreach (DTOODTCancelacion ex in cancelacion)
                {
                    if (ex.ODTID == odt.ID)
                    {
                        RetExec = ex;
                    }
                }
            }

            return(RetExec);
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
        void bk_DoWork(object sender, DoWorkEventArgs e)
        {
            if (Utils.Internet(ApplicationContext))
            {
                DTOODTCancelacion insert = new DTOODTCancelacion();
                OperationClient   WS     = null;

                try
                {
                    insert.ODTID         = ODTDet.ID;
                    insert.CuadrilleroID = Convert.ToInt32(iduser);
                    insert.MotivoODTID   = ReasonId;
                    insert.Observaciones = comentarios;
                    if (LoadFoto)
                    {
                        insert.FotoID = idevidencia;
                        DTOFoto Evidencia = new DTOFoto();
                        Evidencia.Nombre        = lblInfoFoto.Text;
                        Evidencia.FechaCreacion = datetime;
                        insert.Foto             = Evidencia;
                        Request = null;
                        WS      = Utils.InitializeServiceClient();
                        Request = WS.CancelODT(insert);
                    }
                    else
                    {
                        Request.IsComplete = true;
                        memoria            = true;
                        DTOFoto Evidencia = new DTOFoto();
                        Evidencia.Nombre        = lblInfoFoto.Text;
                        Evidencia.FechaCreacion = datetime;
                        Evidencia.Foto          = bitmapDetalle;
                        insert.Foto             = Evidencia;

                        if (ODTDet.EsPospuesta)
                        {
                            Utils.BorrarMemoriaPospuesta(ODTDet);
                            ODTDet.EsPospuesta = false;
                        }
                        List <DTOODTCancelacion> MemCan = Utils.MemoriaCancelacion;

                        if (MemCan != null)
                        {
                            MemCan.Add(insert);
                            Utils.MemoriaCancelacion = MemCan;
                        }
                        else
                        {
                            List <DTOODTCancelacion> Mem = new List <DTOODTCancelacion>();
                            Mem.Add(insert);
                            Utils.MemoriaCancelacion = Mem;
                        }

                        List <Fotos> MemFotos = null;
                        try{
                            MemFotos = Utils.FotosMemoria;
                        }
                        catch (Exception exc)
                        {
                            throw exc;
                        }

                        if (MemFotos != null)
                        {
                            Fotos f = new Fotos();
                            f.IdODT = ODTDet.ID.ToString();
                            f.Url   = imageurl;
                            MemFotos.Add(f);

                            Utils.FotosMemoria = MemFotos;
                        }
                        else
                        {
                            List <Fotos> Mem = new List <Fotos>();
                            Fotos        f   = new Fotos();
                            f.IdODT = ODTDet.ID.ToString();
                            f.Url   = imageurl;
                            Mem.Add(f);
                            Utils.FotosMemoria = Mem;
                        }
                    }
                }
                catch (Exception exc)
                {
                    Error = "ODT:" + insert.ODTID.ToString() + "Error:" + exc.Message;
                }
                finally {
                    if (WS != null)
                    {
                        WS.Close();
                    }
                }
            }
            else
            {
                memoria = true;
                DTOODTCancelacion insert = new DTOODTCancelacion();
                Request.IsComplete   = true;
                insert.ODTID         = ODTDet.ID;
                insert.CuadrilleroID = Convert.ToInt32(iduser);
                insert.MotivoODTID   = ReasonId;
                insert.Observaciones = comentarios;
                DTOFoto Evidencia = new DTOFoto();
                Evidencia.Foto          = bitmapDetalle;
                Evidencia.FechaCreacion = datetime;
                insert.Foto             = Evidencia;
                if (ODTDet.EsPospuesta)
                {
                    Utils.BorrarMemoriaPospuesta(ODTDet);
                    ODTDet.EsPospuesta = false;
                }
                List <DTOODTCancelacion> MemCan = Utils.MemoriaCancelacion;

                if (MemCan != null)
                {
                    MemCan.Add(insert);
                    Utils.MemoriaCancelacion = MemCan;
                }
                else
                {
                    List <DTOODTCancelacion> Mem = new List <DTOODTCancelacion>();
                    Mem.Add(insert);
                    Utils.MemoriaCancelacion = Mem;
                }

                List <Fotos> MemFotos = null;

                try{
                    MemFotos = Utils.FotosMemoria;
                }
                catch (Exception exc)
                {
                    throw exc;
                }

                if (MemFotos != null)
                {
                    Fotos f = new Fotos();
                    f.IdODT = ODTDet.ID.ToString();
                    f.Url   = imageurl;
                    MemFotos.Add(f);

                    Utils.FotosMemoria = MemFotos;
                }
                else
                {
                    List <Fotos> Mem = new List <Fotos>();
                    Fotos        f   = new Fotos();
                    f.IdODT = ODTDet.ID.ToString();
                    f.Url   = imageurl;
                    Mem.Add(f);
                    Utils.FotosMemoria = Mem;
                }
            }
        }