/// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    var conceptoDeteccionPL = new ConceptoDeteccionPL();
                    conceptoDeteccionPL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct);
                    if (Contexto.ConceptoDeteccionID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                        txtDescripcion.Focus();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.ConceptoDeteccion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.ConceptoDeteccion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
            }
        }
        public void ConceptoDeteccionObtenerTodosActivos()
        {
            var pl = new ConceptoDeteccionPL();
            IList <ConceptoDeteccionInfo> lista = pl.ObtenerTodos(EstatusEnum.Activo);

            Assert.AreNotEqual(lista, null);
        }
        public void ConceptoDeteccionObtenerPorIdSinDatos()
        {
            var pl = new ConceptoDeteccionPL();
            ConceptoDeteccionInfo conceptoDeteccion = pl.ObtenerPorID(0);

            Assert.AreEqual(conceptoDeteccion, null);
        }
        public void ConceptoDeteccionObtenerPorId()
        {
            var pl = new ConceptoDeteccionPL();
            ConceptoDeteccionInfo conceptoDeteccion = pl.ObtenerPorID(1);

            Assert.AreNotEqual(conceptoDeteccion, null);
        }
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtConceptoDeteccionID.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ConceptoDeteccionEdicion_MsgConceptoDeteccionIDRequerida;
                    txtConceptoDeteccionID.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ConceptoDeteccionEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ConceptoDeteccionEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    conceptoDeteccionId = Extensor.ValorEntero(txtConceptoDeteccionID.Text);
                    string descripcion         = txtDescripcion.Text;

                    var conceptoDeteccionPL = new ConceptoDeteccionPL();
                    ConceptoDeteccionInfo conceptoDeteccion = conceptoDeteccionPL.ObtenerPorDescripcion(descripcion);

                    if (conceptoDeteccion != null && (conceptoDeteccionId == 0 || conceptoDeteccionId != conceptoDeteccion.ConceptoDeteccionID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.ConceptoDeteccionEdicion_MsgDescripcionExistente, conceptoDeteccion.ConceptoDeteccionID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
        public void ConceptoDeteccionObtenerPorPaginaSinDatos()
        {
            var pl     = new ConceptoDeteccionPL();
            var pagina = new PaginacionInfo {
                Inicio = 1, Limite = 15
            };
            var filtro = new ConceptoDeteccionInfo {
                Descripcion = "1331312313khgdjkfghjkd"
            };

            ResultadoInfo <ConceptoDeteccionInfo> listaPaginada = pl.ObtenerPorPagina(pagina, filtro);

            Assert.AreEqual(listaPaginada, null);
        }
        public void ConceptoDeteccionObtenerPorPagina()
        {
            var pl     = new ConceptoDeteccionPL();
            var pagina = new PaginacionInfo {
                Inicio = 1, Limite = 15
            };
            var filtro = new ConceptoDeteccionInfo {
                Descripcion = string.Empty
            };

            ResultadoInfo <ConceptoDeteccionInfo> listaPaginada = pl.ObtenerPorPagina(pagina, filtro);

            Assert.AreNotEqual(listaPaginada, null);
        }
        public void ConceptoDeteccionCrear()
        {
            var random       = new Random();
            int randomNumber = random.Next(0, 100);

            var pl = new ConceptoDeteccionPL();
            var conceptoDeteccion = new ConceptoDeteccionInfo
            {
                ConceptoDeteccionID = 0,
                Descripcion         = string.Format("Prueba Unitaria Crear {0}", randomNumber),
                UsuarioCreacionID   = 1,
                Activo = EstatusEnum.Activo
            };

            conceptoDeteccion.ConceptoDeteccionID = pl.Guardar(conceptoDeteccion);
            Assert.AreNotEqual(conceptoDeteccion.ConceptoDeteccionID, 0);
        }
        /// <summary>
        /// Obtiene la lista para mostrar en el grid
        /// </summary>
        private void ObtenerListaConceptoDeteccion(int inicio, int limite)
        {
            try
            {
                if (ucPaginacion.ContextoAnterior != null)
                {
                    bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
                    if (!contextosIguales)
                    {
                        ucPaginacion.Inicio = 1;
                        inicio = 1;
                    }
                }

                var conceptoDeteccionPL       = new ConceptoDeteccionPL();
                ConceptoDeteccionInfo filtros = ObtenerFiltros();
                var pagina = new PaginacionInfo {
                    Inicio = inicio, Limite = limite
                };
                ResultadoInfo <ConceptoDeteccionInfo> resultadoInfo = conceptoDeteccionPL.ObtenerPorPagina(pagina, filtros);
                if (resultadoInfo != null && resultadoInfo.Lista != null &&
                    resultadoInfo.Lista.Count > 0)
                {
                    gridDatos.ItemsSource       = resultadoInfo.Lista;
                    ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros;
                }
                else
                {
                    ucPaginacion.TotalRegistros = 0;
                    ucPaginacion.AsignarValoresIniciales();
                    gridDatos.ItemsSource = new List <ConceptoDeteccion>();
                }
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConceptoDeteccion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConceptoDeteccion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
        }
        public void ConceptoDeteccionGuardarDescripcionExistente()
        {
            var pl = new ConceptoDeteccionPL();
            var conceptoDeteccion = new ConceptoDeteccionInfo
            {
                ConceptoDeteccionID = 0,
                Descripcion         = "ConceptoDeteccion",
                Activo = EstatusEnum.Activo
            };

            try
            {
                pl.Guardar(conceptoDeteccion);
            }
            catch (Exception)
            {
                Assert.AreEqual(conceptoDeteccion.ConceptoDeteccionID, 0);
            }
        }
        public void ConceptoDeteccionActualizar()
        {
            var random       = new Random();
            int randomNumber = random.Next(0, 100);
            var pl           = new ConceptoDeteccionPL();
            ConceptoDeteccionInfo conceptoDeteccion = pl.ObtenerPorID(1);

            if (conceptoDeteccion != null)
            {
                string descripcion;
                try
                {
                    descripcion = string.Format("Prueba Unitaria Actualizar {0}", randomNumber);
                    conceptoDeteccion.Descripcion           = descripcion;
                    conceptoDeteccion.UsuarioModificacionID = 4;
                    pl.Guardar(conceptoDeteccion);
                }
                catch (Exception)
                {
                    descripcion = string.Empty;
                }
                Assert.AreEqual(conceptoDeteccion.Descripcion, descripcion);
            }
        }