예제 #1
0
        /// <summary>
        /// Listado con paginacion para aplicación WEB
        /// </summary>
        /// <param name="prm_CodigoSistema"></param>
        /// <param name="prm_CodigoRol"></param>
        /// <param name="p_NumPagina"></param>
        /// <param name="p_NumFilasP"></param>
        /// <param name="pNumFilasT"></param>
        /// <returns></returns>
        public List <BERolOpcionResponse> ListPaged(BEBuscaRolOpcionRequest pFiltro)
        {
            List <BERolOpcionResponse> lista = new List <BERolOpcionResponse>();

            try
            {
                using (_DBMLSeguridadSistemaDataContext SeguridadDC = new _DBMLSeguridadSistemaDataContext(conexion))
                {
                    var resul = SeguridadDC.usp_sis_R_RolOpcion_Paged(pFiltro.jqCurrentPage,
                                                                      pFiltro.jqPageSize,
                                                                      pFiltro.jqSortColumn,
                                                                      pFiltro.jqSortOrder,
                                                                      pFiltro.codSistema,
                                                                      pFiltro.codRol,
                                                                      pFiltro.codOpcion,
                                                                      pFiltro.indVisualiza,
                                                                      pFiltro.indActivo);
                    foreach (var item in resul)
                    {
                        lista.Add(new BERolOpcionResponse()
                        {
                            ROW       = item.ROWNUM.HasValue ? item.ROWNUM.Value : 0,
                            TOTALROWS = item.TOTALROWS.HasValue ? item.TOTALROWS.Value : 0,

                            codRolOpcion    = item.codRolOpcion,
                            codOpcionNombre = item.codOpcionNombre,
                            codElementoID   = item.codElementoID,
                            desEnlaceURL    = item.desEnlaceURL,
                            desEnlaceWIN    = item.desEnlaceWIN,
                            numOrden        = item.numOrden,
                            nomIcono        = item.nomIcono,
                            indTipoObjeto   = item.indTipoObjeto,

                            indEditar   = item.indEditar,
                            indEliminar = item.indEliminar,
                            indExporta  = item.indExporta,
                            indImporta  = item.indImporta,
                            indImprime  = item.indImprime,
                            indNuevo    = item.indNuevo,
                            indOtro     = item.indOtro,
                            indVer      = item.indVer,

                            indActivo        = item.indActivo,
                            codRolNombre     = item.codRolNombre,
                            codSistemaNombre = item.codSistemaNombre,

                            segUsuarioEdita = item.segUsuarioEdita,
                            segFechaEdita   = item.segFechaHoraEdita,
                            segMaquinaEdita = item.segMaquinaEdita,
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lista);
        }
예제 #2
0
        /// <summary>
        /// Listado con paginacion para aplicación WEB
        /// </summary>
        /// <param name="pFiltro"></param>
        /// <returns></returns>
        public OperationResult ListPaged(BEBuscaRolOpcionRequest pFiltro)
        {
            List <BERolOpcionResponse> listaRolOpcion = new List <BERolOpcionResponse>();

            try
            {
                listaRolOpcion = oRolOpcionData.ListPaged(pFiltro);
                int totalRecords = listaRolOpcion.Select(x => x.TOTALROWS).FirstOrDefault();
                int totalPages   = (int)Math.Ceiling((float)totalRecords / (float)pFiltro.jqPageSize);
                var jsonGrid     = new
                {
                    PageCount   = totalPages,
                    CurrentPage = pFiltro.jqCurrentPage,
                    RecordCount = totalRecords,
                    Items       = (
                        from item in listaRolOpcion
                        select new
                    {
                        ID = item.codRolOpcion,
                        Row = new string[] {
                            item.indVer.ToString().ToLower()
                            , item.indEditar.ToString().ToLower()
                            , item.indEliminar.ToString().ToLower()
                            , item.indExporta.ToString().ToLower()
                            , item.indImporta.ToString().ToLower()
                            , item.indImprime.ToString().ToLower()
                            , item.indNuevo.ToString().ToLower()
                            , item.indOtro.ToString().ToLower()
                            , item.indActivo.ToString().ToLower()
                            , item.codRolNombre
                            , item.codSistemaNombre
                            , item.segUsuarioEdita
                            , item.segFechaEdita.ToString()
                        }
                    }).ToArray()
                };
                return(OK(jsonGrid));
            }
            catch (Exception ex)
            {
                return(Error(GetType().Name, MethodBase.GetCurrentMethod().Name, ex, pFiltro.userActual, pFiltro.codEmpresa));
            }
            finally
            {
                if (oRolOpcionData != null)
                {
                    oRolOpcionData.Dispose();
                    oRolOpcionData = null;
                }
            }
        }