/// <summary>
        /// Obtiene Activos Fijos por filtro
        /// </summary>
        /// <param name="pActivosFijos">Entidad Activos Fijos</param>
        /// <returns>Retorna lista tipo ActivosFijos</returns>
        public List <ActivosFijos> GetActivosFijos(ActivosFijos pActivosFijos)
        {
            try
            {
                List <ActivosFijos> vActivosFijos;

                var vPredicado = PredicateBuilder.New <ActivosFijos>();

                if (pActivosFijos.Tipo != null)
                {
                    vPredicado.Or(x => x.Tipo.Contains(pActivosFijos.Tipo));
                }
                if (pActivosFijos.Serial != null)
                {
                    vPredicado.Or(x => x.Serial.Contains(pActivosFijos.Serial));
                }
                if (!string.IsNullOrEmpty(pActivosFijos.FechaCompra))
                {
                    vPredicado.Or(x => x.FechaCompra == pActivosFijos.FechaCompra);
                }


                using (var db = new ActivosFijosContext())
                {
                    vActivosFijos = db.ActivosFijos.Where(vPredicado).ToList();
                }
                return(vActivosFijos);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
 /// <summary>
 /// Edita Activos Fijos
 /// </summary>
 /// <param name="pActivosFijos">Entidad Activos Fijos</param>
 /// <returns>true o false según el resultado</returns>
 public bool EditActivosFijos(ActivosFijos pActivosFijos)
 {
     try
     {
         using (var db = new ActivosFijosContext())
         {
             var query = db.ActivosFijos.Where(x => x.id_ActivosFijos == pActivosFijos.id_ActivosFijos).FirstOrDefault();
             query.Nombre        = pActivosFijos.Nombre == null ? query.Nombre : pActivosFijos.Nombre;
             query.Descripcion   = pActivosFijos.Descripcion == null ? query.Descripcion : pActivosFijos.Descripcion;
             query.Tipo          = pActivosFijos.Tipo == null ? query.Tipo : pActivosFijos.Tipo;
             query.Serial        = pActivosFijos.Serial == null ? query.Serial : pActivosFijos.Serial;
             query.NumeroInterno = pActivosFijos.NumeroInterno == null ? query.NumeroInterno : pActivosFijos.NumeroInterno;
             query.Peso          = pActivosFijos.Peso;
             query.Alto          = pActivosFijos.Alto;
             query.Ancho         = pActivosFijos.Ancho;
             query.Largo         = pActivosFijos.Largo;
             query.ValorCompra   = pActivosFijos.ValorCompra;
             query.FechaCompra   = pActivosFijos.FechaCompra == null ? query.FechaCompra : pActivosFijos.FechaCompra;
             query.FechaBaja     = pActivosFijos.FechaBaja == null ? query.FechaBaja : pActivosFijos.FechaBaja;
             query.AreaPersona   = pActivosFijos.AreaPersona == null? query.AreaPersona:db.AreaPersona.Where(x => x.Id_AreaPersona == pActivosFijos.AreaPersona.Id_AreaPersona).FirstOrDefault();
             query.EstadoActual  = pActivosFijos.EstadoActual == null ? query.EstadoActual : db.EstadoActual.Where(x => x.Id_EstadoActual == pActivosFijos.EstadoActual.Id_EstadoActual).FirstOrDefault();
             db.SaveChanges();
         }
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
        public async Task <ActionResult <ActivosFijos> > PostActivosFijos(ActivosFijos activosFijos)
        {
            _context.ActivosFijos.Add(activosFijos);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetActivosFijos", new { id = activosFijos.Id }, activosFijos));
        }
        public void GetAllActivosFijos()
        {
            ActivosFijosController controller = new ActivosFijosController(new ActivosFijosBL());

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();
            ActivosFijos vAf = new ActivosFijos()
            {
                Alto        = 3,
                Ancho       = 3,
                AreaPersona = new AreaPersona()
                {
                    Id_AreaPersona = 1
                },
                EstadoActual = new EstadoActual()
                {
                    Id_EstadoActual = 1
                },
                Descripcion   = "Descripcion",
                FechaBaja     = "2017-01-02 00:00:00",
                FechaCompra   = "2017-01-02 00:00:00",
                Largo         = 3,
                Nombre        = "nombre test",
                NumeroInterno = "numero interno",
                Peso          = 10,
                Serial        = "Serial",
                Tipo          = "1232132",
                ValorCompra   = decimal.Parse("456445")
            };
            var result = controller.GetAllActivosFijos();

            Assert.IsNotNull(result);
            Assert.IsTrue(result.IsSuccessStatusCode);
        }
Exemple #5
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Descripcion,IdDepartamento,IdTipoActivo,FechaRegistro,ValorCompra,DepreciacionPorAnno,AnnosDeDepreciacion,IdEstado")] ActivosFijos activosFijos)
        {
            if (id != activosFijos.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(activosFijos);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ActivosFijosExists(activosFijos.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdDepartamento"] = new SelectList(_context.Departamento, "Id", "Descripcion", activosFijos.IdDepartamento);
            ViewData["IdEstado"]       = new SelectList(_context.Estado, "Id", "Descripcion", activosFijos.IdEstado);
            ViewData["IdTipoActivo"]   = new SelectList(_context.TipoActivo, "Id", "Descripcion", activosFijos.IdTipoActivo);
            return(View(activosFijos));
        }
        public async Task <IActionResult> PutActivosFijos(int id, ActivosFijos activosFijos)
        {
            if (id != activosFijos.Id)
            {
                return(BadRequest());
            }

            _context.Entry(activosFijos).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ActivosFijosExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #7
0
        public async Task <IActionResult> Create([Bind("Id,Descripcion,IdDepartamento,IdTipoActivo,ValorCompra,DepreciacionPorAnno,AnnosDeDepreciacion,IdEstado")] ActivosFijos activosFijos)
        {
            if (ModelState.IsValid)
            {
                activosFijos.FechaRegistro = DateTime.Now;
                _context.Add(activosFijos);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdDepartamento"] = new SelectList(_context.Departamento, "Id", "Descripcion", activosFijos.IdDepartamento);
            ViewData["IdEstado"]       = new SelectList(_context.Estado, "Id", "Descripcion", activosFijos.IdEstado);
            ViewData["IdTipoActivo"]   = new SelectList(_context.TipoActivo, "Id", "Descripcion", activosFijos.IdTipoActivo);
            return(View(activosFijos));
        }
 /// <summary>
 /// Borra Activos Fijos
 /// </summary>
 /// <param name="pActivosFijos">Entidad Activos Fijos</param>
 /// <returns>true o false según el resultado</returns>
 public bool DeleteActivosFijos(ActivosFijos pActivosFijos)
 {
     try
     {
         using (var db = new ActivosFijosContext())
         {
             db.ActivosFijos.Remove(pActivosFijos);
             db.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
        /// <summary>
        /// Agrega activos fijos
        /// </summary>

        public bool AddActivosFijos(ActivosFijos pActivosFijos)
        {
            try
            {
                using (var db = new ActivosFijosContext())
                {
                    //var estadoActual = db.EstadoActual.FirstOrDefault(x => x.Id_EstadoActual == pActivosFijos.Id_EstadoActual);
                    //var areaPersona= db.AreaPersona.FirstOrDefault(x => x.Id_AreaPersona== pActivosFijos.Id_AreaPersona);
                    //pActivosFijos.AreaPersona = areaPersona;
                    //pActivosFijos.EstadoActual = estadoActual;
                    db.ActivosFijos.Add(pActivosFijos);
                    db.SaveChanges();
                }
                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
 public HttpResponseMessage GetActivosFijos(ActivosFijos pActivosFijos)
 {
     try
     {
         var r = ActivosFijosBL.GetActivosFijos(pActivosFijos);
         if (r.Any())
         {
             return(Request.CreateResponse(HttpStatusCode.OK, r));
         }
         else
         {
             var message = string.Format("No se retornaron datos");
             return(Request.CreateErrorResponse(HttpStatusCode.NotFound, message));
         }
     }
     catch (Exception)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError,
                                            "Se genero un error en el servidor"));
     }
 }
 public HttpResponseMessage DeleteActivosFijos(ActivosFijos pActivosFijos)
 {
     try
     {
         var r = ActivosFijosBL.DeleteActivosFijos(pActivosFijos);
         if (r)
         {
             return(Request.CreateResponse(HttpStatusCode.OK, true));
         }
         else
         {
             var message =
                 string.Format("Se genero un error puede que no se ingresaron todos los datos del formulario");
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message));
         }
     }
     catch (Exception)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError,
                                            "Se genero un error en el servidor"));
     }
 }
Exemple #12
0
        public MainCapturaDeActivosViewModel()
        {
            #region Llenado de Listas

            //Llenado de La lista de Empresas
            ListaDeEmpresas = new List <Companias>();
            ListaDeActivos  = new List <ActivosFijos>();
            Descripcion     = new ObservableCollection <string>();
            var db     = new SQLiteConnection(Preferences.Get("DB_PATH", ""));
            var querry = "SELECT * FROM Companias";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Companias>(querry);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDeEmpresas.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            if (ListaDeEmpresas.Count > 0)
            {
                tagsPrefijo = ListaDeEmpresas.First().PrefijoRFID;
            }
            //Terminamos el Llenado de La lista de Empresas

            //Llenado de la Lista de Edificios
            ListaDeEdificios = new List <Localidades>();
            var querryEdificios = "SELECT * FROM Localidades";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Localidades>(querryEdificios);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDeEdificios.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de La lista de Edificios

            //Llenado de la Lista de pisos
            ListaPisos = new List <Areas>();
            var querryPisos = "SELECT * FROM Areas";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Areas>(querryPisos);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaPisos.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de La lista de pisos

            //Llenado de la Lista de Centro de costos
            ListaCentroCostos = new List <Departamentos>();
            var querryCentroCosto = "SELECT * FROM Departamentos";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Departamentos>(querryCentroCosto);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaCentroCostos.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de La lista de Centro de costos

            //Llenado de la Lista de Oficinas
            ListaDeOficinas = new List <Oficinas>();
            var querryOficinas = "SELECT * FROM Oficinas";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Oficinas>(querryOficinas);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDeOficinas.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de la lista de Oficinas

            //Llenado de la Lista de Descripciones
            ListaDescripcionesActivos = new List <DescripcionesActivos>();
            var querryDescripciones = "SELECT * FROM DescripcionesActivos";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <DescripcionesActivos>(querryDescripciones);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDescripcionesActivos.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de la lista de descripciones

            //Llenado de la Lista de MarcaModelos
            ListaMarcaModelos = new List <Marcas_Modelos>();
            var querryMarca = "SELECT * FROM Marcas_Modelos";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Marcas_Modelos>(querryMarca);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaMarcaModelos.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el Llenado de la Lista de MarcaModelos

            //Llenado de la lista de EMpleados
            ListaDeEmpleados = new List <Empleados>();
            var querryEmpleado = "SELECT * FROM Empleados";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <Empleados>(querryEmpleado);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDeEmpleados.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el llenado de la lista de empleados

            //Llenado de Lista de clases
            ListaDeClases = new List <ClasesActivos>();
            var querryClases = "SELECT * FROM ClasesActivos";
            try
            {
                //Ejecutamos el query.
                var registro = db.Query <ClasesActivos>(querryClases);

                if (registro.First().Descripcion == null)
                {
                    //No hacer nada por ahora
                }
                else
                {
                    for (int i = 0; i < registro.Count; i++)
                    {
                        ListaDeClases.Add(registro[i]);
                    }
                }
            }
            catch
            {
            }
            //Terminamos el llenado de la lista de clases

            #endregion

            #region Metodos Parametros

            ListaDescripcion = new ObservableCollection <string>();


            //Insertar Descripciones
            ListaDescripcion.Add("Empresa");
            ListaDescripcion.Add("Edificio");
            ListaDescripcion.Add("Piso");
            ListaDescripcion.Add("Centro de Costo");
            ListaDescripcion.Add("Oficina");
            ListaDescripcion.Add("Descripción");
            ListaDescripcion.Add("Marca/Modelo");
            ListaDescripcion.Add("Empleado");

            //Insertar ubicaciones
            foreach (var element in ListaDeEmpresas)
            {
                Descripcion.Add(element.Descripcion);
            }
            Habilitar = false;
            //Referencias
            data      = Descripcion.ToList();
            decrpData = Descripcion;

            BtnUbicacion = new Command(async() =>
            {
                await App.Current.MainPage.Navigation.PushAsync(new DondeEstoyPage());
            });
            BtnAgregar = new Command(async() =>
            {
                if (ListaActual == 5)
                {
                    await App.Current.MainPage.Navigation.PushModalAsync(new AgregarDescripcionPage());
                }
                else
                {
                    await PopupNavigation.Instance.PushAsync(new AgregarMarcaModeloPage());
                }
            });

            AnteriorBtn = new Command(async() =>
            {
                ListaActual--;
                ListaDe = ListaDescripcion[ListaActual];
            });

            #endregion

            #region Metodos Entrada

            #region Metodos

            MainActivity.mRfidManager.SetScanMode(ScanMode.Single);
            LinkCentroCosto   = string.IsNullOrEmpty(CentroCosto) ? "Seleccionar Centro de Costos" : _CentroCosto;
            tappedCentroCosto = new Command(async() =>
            {
                MessagingCenter.Send <MainCapturaDeActivosViewModel, string>(this, "Code", "Change");
                Descripcion.Clear();
                data.Clear();
                foreach (var i in ListaCentroCostos.Where(x => x.Parent == ListaCentroCostos.Where(p => ListaCentroCostos.Any(l => p.Descripcion == l.Descripcion)).First().Parent))
                {
                    data.Add(i.Descripcion);
                }
                foreach (var i in data)
                {
                    Descripcion.Add(i);
                }
                data        = Descripcion.ToList();
                decrpData   = Descripcion;
                ListaActual = 3;
                ListaDe     = ListaDescripcion[ListaActual];
            });
            LinkOficina   = string.IsNullOrEmpty(Oficina) ? "Seleccionar Oficina" : _Oficina;
            tappedOficina = new Command(async() =>
            {
                MessagingCenter.Send <MainCapturaDeActivosViewModel, string>(this, "Code", "Change");
                Descripcion.Clear();
                data.Clear();
                foreach (var i in ListaDeOficinas.Where(x => x.Parent == ListaDeOficinas.Where(p => ListaDeOficinas.Any(l => p.Descripcion == l.Descripcion)).First().Parent))
                {
                    data.Add(i.Descripcion);
                }
                foreach (var i in data)
                {
                    Descripcion.Add(i);
                }
                data        = Descripcion.ToList();
                decrpData   = Descripcion;
                ListaActual = 4;
                ListaDe     = ListaDescripcion[ListaActual];
            });

            LinkDescripcion   = string.IsNullOrEmpty(Oficina) ? "Seleccionar Descripcion" : _Descripcion;
            tappedDescripcion = new Command(async() =>
            {
                MessagingCenter.Send <MainCapturaDeActivosViewModel, string>(this, "Code", "Change");
                Descripcion.Clear();
                data.Clear();
                foreach (var i in ListaDescripcionesActivos)
                {
                    data.Add(i.Descripcion);
                }
                foreach (var i in data)
                {
                    Descripcion.Add(i);
                }
                data        = Descripcion.ToList();
                decrpData   = Descripcion;
                ListaActual = 5;
                ListaDe     = ListaDescripcion[ListaActual];
            });

            LinkMarcaModelo   = string.IsNullOrEmpty(Oficina) ? "Seleccionar Marca | Modelo" : _MarcaModelo;
            tappedMarcaModelo = new Command(async() =>
            {
                MessagingCenter.Send <MainCapturaDeActivosViewModel, string>(this, "Code", "Change");
                Descripcion.Clear();
                data.Clear();
                foreach (var i in ListaMarcaModelos.Where(x => x.DescripcionActivo == ListaMarcaModelos.Where(p => ListaMarcaModelos.Any(l => p.Descripcion == l.Descripcion)).First().DescripcionActivo))
                {
                    data.Add(i.Descripcion);
                }
                foreach (var i in data)
                {
                    Descripcion.Add(i);
                }
                data        = Descripcion.ToList();
                decrpData   = Descripcion;
                ListaActual = 6;
                ListaDe     = ListaDescripcion[ListaActual];
            });

            enterPressed = new Command(async() =>
            {
                if (!RFIDTag.StartsWith(tagsPrefijo) && RFIDTag.Length < 24)
                {
                    await App.Current.MainPage.DisplayAlert("Error", "Este no es un tag RFID", "ok");
                    return;
                }
                if (!string.IsNullOrEmpty(_Empresa) &&
                    !string.IsNullOrEmpty(_Edificio) &&
                    !string.IsNullOrEmpty(_Piso) &&
                    !string.IsNullOrEmpty(_CentroCosto) &&
                    !string.IsNullOrEmpty(_Oficina) &&
                    !string.IsNullOrEmpty(_Descripcion) &&
                    !string.IsNullOrEmpty(_MarcaModelo) &&
                    !string.IsNullOrEmpty(_Empleado))
                {
                    try
                    {
                        Tag = RFIDTag.Substring(RFIDTag.Length - 2);
                        ActivosFijos activo      = new ActivosFijos();
                        int test                 = ListaDeEmpresas.Where(x => x.Descripcion == _Empresa).First().Compania;
                        activo.Compania          = ListaDeEmpresas.Where(x => x.Descripcion == _Empresa).First().Compania;
                        activo.Localidad         = ListaDeEdificios.Where(x => x.Descripcion == _Edificio).First().Localidad;
                        activo.Area              = ListaPisos.Where(x => x.Descripcion == _Piso).First().Area;
                        activo.Departamento      = ListaCentroCostos.Where(x => x.Descripcion == _CentroCosto).First().Departamento;
                        activo.Oficina           = ListaDeOficinas.Where(x => x.Descripcion == _Oficina).First().Oficina;
                        activo.DescripcionActivo = ListaDescripcionesActivos.Where(x => x.Descripcion == _Descripcion).First().DescripcionActivo;
                        activo.ClaseActivo       = ListaDescripcionesActivos.Where(x => x.Descripcion == _Descripcion).First().ClasesActivos;
                        activo.MarcaModelo       = ListaMarcaModelos.Where(x => x.Descripcion == _MarcaModelo).First().Marca;
                        activo.Empleado          = ListaDeEmpleados.Where(x => x.Descripcion == _Empleado).First().Empleado;
                        activo.TagRFID           = RFIDTag;
                        activo.Descripcion       = $"{_Descripcion} {_MarcaModelo}";
                        activo.Fecha_Ingreso     = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
                        activo.Activo            = 1;
                        activo.Movible           = "N";
                        activo.Asignado          = "N";
                        activo.CapturadoVia      = "HH";
                        activo.TagCodigo         = RFIDTag.Substring(RFIDTag.Length - 5);
                        activo.Origen            = 1;
                        activo.Actualizador      = 1;

                        //modificar luego
                        ListaDeActivos.Add(activo);
                        db.Insert(activo);
                    }
                    catch (Exception ex)
                    {
                        App.Current.MainPage.DisplayAlert("Error", "Debe seleccionar todos los campos del activo!", "ok");
                    }
                }
            });

            #endregion

            #region MessaggingCenter
            MessagingCenter.Subscribe <MyBroadcastReceiver, string>(this, "Code", ((sender, barcode) =>
            {
                //var db = new SQLiteConnection(Preferences.Get("DB_PATH", ""));
                if (CurrentTab == "Entrada")
                {
                    if (!barcode.StartsWith(tagsPrefijo) && barcode.Length > 24)
                    {
                        App.Current.MainPage.DisplayAlert("Error", "Este no es un tag RFID", "ok");
                        return;
                    }
                    if (!string.IsNullOrEmpty(_Empresa) &&
                        !string.IsNullOrEmpty(_Edificio) &&
                        !string.IsNullOrEmpty(_Piso) &&
                        !string.IsNullOrEmpty(_CentroCosto) &&
                        !string.IsNullOrEmpty(_Oficina) &&
                        !string.IsNullOrEmpty(_Descripcion) &&
                        !string.IsNullOrEmpty(_MarcaModelo) &&
                        !string.IsNullOrEmpty(_Empleado))
                    {
                        try {
                            RFIDTag = barcode;
                            Tag = barcode.Substring(barcode.Length - 2);
                            ActivosFijos activo = new ActivosFijos();
                            int test = ListaDeEmpresas.Where(x => x.Descripcion == _Empresa).First().Compania;
                            activo.Compania = ListaDeEmpresas.Where(x => x.Descripcion == _Empresa).First().Compania;
                            activo.Localidad = ListaDeEdificios.Where(x => x.Descripcion == _Edificio).First().Localidad;
                            activo.Area = ListaPisos.Where(x => x.Descripcion == _Piso).First().Area;
                            activo.Departamento = ListaCentroCostos.Where(x => x.Descripcion == _CentroCosto).First().Departamento;
                            activo.Oficina = ListaDeOficinas.Where(x => x.Descripcion == _Oficina).First().Oficina;
                            activo.DescripcionActivo = ListaDescripcionesActivos.Where(x => x.Descripcion == _Descripcion).First().DescripcionActivo;
                            activo.ClaseActivo = ListaDescripcionesActivos.Where(x => x.Descripcion == _Descripcion).First().ClasesActivos;
                            activo.MarcaModelo = ListaMarcaModelos.Where(x => x.Descripcion == _MarcaModelo).First().Marca;
                            activo.Empleado = ListaDeEmpleados.Where(x => x.Descripcion == _Empleado).First().Empleado;
                            activo.TagRFID = barcode;
                            activo.Descripcion = $"{_Descripcion} {_MarcaModelo}";
                            activo.Fecha_Ingreso = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
                            activo.Activo = 1;
                            activo.Movible = "N";
                            activo.Asignado = "N";
                            activo.CapturadoVia = "HH";
                            activo.TagCodigo = barcode.Substring(barcode.Length - 5);
                            activo.Origen = 1;
                            activo.Actualizador = 1;

                            //modificar luego
                            ListaDeActivos.Add(activo);
                            db.Insert(activo);
                        }
                        catch (Exception ex)
                        {
                            App.Current.MainPage.DisplayAlert("Error", "Debe seleccionar todos los campos del activo!", "ok");
                        }
                    }
                }
                else if (CurrentTab == "Consulta")
                {
                    if (!barcode.StartsWith(tagsPrefijo) && barcode.Length > 24)
                    {
                        App.Current.MainPage.DisplayAlert("Error", "Este no es un tag RFID", "ok");
                        return;
                    }
                    RFIDTagParaAsignar = barcode;
                    var newQuerry = $"SELECT * FROM ActivosFijos WHERE TagRFID = '{RFIDTagParaAsignar}'";
                    try
                    {
                        //Ejecutamos el query.
                        var registro = db.Query <ActivosFijos>(newQuerry);

                        if (registro.First().Descripcion == null)
                        {
                            //No hacer nada por ahora
                        }
                        else
                        {
                            ActivosFijos asset = new ActivosFijos();
                            asset = registro.First();
                            Empresa = ListaDeEmpresas.Where(x => x.Compania == asset.Compania).First().Descripcion;
                            Piso = ListaPisos.Where(x => x.Area == asset.Area).First().Descripcion;
                            CentroCosto = ListaCentroCostos.Where(x => x.Departamento == asset.Departamento).First().Descripcion;
                            Oficina = ListaDeOficinas.Where(x => x.Oficina == asset.Oficina).First().Descripcion;
                            DescripcionActivo = ListaDescripcionesActivos.Where(x => x.DescripcionActivo == asset.DescripcionActivo).First().Descripcion;
                            Serial = asset.NumeroSerie;
                            Empleado = ListaDeEmpleados.Where(x => x.Empleado == asset.Empleado).First().Descripcion;
                        }
                    }
                    catch
                    {
                        Empresa = string.Empty;
                        Piso = string.Empty;
                        CentroCosto = string.Empty;
                        Oficina = string.Empty;
                        DescripcionActivo = string.Empty;
                        Serial = string.Empty;
                        Empleado = string.Empty;
                        App.Current.MainPage.DisplayAlert("Error", "Este activo no existe", "ok");
                    }
                }
            }));
            MessagingCenter.Subscribe <MainCapturaDeActivosPage, string>(this, "Code", ((sender, tab) =>
            {
                CurrentTab = tab;
            }));
            #endregion

            #endregion

            #region Metodos Consuta

            enterPressedConsulta = new Command(async() =>
            {
                if (!RFIDTagParaAsignar.StartsWith(tagsPrefijo))
                {
                    await App.Current.MainPage.DisplayAlert("Error", "Este no es un tag RFID", "ok");
                    return;
                }
                var newQuerry = $"SELECT * FROM ActivosFijos WHERE TagRFID = '{RFIDTagParaAsignar}'";
                try
                {
                    //Ejecutamos el query.
                    var registro = db.Query <ActivosFijos>(newQuerry);

                    if (registro.First().Descripcion == null)
                    {
                        //No hacer nada por ahora
                    }
                    else
                    {
                        ActivosFijos asset = new ActivosFijos();
                        asset             = registro.First();
                        Empresa           = ListaDeEmpresas.Where(x => x.Compania == asset.Compania).First().Descripcion;
                        Piso              = ListaPisos.Where(x => x.Area == asset.Area).First().Descripcion;
                        CentroCosto       = ListaCentroCostos.Where(x => x.Departamento == asset.Departamento).First().Descripcion;
                        Oficina           = ListaDeOficinas.Where(x => x.Oficina == asset.Oficina).First().Descripcion;
                        DescripcionActivo = asset.Descripcion;
                        Serial            = asset.NumeroSerie;
                        Empleado          = ListaDeEmpleados.Where(x => x.Empleado == asset.Empleado).First().Descripcion;
                    }
                }
                catch
                {
                    Empresa           = string.Empty;
                    Piso              = string.Empty;
                    CentroCosto       = string.Empty;
                    Oficina           = string.Empty;
                    DescripcionActivo = string.Empty;
                    Serial            = string.Empty;
                    Empleado          = string.Empty;
                    await App.Current.MainPage.DisplayAlert("Error", "Este activo no existe", "ok");
                }
            });

            #endregion

            #region Metodos Anterior

            FirstAsset    = ListaDeActivos.Count <= 0 ? false : true;
            PreviousAsset = ListaDeActivos.Count <= 0 ? false : true;
            NextAsset     = ListaDeActivos.Count <= 0 ? false : true;
            LastAsset     = ListaDeActivos.Count <= 0 ? false : true;
            int last    = ListaDeActivos.Count;
            int current = last;
            PrimerActivo = new Command(async() =>
            {
                try
                {
                    OficinaAnterior     = ListaDeOficinas.Where(x => x.Oficina == ListaDeActivos.First().Oficina).First().Descripcion;
                    DescripcionAnterior = ListaDeActivos.First().Descripcion;
                    TAG           = ListaDeActivos.First().TagRFID.Substring(ListaDeActivos.First().TagRFID.Length - 3);
                    current       = 0;
                    FirstAsset    = false;
                    PreviousAsset = false;
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "ok");
                }
            });

            ActivoAnterior = new Command(async() =>
            {
                try
                {
                    if (current > 0)
                    {
                        --current;
                    }
                    OficinaAnterior     = ListaDeOficinas.Where(x => x.Oficina == ListaDeOficinas.First().Oficina).ToList()[current].Descripcion;
                    DescripcionAnterior = ListaDeActivos.First().Descripcion;
                    TAG = ListaDeActivos.First().TagRFID.Substring(ListaDeActivos.First().TagRFID.Length - 3);
                    if (current == 0)
                    {
                        FirstAsset    = false;
                        PreviousAsset = false;
                    }
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "ok");
                }
            });
            ActivoSiguiente = new Command(async() =>
            {
                try
                {
                    if (current < ListaDeActivos.Count)
                    {
                        ++current;
                    }
                    OficinaAnterior     = ListaDeOficinas.Where(x => x.Oficina == ListaDeOficinas.First().Oficina).ToList()[current].Descripcion;
                    DescripcionAnterior = ListaDeActivos.First().Descripcion;
                    TAG = ListaDeActivos.First().TagRFID.Substring(ListaDeActivos.First().TagRFID.Length - 3);
                    if (current == last)
                    {
                        LastAsset = false;
                        NextAsset = false;
                    }
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "ok");
                }
            });

            UltimoActivo = new Command(async() =>
            {
                try
                {
                    OficinaAnterior     = ListaDeOficinas.Where(x => x.Oficina == ListaDeOficinas.First().Oficina).Last().Descripcion;
                    DescripcionAnterior = ListaDeActivos.First().Descripcion;
                    TAG       = ListaDeActivos.First().TagRFID.Substring(ListaDeActivos.First().TagRFID.Length - 3);
                    current   = last;
                    LastAsset = false;
                    NextAsset = false;
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "ok");
                }
            });

            #endregion

            #region Metodos de la vista

            Salir = new Command(async() =>
            {
                await App.Current.MainPage.Navigation.PopToRootAsync();
            });

            config = new Command(async() =>
            {
                await App.Current.MainPage.Navigation.PushModalAsync(new SettingsPage());
            });

            #endregion
        }
 /// <summary>
 /// Obtiene Activos Fijos por filtro
 /// </summary>
 /// <param name="pActivosFijos">Entidad Activos Fijos</param>
 /// <returns>Lista Activos Fijos</returns>
 public List <ActivosFijos> GetActivosFijos(ActivosFijos pActivosFijos)
 {
     return(new ActivosFijosDAL().GetActivosFijos(pActivosFijos));
 }
 /// <summary>
 /// Edita Activos Fijos
 /// </summary>
 /// <param name="pActivosFijos">Clase Activos Fijos</param>
 /// <returns>true o false</returns>
 public bool EditActivosFijos(ActivosFijos pActivosFijos)
 {
     return(new ActivosFijosDAL().EditActivosFijos(pActivosFijos));
 }
 /// <summary>
 /// Borra Activos Fijos
 /// </summary>
 /// <param name="pActivosFijos">Clase Activos Fijos</param>
 /// <returns>true o false</returns>
 public bool DeleteActivosFijos(ActivosFijos pActivosFijos)
 {
     return(new ActivosFijosDAL().DeleteActivosFijos(pActivosFijos));
 }
 /// <summary>
 /// Agrega Activos Fijos
 /// </summary>
 /// <param name="pActivosFijos">Clase Activos Fijos</param>
 /// <returns>true o false</returns>
 public bool AddActivosFijos(ActivosFijos pActivosFijos)
 {
     return(new ActivosFijosDAL().AddActivosFijos(pActivosFijos));
 }