Exemplo n.º 1
0
        public Result <DataTableResult <InviteTableModel> > Get(DataTableRequest dataTableRequest)
        {
            ValidationResult validationResult = _dataTableValidator.Validate(dataTableRequest);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(DataTableRequest)} model");
                return(Result.Fail <DataTableResult <InviteTableModel> >(validationResult.Errors));
            }

            PaginationSpecification <InviteEntity, InviteTableModel> paginationSpecification = new PaginationSpecification <InviteEntity, InviteTableModel>();

            if (!string.IsNullOrEmpty(dataTableRequest.Search))
            {
                paginationSpecification.AddFilter(x => x.Email.ToUpper().Contains(dataTableRequest.Search.ToUpper()));
            }

            paginationSpecification.AddSelect(x => new InviteTableModel(
                                                  x.Id,
                                                  x.Email,
                                                  x.Status.ToString(),
                                                  x.Role.Name,
                                                  x.Group.Name,
                                                  x.GroupRole.Name,
                                                  x.ExpiresAt.ToString(DateTimeFormats.DEFAULT_DATE_TIME_FORMAT)));
            paginationSpecification.AppalyPaging(dataTableRequest.Start, dataTableRequest.Length);

            PaginatedData <InviteTableModel> paginatedData = _inviteRepository.GetPaginated(paginationSpecification);

            DataTableResult <InviteTableModel> dataTableResult = new DataTableResult <InviteTableModel>(
                draw: dataTableRequest.Draw,
                recordsTotal: paginatedData.Count,
                recordsFilterd: paginatedData.Count,
                error: null,
                data: paginatedData.Data);

            return(Result.Ok(dataTableResult));
        }
Exemplo n.º 2
0
        public Result <DataTableResult <GroupUserTableModel> > Get(string id, DataTableRequest dataTableRequest)
        {
            ValidationResult validationResult = _dataTableValidator.Validate(dataTableRequest);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid DataTableRequest model");
                return(Result.Fail <DataTableResult <GroupUserTableModel> >(validationResult.Errors));
            }

            PaginationSpecification <GroupUserEntity, GroupUserTableModel> paginationSpecification = new PaginationSpecification <GroupUserEntity, GroupUserTableModel>();

            paginationSpecification.AddFilter(x => x.GroupId == id);

            if (!string.IsNullOrEmpty(dataTableRequest.Search))
            {
                paginationSpecification.AddFilter(x => x.User.NormalizedUserName.Contains(dataTableRequest.Search.ToUpper()));
            }

            paginationSpecification.AddSelect(x => new GroupUserTableModel(
                                                  x.Id,
                                                  x.User.Id,
                                                  x.User.UserName,
                                                  x.Role.Id,
                                                  x.Role.Name));
            paginationSpecification.AppalyPaging(dataTableRequest.Start, dataTableRequest.Length);

            PaginatedData <GroupUserTableModel> paginatedData = _groupUserRepository.GetPaginated(paginationSpecification);

            DataTableResult <GroupUserTableModel> dataTableResult = new DataTableResult <GroupUserTableModel>(
                draw: dataTableRequest.Draw,
                recordsTotal: paginatedData.Count,
                recordsFilterd: paginatedData.Count,
                error: null,
                data: paginatedData.Data);

            return(Result.Ok(dataTableResult));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> GetDataTable(string api)
        {
            var model   = this.MapParameterModel(this.HttpContext);
            var setting = new JsonSerializerSettings()
            {
                Culture            = CultureInfo.CurrentCulture,
                DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
                DateFormatString   = "dd/MM/yyyy"
            };

            var dataTableResult = new DataTableResult();

            var url = api.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).Count() > 1 ? api : api + "/datatable";

            var apiResponse = await this.HttpClient.GetPaggedListAsync(url, JsonConvert.SerializeObject(model));

            if (apiResponse.Status)
            {
                dataTableResult = JsonConvert.DeserializeObject <DataTableResult>(apiResponse.Response);
            }

            return(this.Json(dataTableResult, setting));
        }
        public ActionResult RelatorioAtividadeEstoquePageData(DataTableFilter <RelatorioAtividadeEstoqueFilterViewModel> model)
        {
            var filtro = Mapper.Map <DataTableFilter <AtividadeEstoqueListaFiltro> >(model);

            filtro.CustomFilter.IdEmpresa = IdEmpresa;

            var result = _uow.AtividadeEstoqueRepository.PesquisarPageData(filtro, out int registrosFiltrados, out int totalRegistros);

            var list = new List <RelatorioAtividadeEstoqueListItemViewModel>();

            List <UsuarioEmpresa> usuarios = _uow.UsuarioEmpresaRepository.ObterPorEmpresa(IdEmpresa);

            foreach (var item in result)
            {
                list.Add(new RelatorioAtividadeEstoqueListItemViewModel()
                {
                    CodigoEndereco    = item.CodigoEndereco,
                    DataSolicitacao   = item.DataSolicitacao.HasValue ? item.DataSolicitacao.Value.ToString("dd/MM/yyyy") : "",
                    DataExecucao      = item.DataExecucao.HasValue ? item.DataExecucao.Value.ToString("dd/MM/yyyy") : "",
                    DescricaoProduto  = item.DescricaoProduto,
                    ReferenciaProduto = item.ReferenciaProduto,
                    Finalizado        = item.Finalizado ? "Sim" : "Não",
                    QuantidadeInicial = item.QuantidadeInicial.HasValue ? item.QuantidadeInicial.ToString() : "",
                    QuantidadeFinal   = item.QuantidadeFinal.HasValue ? item.QuantidadeFinal.ToString() : "",
                    TipoAtividade     = item.TipoAtividade,
                    UsuarioExecucao   = usuarios.Where(x => x.UserId.Equals(item.UsuarioExecucao)).FirstOrDefault()?.PerfilUsuario.Nome,
                });
            }

            return(DataTableResult.FromModel(new DataTableResponseModel
            {
                Draw = model.Draw,
                RecordsTotal = totalRegistros,
                RecordsFiltered = registrosFiltrados,
                Data = list
            }));
        }
        public ActionResult RelatorioPosicaoInventarioPageData(DataTableFilter <RelatorioPosicaoInventarioFilterViewModel> model)
        {
            var list = new List <RelatorioPosicaoInventarioListItemViewModel>();

            if (!model.CustomFilter.IdNivelArmazenagem.HasValue && !model.CustomFilter.IdPontoArmazenagem.HasValue && !model.CustomFilter.IdProduto.HasValue)
            {
                return(DataTableResult.FromModel(new DataTableResponseModel
                {
                    Draw = model.Draw,
                    RecordsTotal = 0,
                    RecordsFiltered = 0,
                    Data = list
                }));
            }

            var filtro = Mapper.Map <DataTableFilter <RelatorioPosicaoInventarioListaFiltro> >(model);

            filtro.CustomFilter.IdEmpresa = IdEmpresa;

            var loteProdutoEnderecos = _uow.LoteProdutoEnderecoRepository.BuscarDadosPosicaoInventario(filtro, out int totalRecordsFiltered, out int totalRecords);

            loteProdutoEnderecos.OrderBy(x => x.Referencia).ThenBy(x => x.Codigo).ForEach(lpe => list.Add(new RelatorioPosicaoInventarioListItemViewModel
            {
                Codigo = lpe.Codigo,
                IdLote = lpe.IdLote != null ? lpe.IdLote.ToString() : "-",
                QuantidadeProdutoPorEndereco = lpe.QuantidadeProdutoPorEndereco.ToString(),
                Referencia = string.Concat(lpe.Referencia, " - ", lpe.DescricaoProduto)
            }));

            return(DataTableResult.FromModel(new DataTableResponseModel
            {
                Draw = model.Draw,
                RecordsTotal = totalRecords,
                RecordsFiltered = totalRecordsFiltered,
                Data = list
            }));
        }
Exemplo n.º 6
0
        public void ExecuteResult_Ok()
        {
            //Arrange
            var data = new List <List <string> >()
            {
                new List <string> {
                    "hallo", "österreich"
                }
            };

            var httpRequest = new Mock <HttpRequestBase>();

            httpRequest.Setup(h => h.HttpMethod)
            .Returns("POST");
            var httpResponse = new Mock <HttpResponseBase>();

            httpResponse.Setup(x => x.ContentEncoding)
            .Returns(Encoding.UTF8);
            string result = string.Empty;

            httpResponse.Setup(x => x.Write(It.IsAny <string>()))
            .Callback((string s) => result = s);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(h => h.Request)
            .Returns(httpRequest.Object);
            httpContext.Setup(h => h.Response)
            .Returns(httpResponse.Object);
            DataTableResult dataTableResult = new DataTableResult("1", 10, 10, data);

            //Act
            dataTableResult.ExecuteResult(new ControllerContext {
                HttpContext = httpContext.Object
            });
            //Assert
            Assert.AreEqual(@"{""aaData"":[[""hallo"",""österreich""]],""iTotalDisplayRecords"":10,""iTotalRecords"":10,""sColumns"":null}", result);
        }
Exemplo n.º 7
0
        public async Task <Result <DataTableResult <GroupAttributeTableModel> > > Get(string groupId, DataTableRequest dataTableRequest)
        {
            ValidationResult validationResult = _dataTableValidator.Validate(dataTableRequest);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(dataTableRequest)} model");
                return(Result.Fail <DataTableResult <GroupAttributeTableModel> >(validationResult.ToResultError()));
            }

            ISelectSpecificationBuilder <GroupAttributeEntity, GroupAttributeTableModel> specificationBuilder = SpecificationBuilder
                                                                                                                .Create <GroupAttributeEntity>()
                                                                                                                .Where(x => x.GroupId == groupId)
                                                                                                                .SearchByKey(dataTableRequest.Search)
                                                                                                                .OrderByDessending(x => x._CreatedDate)
                                                                                                                .Select(x => new GroupAttributeTableModel(
                                                                                                                            x.Id,
                                                                                                                            x.Key,
                                                                                                                            x.Value));

            IBaseSpecification <GroupAttributeEntity, GroupAttributeTableModel> countSpecification = specificationBuilder.Build();
            IBaseSpecification <GroupAttributeEntity, GroupAttributeTableModel> dataSpecification  = specificationBuilder
                                                                                                     .Paginate(dataTableRequest.Start, dataTableRequest.Length)
                                                                                                     .Build();

            int count = await _groupAttributeDAO.Count(countSpecification);

            List <GroupAttributeTableModel> data = await _groupAttributeDAO.Get(countSpecification);

            DataTableResult <GroupAttributeTableModel> dataTableResult = new DataTableResult <GroupAttributeTableModel>(
                draw: dataTableRequest.Draw,
                recordsTotal: count,
                recordsFiltered: count,
                data: data);

            return(Result.Ok(dataTableResult));
        }
Exemplo n.º 8
0
        public Result <DataTableResult <RoleListViewModel> > GetAll(DataTableRequest request)
        {
            ValidationResult validationResult = _dataTableValidator.Validate(request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid DataTableRequest model");
                return(Result.Fail <DataTableResult <RoleListViewModel> >(ResultUtils.ToResultError(validationResult.Errors.ToList())));
            }

            PaginationSpecification <RoleEntity, RoleListViewModel> baseSpecification = new PaginationSpecification <RoleEntity, RoleListViewModel>();

            if (!string.IsNullOrEmpty(request.Search))
            {
                string search = request.Search.ToUpper();

                baseSpecification.AddFilter(x =>
                                            x.Id.ToUpper().Contains(search) ||
                                            x.Name.ToUpper().Contains(search));
            }

            baseSpecification.AppalyPaging(request.Start, request.Length);
            baseSpecification.AddSelect(x => new RoleListViewModel(
                                            x.Id,
                                            x.Name));

            PaginatedData <RoleListViewModel> pagedResult = _roleRepository.GetPaginated(baseSpecification);

            DataTableResult <RoleListViewModel> result = new DataTableResult <RoleListViewModel>(
                draw: request.Draw,
                recordsTotal: pagedResult.Count,
                recordsFilterd: pagedResult.Count,
                error: null,
                data: pagedResult.Data);

            return(Result.Ok(result));
        }
Exemplo n.º 9
0
        public Result <DataTableResult <RoleListViewModel> > GetRoles(string id, DataTableRequest dataTableRequest)
        {
            ValidationResult validationResult = _dataTableValidator.Validate(dataTableRequest);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(DataTableRequest)} model");
                return(Result.Fail <DataTableResult <RoleListViewModel> >(validationResult.Errors));
            }

            PaginationSpecification <PermissionRoleEntity, RoleListViewModel> paginationSpecification =
                new PaginationSpecification <PermissionRoleEntity, RoleListViewModel>();

            paginationSpecification.AddFilter(x => x.PermissionId == id);

            if (!string.IsNullOrEmpty(dataTableRequest.Search))
            {
                paginationSpecification.AddFilter(x => x.Role.NormalizedName.Contains(dataTableRequest.Search.ToUpper()));
            }

            paginationSpecification.AddSelect(x => new RoleListViewModel(
                                                  x.RoleId,
                                                  x.Role.Name,
                                                  x.Role.Type.ToString()));
            paginationSpecification.AppalyPaging(dataTableRequest.Start, dataTableRequest.Length);

            PaginatedData <RoleListViewModel> paginatedData = _permissionRoleRepository.GetPaginated(paginationSpecification);

            DataTableResult <RoleListViewModel> dataTableResult = new DataTableResult <RoleListViewModel>(
                draw: dataTableRequest.Draw,
                recordsTotal: paginatedData.Count,
                recordsFilterd: paginatedData.Count,
                error: null,
                data: paginatedData.Data);

            return(Result.Ok(dataTableResult));
        }
        public ActionResult RelatorioLoteMovimentacaoPageData(DataTableFilter <RelatorioLoteMovimentacaoFilterViewModel> model)
        {
            var filtro = Mapper.Map <DataTableFilter <LoteMovimentacaoListaFiltro> >(model);

            filtro.CustomFilter.IdEmpresa = IdEmpresa;

            var result = _uow.LoteMovimentacaoRepository.Consultar(filtro, out int registrosFiltrados, out int totalRegistros);

            var list = new List <RelatorioLoteMovimentacaoListItemViewModel>();
            List <UsuarioEmpresa> usuarios = _uow.UsuarioEmpresaRepository.ObterPorEmpresa(IdEmpresa);

            foreach (var item in result)
            {
                list.Add(new RelatorioLoteMovimentacaoListItemViewModel()
                {
                    IdProduto           = item.IdProduto,
                    IdLote              = item.IdLote,
                    ReferenciaProduto   = item.ReferenciaProduto,
                    DescricaoProduto    = item.DescricaoProduto,
                    UsuarioMovimentacao = usuarios.Where(x => x.UserId.Equals(item.IdUsuarioMovimentacao)).FirstOrDefault()?.PerfilUsuario.Nome,
                    Tipo       = item.Tipo.ToString(),
                    Endereco   = item.Endereco,
                    Quantidade = item.Quantidade.ToString(),
                    DataHora   = item.DataHora.ToString("dd/MM/yyyy hh:mm:ss"),
                    NroVolume  = item.NroVolume.HasValue ? item.NroVolume.ToString() : string.Empty
                });
            }

            return(DataTableResult.FromModel(new DataTableResponseModel
            {
                Draw = model.Draw,
                RecordsTotal = totalRegistros,
                RecordsFiltered = registrosFiltrados,
                Data = list
            }));
        }
        public ActionResult RelatorioLogisticaCorredorPageData(DataTableFilter <RelatorioLogisticaCorredorFilterViewModel> model)
        {
            var filtro = Mapper.Map <DataTableFilter <RelatorioLogisticaCorredorListaFiltro> >(model);

            filtro.CustomFilter.IdEmpresa = IdEmpresa;

            var produtos = _uow.LoteProdutoEnderecoRepository.BuscarDadosLogisticaCorredor(filtro, out int totalRecordsFiltered, out int totalRecords);

            var list = new List <RelatorioLogisticaCorredorListItemViewModel>();

            produtos.ForEach(lpe => list.Add(new RelatorioLogisticaCorredorListItemViewModel
            {
                Altura      = lpe.Produto.Altura?.ToString("n2") ?? "-",
                Codigo      = lpe.EnderecoArmazenagem.Codigo ?? "-",
                Referencia  = lpe.Produto.Referencia ?? "-",
                Tipo        = lpe.Produto.UnidadeMedida.Sigla ?? "-",
                Descricao   = lpe.Produto.Descricao ?? "-",
                Saldo       = lpe.ProdutoEstoque?.Saldo.ToString() ?? "-",
                Cubagem     = lpe.Produto.MetroCubico.ToString() ?? "-",
                Largura     = lpe.Produto.Largura?.ToString("n2") ?? "-",
                Comprimento = lpe.Produto.Comprimento?.ToString("n2") ?? "-",
                DtRepo      = null,
                DuraDD      = null,
                GiroDD      = null,
                Giro6m      = null,
                ItLoc       = null
            }));

            return(DataTableResult.FromModel(new DataTableResponseModel
            {
                Draw = model.Draw,
                RecordsTotal = totalRecords,
                RecordsFiltered = totalRecordsFiltered,
                Data = list
            }));
        }
Exemplo n.º 12
0
        /// <summary>
        /// To the pagged list asynchronous.
        /// </summary>
        /// <typeparam name="TEntity">The type of the entity.</typeparam>
        /// <param name="query">The query.</param>
        /// <param name="model">The model.</param>
        /// <returns>ToPaggedListAsync</returns>
        public async Task <DataTableResult> ToPaggedListAsync <TEntity>(IQueryable <TEntity> query, DataTableParameter model)
            where TEntity : class
        {
            DataTableResult dt = new DataTableResult();

            foreach (var item in model.Columns)
            {
                var col = item.Data;
                if (!string.IsNullOrEmpty(item.Search.Value))
                {
                    string spliter = "@#$";
                    var    values  = item.Search.Value.Split(new string[] { spliter }, StringSplitOptions.RemoveEmptyEntries).ToList();
                    if (!string.IsNullOrEmpty(item.Name))
                    {
                        var names = item.Name.Split(new string[] { spliter }, StringSplitOptions.RemoveEmptyEntries).ToList();
                        for (int i = 0; i < values.Count; i++)
                        {
                            var value      = values[i];
                            var colType    = this.GetColumnType <TEntity>(col);
                            var searchType = names[i];
                            switch (colType)
                            {
                            case "int":
                            case "int64":
                                query = this.WhereHelper <TEntity>(query, col, Convert.ToInt32(value), searchType);
                                break;

                            case "short":
                                query = this.WhereHelper <TEntity>(query, col, Convert.ToInt32(value), searchType);
                                break;

                            case "decimal":
                                query = this.WhereHelper <TEntity>(query, col, Convert.ToDecimal(value), searchType);
                                break;

                            case "datetime":
                                var searchDate = Convert.ToDateTime(value);

                                if (Convert.ToDateTime(value).TimeOfDay == System.TimeSpan.FromSeconds(0) && searchType == "<=")
                                {
                                    searchDate = searchDate.AddHours(23).AddMinutes(59).AddSeconds(59);
                                }

                                query = this.WhereHelper <TEntity>(query, col, searchDate, searchType);
                                break;

                            case "bool":
                                query = this.WhereHelper <TEntity>(query, col, Convert.ToBoolean(value), searchType);
                                break;

                            case "string":
                                query = this.WhereHelper <TEntity>(query, col, value, searchType, false);
                                break;
                            }
                        }
                    }
                }
            }

            ParameterExpression[] typeParams = new ParameterExpression[] { Expression.Parameter(typeof(TEntity), string.Empty) };

            if (model.Order.Count() > 0)
            {
                var orderByField = model.Columns.ToList()[model.Order.FirstOrDefault().Column].Data;
                System.Reflection.PropertyInfo pi = typeof(TEntity).GetProperty(orderByField);
                if (pi == null)
                {
                    pi = typeof(TEntity).GetProperty(model.Columns.FirstOrDefault(m => m.Data != string.Empty).Data);
                }

                query = query.Provider.CreateQuery <TEntity>(Expression.Call(typeof(Queryable), model.Order.FirstOrDefault().Dir == "asc" ? "OrderBy" : "OrderByDescending", new Type[] { typeof(TEntity), pi.PropertyType }, query.Expression, Expression.Lambda(Expression.Property(typeParams[0], pi), typeParams)));
            }

            try
            {
                if (model.Length == -1)
                {
                    dt.Data = (await query.ToListAsync()).ToList <object>();
                }
                else
                {
                    dt.Data = (await query.Skip(model.Start).Take(model.Length).ToListAsync()).ToList <object>();
                }

                dt.RecordsTotal = await query.CountAsync();

                dt.RecordsFiltered = dt.RecordsTotal;
                dt.Draw            = model.Draw;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(dt);
        }
        public async Task <Result <DataTableResult <GroupAdminAuditTableModel> > > Get(
            string groupId,
            DataTableRequest dataTableRequest,
            GroupAdminAuditTableRequest auditTableRequest)
        {
            ValidationResult dataTableValidationResult = _dataTableRequestValidator.Validate(dataTableRequest);

            if (!dataTableValidationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(DataTableRequest)} model");
                return(Result.Fail <DataTableResult <GroupAdminAuditTableModel> >(dataTableValidationResult.ToResultError()));
            }

            if (auditTableRequest == null)
            {
                _logger.LogWarning($"AuditTable request can not be null");
                return(Result.Fail <DataTableResult <GroupAdminAuditTableModel> >("can_not_be_null", "Can not be null"));
            }

            ValidationResult auditTableRequestValidationResult = _auditTableRequestValidator.Validate(auditTableRequest);

            if (!auditTableRequestValidationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(GroupAdminAuditTableRequest)} model");
                return(Result.Fail <DataTableResult <GroupAdminAuditTableModel> >(auditTableRequestValidationResult.ToResultError()));
            }

            IBaseSpecificationBuilder <AuditEntity> baseSpecification = SpecificationBuilder
                                                                        .Create <AuditEntity>()
                                                                        .WithActionType(auditTableRequest.ActionType)
                                                                        .WithObjectType(auditTableRequest.ObjectType)
                                                                        .WithObjectIdentifier(auditTableRequest.ObjectIdentifier)
                                                                        .WithSubjectType(auditTableRequest.SubjectType)
                                                                        .WithSubjectIdentifier(auditTableRequest.SubjectIdentifier)
                                                                        .WithResourceName(auditTableRequest.ResourceName)
                                                                        .InRange(auditTableRequest.From, auditTableRequest.To)
                                                                        .WithGroupIdentifier(groupId);

            IBaseSpecification <AuditEntity, GroupAdminAuditTableModel> selectSpecification = baseSpecification
                                                                                              .OrderBy(x => x.Created, auditTableRequest.OrderBy.Value)
                                                                                              .Paginate(dataTableRequest.Start, dataTableRequest.Length)
                                                                                              .Select(x => new GroupAdminAuditTableModel(
                                                                                                          x.Id,
                                                                                                          x.ActionType.GetDescription(),
                                                                                                          x.ObjectType,
                                                                                                          x.ResourceName,
                                                                                                          x.SubjectType.GetDescription(),
                                                                                                          x.SubjectIdentifier,
                                                                                                          x.Created.ToString("o")))
                                                                                              .Build();

            int auditCount = await _auditDAO.Count(baseSpecification.Build());

            List <GroupAdminAuditTableModel> audits = await _auditDAO.Get(selectSpecification);

            DataTableResult <GroupAdminAuditTableModel> dataTableResult = new DataTableResult <GroupAdminAuditTableModel>(
                draw: dataTableRequest.Draw,
                recordsTotal: auditCount,
                recordsFiltered: auditCount,
                data: audits);

            return(Result.Ok(dataTableResult));
        }
        /// <summary>
        /// Retrieves all Hub projects with the Fundraising Flag set to true.
        /// </summary>
        /// <returns>DataTable Search Result Object</returns>
        public DataTableResult<FundraisingMenuResult> GetAllFundraisingMenuProjects()
        {
            DataTableResult<FundraisingMenuResult> result = new DataTableResult<FundraisingMenuResult>();

            using (CIHEntities _cihContext = new CIHEntities())
            {
                // Get data.
                result.data = _cihContext.CihProject.ToList()
                    .Where(p => p.FundraisingFlag != null && p.FundraisingFlag == true)
                    .Select(p => GetResult(p))
                    .ToList();

                return result;
            }
        }
        /// <summary>
        ///  Web Service to process requests from the Enrollment Site DataTable
        /// </summary>
        /// <param name="draw">Automatically posted by JQuery DataTables: count of the number of times this table has been drawn.</param>
        /// <param name="start">Automatically posted by JQuery DataTables: the starting index of the current result set.</param>
        /// <param name="length">Automatically posted by JQuery DataTables: the number of rows displayed by the table.</param>
        /// <param name="searchValue">Automatically posted by JQuery DataTables: </param>
        /// <param name="searchRegex">Automatically posted by JQuery DataTables: </param>
        /// <param name="order">Automatically posted by JQuery DataTables: </param>
        /// <returns>String formatted for JQuery DataTables.</returns>
        public string DataTableJurisdiction(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            // Initialize the DataTable response (later transformed to JSON)
            DataTableResult dtr = new DataTableResult()
            {
                draw            = draw,
                recordsTotal    = 1,
                recordsFiltered = 1,
                data            = new List <string[]>(),
                error           = String.Empty
            };

            var  sJurisdiction    = Request.Params["columns[1][search][value]"];
            var  sUnit            = Request.Params["columns[2][search][value]"];
            int  iniIndex         = start;
            int  noDsplyRecs      = length;
            int  jurisdiction     = -1;
            bool haveUnit         = false;
            bool haveJurisdiction = false;

            if (int.TryParse(sJurisdiction, out jurisdiction))
            {
                haveJurisdiction = true;
            }

            if (!string.IsNullOrEmpty(sUnit))
            {
                haveUnit = true;
            }

            var context = DataContext.getUasDbContext();
            var query   = (from gr in context.uas_Group
                           join e in context.uas_Group on gr.ParentGroupId equals e.GroupID into eg // left join uas_Group
                           from elj in
                           (from g in eg
                            select new
            {
                g.GroupID,
                g.GroupName
            }
                           ).DefaultIfEmpty()
                           where gr.GroupTypeID == 194 &&
                           (haveJurisdiction == false || gr.GroupID == jurisdiction) &&
                           (haveUnit == false || elj.GroupName.StartsWith(sUnit))
                           orderby gr.GroupName
                           let Unit = elj.GroupName
                                      select new
            {
                gr.GroupID,
                gr.GroupName,
                Unit
            }).ToList();


            if (Request.Params["order[0][column]"] != null)
            {
                int  orderColumnIndex = Convert.ToInt32(Request.Params["order[0][column]"]);
                bool descending       = Request.Params["order[0][dir]"] == "desc";
                query = query.OrderBy(row => GetJurisdictionSort(row, orderColumnIndex)).ToList();
                if (descending)
                {
                    query.Reverse();
                }
            }

            var jurisdicions = query.Skip(iniIndex).Take(noDsplyRecs);

            dtr.recordsTotal = dtr.recordsFiltered = query.Count();

            var data = from j in jurisdicions
                       select new List <String>
            {
                "<a href=\"/AdapCa/EditJurisdiction?id=" + j.GroupID + "\"><i class=\"glyphicon glyphicon-edit\"></i></a>",
                j.GroupName,
                j.Unit
            };

            dtr.data = (from s in data
                        select s.ToArray()).ToList();
            fastJSON.JSONParameters param = new fastJSON.JSONParameters();
            param.EnableAnonymousTypes = true;
            var result = fastJSON.JSON.ToJSON(dtr, param);

            return(result);
        }
        /// <summary>
        ///  Web Service to process requests from the Enrollment Site DataTable
        /// </summary>
        /// <param name="draw">Automatically posted by JQuery DataTables: count of the number of times this table has been drawn.</param>
        /// <param name="start">Automatically posted by JQuery DataTables: the starting index of the current result set.</param>
        /// <param name="length">Automatically posted by JQuery DataTables: the number of rows displayed by the table.</param>
        /// <param name="searchValue">Automatically posted by JQuery DataTables: </param>
        /// <param name="searchRegex">Automatically posted by JQuery DataTables: </param>
        /// <param name="order">Automatically posted by JQuery DataTables: </param>
        /// <returns>String formatted for JQuery DataTables.</returns>
        public string DataTableEnrollmentSite(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            // Initialize the DataTable response (later transformed to JSON)
            DataTableResult dtr = new DataTableResult()
            {
                draw            = draw,
                recordsTotal    = 1,
                recordsFiltered = 1,
                data            = new List <string[]>(),
                error           = String.Empty
            };

            var sUnit       = Request.Params["columns[1][search][value]"];
            var sSiteName   = Request.Params["columns[2][search][value]"];
            int iniIndex    = start;
            int noDsplyRecs = length;

            var context = DataContext.getUasDbContext();
            IEnumerable <vEnrollmentSite> query = (from v in context.vEnrollmentSites
                                                   where (string.IsNullOrEmpty(sUnit) || v.Jurisdiction.Contains(sUnit)) &&
                                                   (string.IsNullOrEmpty(sSiteName) || v.Enrollment_Site.Contains(sSiteName))
                                                   select v).ToList();


            if (Request.Params["order[0][column]"] != null)
            {
                int  orderColumnIndex = Convert.ToInt32(Request.Params["order[0][column]"]);
                bool descending       = Request.Params["order[0][dir]"] == "desc";
                query = query.OrderBy(row => GetEnrollmentSiteSort(row, orderColumnIndex));
                if (descending)
                {
                    query = query.Reverse();
                }
            }
            else
            {
                query = query.OrderBy(x => x.Site__).ToList();
            }

            var sites = query.Skip(iniIndex).Take(noDsplyRecs).ToList();

            dtr.recordsTotal = dtr.recordsFiltered = query.Count();

            var data = from v in sites
                       select new List <string>
            {
                "<a href=\"/AdapCa/EditEnrollmentSite?id=" + v.GroupId + "\"><i class=\"glyphicon glyphicon-edit\"></i></a>",
                v.Jurisdiction,
                v.Site__,
                v.Restrictions,
                v.Enrollment_Site,
                v.Address,
                v.Telephone,
                v.Contact
            };

            dtr.data = (from s in data
                        select s.ToArray()).ToList();
            fastJSON.JSONParameters param = new fastJSON.JSONParameters();
            param.EnableAnonymousTypes = true;
            var result = fastJSON.JSON.ToJSON(dtr, param);

            return(result);
        }
        /// <summary>
        ///  Web Service to process requests from the ADAP Clinic Admin DataTable
        /// </summary>
        /// <param name="draw">Automatically posted by JQuery DataTables: count of the number of times this table has been drawn.</param>
        /// <param name="start">Automatically posted by JQuery DataTables: the starting index of the current result set.</param>
        /// <param name="length">Automatically posted by JQuery DataTables: the number of rows displayed by the table.</param>
        /// <param name="searchValue">Automatically posted by JQuery DataTables: </param>
        /// <param name="searchRegex">Automatically posted by JQuery DataTables: </param>
        /// <param name="order">Automatically posted by JQuery DataTables: </param>
        /// <returns>String formatted for JQuery DataTables.</returns>
        public string DataTableClinicList(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            string result = String.Empty;

            Debug.WriteLine("Adap Controller ClinicList draw:" + draw.ToString());
            Debug.WriteLine("Adap Controller ClinicList start:" + start.ToString());
            Debug.WriteLine("Adap Controller ClinicList searchValue:" + searchValue);
            Debug.WriteLine("Adap Controller ClinicList searchRegex:" + searchRegex);
            Debug.WriteLine("Adap Controller ClinicList order:" + order);

            //  Lists all the Request parameters
            foreach (string s in Request.Params.Keys)
            {
                Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
            }

            try
            {
                // Initialize the DataTable response (later transformed to JSON)
                DataTableResult dtr = new DataTableResult()
                {
                    draw            = draw,
                    recordsTotal    = 1,
                    recordsFiltered = 1,
                    data            = new List <string[]>(),
                    error           = String.Empty
                };

                // How to find Enterprise ID and Form ID?  Values currently hardcoded to populate Data Table.
                //IQueryable<def_LookupMaster> query = formsRepo.GetLookupMaster(74);

                var sSort  = Request.Params["columns[1][search][value]"];
                var sTeam  = Request.Params["columns[2][search][value]"];
                int teamId = -1;
                if (!String.IsNullOrEmpty(sTeam) && !sTeam.Equals("-1"))
                {
                    try
                    {
                        teamId = Convert.ToInt32(sTeam);
                    }
                    catch (Exception excptn)
                    {
                        Debug.WriteLine("Adap Controller ClinicList Integer Conversion:" + excptn.Message);
                    }
                }
                // rename to avoid language/library conflicts
                int iniIndex    = start;
                int noDsplyRecs = length;

                int entId = SessionHelper.LoginStatus.EnterpriseID;
                Debug.WriteLine("Adap Controller ClinicList SelectedEnterprise:" + entId.ToString());

                IEnumerable <def_LookupDetail> detail = formsRepo.GetLookupMastersByLookupCode("ADAP_CLINIC").def_LookupDetail
                                                        .Where(f => (teamId > -1) ? f.GroupID == teamId : true)
                                                        .Where(f => (entId > 0) ? f.EnterpriseID == entId : true);
                if (String.IsNullOrEmpty(sSort) || sSort.Equals("false"))
                {
                    detail = detail.OrderBy(f => f.displayOrder);
                }
                else
                {
                    detail = detail.OrderBy(f => (f.def_LookupText.FirstOrDefault() != null) ? f.def_LookupText.FirstOrDefault().displayText : "zzzzz");
                }

                IUasSql uasSql = new UasSql();

                dtr.recordsTotal = dtr.recordsFiltered = detail.Count();

                foreach (var d in detail.Skip(iniIndex).Take(noDsplyRecs))
                {
                    string[] data = new string[] {
                        "<button type=\"button\" class=\"btn btn-primary btn-xs text-center\" onclick=\"window.location='/Adap/EditDetail?lookupDetailId=" + d.lookupDetailId.ToString() + "'\">Edit</button>",
                        (formsRepo.GetLookupTextsByLookupDetail(d.lookupDetailId).FirstOrDefault() != null) ? formsRepo.GetLookupTextsByLookupDetail(d.lookupDetailId).FirstOrDefault().displayText : String.Empty,
                        d.dataValue,
                        (d.GroupID == null) ? "" : uasSql.getGroupName(d.GroupID.Value),
                        d.displayOrder.ToString(),
                        d.StatusFlag
                    };
                    dtr.data.Add(data);
                }

                Debug.WriteLine("Adap Controller ClinicList data populated.");

                // Output the JSON in DataTable format
                fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                param.EnableAnonymousTypes = true;
                result = fastJSON.JSON.ToJSON(dtr, param);
                Debug.WriteLine("DataTable Clinic result:" + result);
            }
            catch (Exception excptn)
            {
                Debug.WriteLine("Adap Controller ClinicList exception:" + excptn.Message);
                result = excptn.Message + " - " + excptn.Message;
            }

            return(result);
        }
Exemplo n.º 18
0
        public ActionResult PageData(DataTableFilter <BOQuarentenaFilterViewModel> model)
        {
            int totalRecords         = 0;
            int totalRecordsFiltered = 0;

            var query = _uow.QuarentenaRepository.All();

            totalRecords = query.Count();

            if (!string.IsNullOrEmpty(model.CustomFilter.ChaveAcesso))
            {
                query = query.Where(x => x.Lote.NotaFiscal.ChaveAcesso.Contains(model.CustomFilter.ChaveAcesso));
            }

            if (model.CustomFilter.Lote.HasValue)
            {
                query = query.Where(x => x.IdLote == model.CustomFilter.Lote.Value);
            }

            if (model.CustomFilter.Nota.HasValue)
            {
                query = query.Where(x => x.Lote.NotaFiscal.Numero == model.CustomFilter.Nota);
            }

            if (model.CustomFilter.IdFornecedor.HasValue)
            {
                query = query.Where(x => x.Lote.NotaFiscal.IdFornecedor == model.CustomFilter.IdFornecedor);
            }

            if (model.CustomFilter.IdQuarentenaStatus.HasValue)
            {
                query = query.Where(x => (int)x.QuarentenaStatus.IdQuarentenaStatus == model.CustomFilter.IdQuarentenaStatus);
            }

            if (model.CustomFilter.DataAberturaInicial.HasValue)
            {
                DateTime dataInicial = new DateTime(model.CustomFilter.DataAberturaInicial.Value.Year, model.CustomFilter.DataAberturaInicial.Value.Month, model.CustomFilter.DataAberturaInicial.Value.Day,
                                                    00, 00, 00);
                query = query.Where(x => x.DataAbertura >= dataInicial);
            }

            if (model.CustomFilter.DataAberturaFinal.HasValue)
            {
                DateTime dataFinal = new DateTime(model.CustomFilter.DataAberturaFinal.Value.Year, model.CustomFilter.DataAberturaFinal.Value.Month, model.CustomFilter.DataAberturaFinal.Value.Day,
                                                  23, 59, 59);
                query = query.Where(x => x.DataAbertura <= dataFinal);
            }

            if (model.CustomFilter.DataEncerramentoInicial.HasValue)
            {
                DateTime dataEncerramentoInicial = new DateTime(model.CustomFilter.DataEncerramentoInicial.Value.Year, model.CustomFilter.DataEncerramentoInicial.Value.Month, model.CustomFilter.DataEncerramentoInicial.Value.Day,
                                                                00, 00, 00);
                query = query.Where(x => x.DataEncerramento >= dataEncerramentoInicial);
            }

            if (model.CustomFilter.DataEncerramentoFinal.HasValue)
            {
                DateTime prazoEncerramentoFinal = new DateTime(model.CustomFilter.DataEncerramentoFinal.Value.Year, model.CustomFilter.DataEncerramentoFinal.Value.Month, model.CustomFilter.DataEncerramentoFinal.Value.Day,
                                                               23, 59, 59);
                query = query.Where(x => x.DataEncerramento <= prazoEncerramentoFinal);
            }

            IEnumerable <BOQuarentenaListItemViewModel> list = query.ToList()
                                                               .Select(x => new BOQuarentenaListItemViewModel
            {
                IdQuarentena       = x.IdQuarentena,
                Lote               = x.IdLote,
                ChaveAcesso        = x.Lote.NotaFiscal.ChaveAcesso,
                Nota               = x.Lote.NotaFiscal.Numero,
                Fornecedor         = x.Lote.NotaFiscal.Fornecedor.NomeFantasia,
                DataAbertura       = x.DataAbertura.ToString("dd/MM/yyyy"),
                DataEncerramento   = x.DataEncerramento.HasValue ? x.DataEncerramento.Value.ToString("dd/MM/yyyy") : string.Empty,
                Atraso             = x.DataAbertura.Subtract(x.DataEncerramento ?? DateTime.Now).Days,
                Status             = x.QuarentenaStatus.Descricao,
                LoteStatus         = x.Lote.IdLoteStatus.ToString(),
                IdQuarentenaStatus = (int)x.IdQuarentenaStatus
            });

            if (model.CustomFilter.Atraso.HasValue)
            {
                list = list.Where(x => x.Atraso == model.CustomFilter.Atraso);
            }

            totalRecordsFiltered = list.Count();

            var result = list
                         .OrderBy(model.OrderByColumn, model.OrderByDirection)
                         .Skip(model.Start)
                         .Take(model.Length);

            return(DataTableResult.FromModel(new DataTableResponseModel()
            {
                Draw = model.Draw,
                RecordsTotal = totalRecords,
                RecordsFiltered = totalRecordsFiltered,
                Data = result
            }));
        }
        public string DataTableMasters(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            string result = String.Empty;

            Debug.WriteLine("Def3Maint Controller DataTableMasters draw:" + draw.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableMasters start:" + start.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableMasters searchValue:" + searchValue);
            Debug.WriteLine("Def3Maint Controller DataTableMasters searchRegex:" + searchRegex);
            Debug.WriteLine("Def3Maint Controller DataTableMasters order:" + order);

            //  Lists all the Request parameters
            foreach (string s in Request.Params.Keys)
            {
                Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
            }

            try
            {
                // Initialize the DataTable response (later transformed to JSON)
                DataTableResult dtr = new DataTableResult()
                {
                    draw            = draw,
                    recordsTotal    = 1,
                    recordsFiltered = 1,
                    data            = new List <string[]>(),
                    error           = String.Empty
                };

                // rename to avoid language/library conflicts
                int iniIndex    = start;
                int noDsplyRecs = length;

                List <def_LookupMaster> query = formsRepo.GetLookupMasters();

                List <def_BaseTypes> types = formsRepo.GetBaseTypes();
                string basedropdown        = String.Empty;
                foreach (def_BaseTypes bt in types)
                {
                    basedropdown += "<option value=\"" + bt.baseTypeId + "\">" + bt.enumeration + "</option>";
                }

                dtr.recordsTotal = dtr.recordsFiltered = query.Count();
                foreach (def_LookupMaster q in query.Skip(iniIndex).Take(noDsplyRecs).ToList())
                {
                    string dropdown = basedropdown;

                    // Flag the appropriate html option as selected.
                    string findText = "value=\"" + q.baseTypeId;
                    int    index    = dropdown.IndexOf(findText);
                    dropdown = dropdown.Insert(index - 1, " selected=\"selected\"");

                    string[] data = new string[] {
                        "<span id=\"lkpCd[" + q.lookupMasterId + "]\">" + q.lookupCode + "</span>",
                        "<span id=\"ttl[" + q.lookupMasterId + "]\">" + q.title + "</span>",
                        "<span id=\"bsTyp[" + q.lookupMasterId + "]\">" + formsRepo.GetBaseTypeById(q.baseTypeId).enumeration + "</span>"
                        + "<span id=\"bsTypSelDat[" + q.lookupMasterId + "]\" hidden=\"hidden\">"
                        + "<select class=\"masterBase form-control\" id=\"bsTypSel[" + q.lookupMasterId + "]\" name=\"addMasterBase\">"
                        + dropdown
                        + "</select>"
                        + "</span>",
                        "<span id=\"editMaster[" + q.lookupMasterId + "]\"><a href=\"#\" onclick=\"editMaster(" + q.lookupMasterId + ")\">Edit</a></span>"
                        + "<span id=\"saveMaster[" + q.lookupMasterId + "]\" hidden=\"hidden\"><a href=\"#\" onclick=\"saveMaster(" + q.lookupMasterId + ")\">Save</a></span>",
                        "<span id=\"detailsInquiry[" + q.lookupMasterId + "]\"><a href=\"#\" onclick=\"DetailsInquiry(" + q.lookupMasterId + ", '" + q.title + "')\">View Details</a></span>"
                        + "<span id=\"cancelMaster[" + q.lookupMasterId + "]\" hidden=\"hidden\"><a href=\"#\" onclick=\"cancelMaster(" + q.lookupMasterId + ")\">Cancel</a></span>",
                        "<span id=\"deleteMaster[" + q.lookupMasterId + "]\"><a href=\"#\" onclick=\"deleteMaster(" + q.lookupMasterId + ", '" + q.lookupCode + "')\">Delete</a></span>"
                    };
                    dtr.data.Add(data);
                }

                Debug.WriteLine("Def3Maint Controller DataTableMasters data populated.");

                // Output the JSON in DataTable format
                fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                param.EnableAnonymousTypes = true;
                result = fastJSON.JSON.ToJSON(dtr, param);
                Debug.WriteLine("Def3Maint Controller DataTableMasters result:" + result);
            }
            catch (Exception excptn)
            {
                Debug.WriteLine("Def3Maint Controller DataTableMasters exception:" + excptn.Message);
                result = excptn.Message + " - " + excptn.Message;
            }

            return(result);
        }
        public string DataTableDetails(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            int    masterId = 0;
            int    ent      = 0;
            int    grp      = 0;
            string result   = String.Empty;

            Debug.WriteLine("Def3Maint Controller DataTableDetails draw:" + draw.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableDetails start:" + start.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableDetails searchValue:" + searchValue);
            Debug.WriteLine("Def3Maint Controller DataTableDetails searchRegex:" + searchRegex);
            Debug.WriteLine("Def3Maint Controller DataTableDetails order:" + order);
            try
            {
                string r = Request["masterId"];
                if (!String.IsNullOrEmpty(r))
                {
                    masterId = Convert.ToInt32(r);
                }
                r = Request["entId"];
                if (!String.IsNullOrEmpty(r))
                {
                    try
                    {
                        ent = Convert.ToInt32(r);
                    }
                    catch (FormatException excptn)
                    {
                    }
                }
                r = Request["grpId"];
                if (!String.IsNullOrEmpty(r))
                {
                    try
                    {
                        grp = Convert.ToInt32(r);
                    }
                    catch (FormatException excptn)
                    {
                    }
                }
                //  Lists all the Request parameters
                foreach (string s in Request.Params.Keys)
                {
                    Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
                }

                try
                {
                    // Initialize the DataTable response (later transformed to JSON)
                    DataTableResult dtr = new DataTableResult()
                    {
                        draw            = draw,
                        recordsTotal    = 1,
                        recordsFiltered = 1,
                        data            = new List <string[]>(),
                        error           = String.Empty
                    };

                    // rename to avoid language/library conflicts
                    int iniIndex    = start;
                    int noDsplyRecs = length;

                    int englishId = 0;
                    foreach (def_Languages l in formsRepo.GetAllLanguages())
                    {
                        if (l.title.Equals("English"))
                        {
                            englishId = l.langId;
                            break;
                        }
                    }
                    List <def_LookupDetail> query = formsRepo.GetLookupDetails(masterId, ent, grp);

                    List <def_BaseTypes> types = formsRepo.GetBaseTypes();
                    dtr.recordsTotal = dtr.recordsFiltered = query.Count();
                    foreach (def_LookupDetail q in query.Skip(iniIndex).Take(noDsplyRecs).ToList())
                    {
                        def_LookupText dl      = formsRepo.GetLookupTextsByLookupDetailLanguage(q.lookupDetailId, englishId).FirstOrDefault();
                        string         engText = (dl != null) ? dl.displayText : String.Empty;
                        string[]       data    = new string[] {
                            "<span id=\"dataValue[" + q.lookupDetailId + "]\">" + q.dataValue + "</span>",
                            "<span id=\"order[" + q.lookupDetailId + "]\">" + q.displayOrder + "</span>",
                            "<span id=\"english[" + q.lookupDetailId + "]\">" + engText + "</span>",
                            "<span id=\"editDetail[" + q.lookupDetailId + "]\"><a href=\"#\" onclick=\"editDetail(" + q.lookupDetailId + ")\">Edit</a></span>"
                            + "<span id=\"saveDetail[" + q.lookupDetailId + "]\" hidden=\"hidden\"><a href=\"#\" onclick=\"saveDetail(" + q.lookupDetailId + ")\">Save </a></span>",
                            "<span id=\"textDetail[" + q.lookupDetailId + "]\"><a href=\"#\" onclick=\"textDetail(" + q.lookupDetailId + ", '" + q.dataValue + "')\">View Text </a></span>"
                            + "<span id=\"cancelDetail[" + q.lookupDetailId + "]\" hidden=\"hidden\"><a href=\"#\" onclick=\"cancelDetail(" + q.lookupDetailId + ")\">Cancel </a></span>",
                            "<span id=\"deleteDetail[" + q.lookupDetailId + "]\"><a href=\"#\" onclick=\"deleteDetail(" + q.lookupDetailId + ", '" + q.dataValue + "')\">Delete</a></span>"
                        };
                        dtr.data.Add(data);
                    }

                    Debug.WriteLine("Def3Maint Controller DataTableDetails data populated.");

                    // Output the JSON in DataTable format
                    fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                    param.EnableAnonymousTypes = true;
                    result = fastJSON.JSON.ToJSON(dtr, param);
                    Debug.WriteLine("Def3Maint Controller DataTableDetails result:" + result);
                }
                catch (Exception excptn)
                {
                    Debug.WriteLine("Def3Maint Controller DataTableDetails exception:" + excptn.Message);
                    result = excptn.Message + " - " + excptn.Message;
                }
            }
            catch (FormatException excptn)
            {
                Debug.WriteLine("Def3Maint Controller DataTableDetails masterId format exception:" + excptn.Message);
            }
            return(result);
        }
        public string DataTableTexts(int draw, int start, int length, string searchValue, string searchRegex, string order)
        {
            int    detailId = 0;
            string result   = String.Empty;

            Debug.WriteLine("Def3Maint Controller DataTableTexts draw:" + draw.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableTexts start:" + start.ToString());
            Debug.WriteLine("Def3Maint Controller DataTableTexts searchValue:" + searchValue);
            Debug.WriteLine("Def3Maint Controller DataTableTexts searchRegex:" + searchRegex);
            Debug.WriteLine("Def3Maint Controller DataTableTexts order:" + order);
            try
            {
                string r = Request["detailId"];
                if (!String.IsNullOrEmpty(r))
                {
                    detailId = Convert.ToInt32(r);
                }
                //  Lists all the Request parameters
                foreach (string s in Request.Params.Keys)
                {
                    Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
                }

                try
                {
                    // Initialize the DataTable response (later transformed to JSON)
                    DataTableResult dtr = new DataTableResult()
                    {
                        draw            = draw,
                        recordsTotal    = 1,
                        recordsFiltered = 1,
                        data            = new List <string[]>(),
                        error           = String.Empty
                    };

                    // rename to avoid language/library conflicts
                    int iniIndex    = start;
                    int noDsplyRecs = length;

                    List <def_LookupText> query = formsRepo.GetLookupTextsByLookupDetail(detailId);

                    List <def_BaseTypes> types = formsRepo.GetBaseTypes();
                    string basedropdown        = String.Empty;
                    foreach (def_Languages l in formsRepo.GetAllLanguages())
                    {
                        basedropdown += "<option value=\"" + l.langId + "\">" + l.title + "</option>";
                    }

                    dtr.recordsTotal = dtr.recordsFiltered = query.Count();
                    foreach (def_LookupText q in query.Skip(iniIndex).Take(noDsplyRecs).ToList())
                    {
                        string dropdown = basedropdown;

                        // Flag the appropriate html option as selected.
                        string findText = "value=\"" + q.langId;
                        int    index    = dropdown.IndexOf(findText);
                        dropdown = dropdown.Insert(index - 1, " selected=\"selected\"");

                        string[] data = new string[] {
                            "<span id=\"language[" + q.lookupTextId + "]\">" + formsRepo.GetLanguageById(q.langId).title + "</span>"
                            + "<span hidden=\"hidden\" id=\"languageSelectTd[" + q.lookupTextId + "]\">"
                            + "<select name=\"selectdLanguage\" class=\"form-control\" id=\"selectLanguage[" + q.lookupTextId + "]\">"
                            + dropdown
                            + "</select>"
                            + "</span>",
                            "<span id=\"displayText[" + q.lookupTextId + "]\">" + q.displayText + "</span>",
                            "<span id=\"editText[" + q.lookupTextId + "]\"><a href=\"#\" onclick=\"editText(" + q.lookupTextId + ")\">Edit</a></span>"
                            + "<span hidden=\"hidden\" id=\"saveText[" + q.lookupTextId + "]\"><a href=\"#\" onclick=\"saveText(" + q.lookupTextId + ")\">Save</a></span>",
                            "<span id=\"deleteText[" + q.lookupTextId + "]\"><a href=\"#\" onclick=\"deleteText(" + q.lookupTextId + ",'" + q.displayText + "')\">Delete</a></span>"
                            + "<span hidden=\"hidden\" id=\"cancelText[" + q.lookupTextId + "]\"><a href=\"#\" onclick=\"cancelText(" + q.lookupTextId + ")\">Cancel</a></span>"
                        };
                        dtr.data.Add(data);
                    }

                    Debug.WriteLine("Def3Maint Controller DataTableTexts data populated.");

                    // Output the JSON in DataTable format
                    fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                    param.EnableAnonymousTypes = true;
                    result = fastJSON.JSON.ToJSON(dtr, param);
                    Debug.WriteLine("Def3Maint Controller DataTableTexts result:" + result);
                }
                catch (Exception excptn)
                {
                    Debug.WriteLine("Def3Maint Controller DataTableTexts exception:" + excptn.Message);
                    result = excptn.Message + " - " + excptn.Message;
                }
            }
            catch (FormatException excptn)
            {
                Debug.WriteLine("Def3Maint Controller DataTableTexts detailId format exception:" + excptn.Message);
            }
            return(result);
        }
Exemplo n.º 22
0
        public string DataTableCSSPeopleList(int draw, int start, int length, string searchValue, string searchRegex,
                                             string order)
        {
            string result = String.Empty;

            Debug.WriteLine("DataTableController UserList draw:" + draw.ToString());
            Debug.WriteLine("DataTableController UserList start:" + start.ToString());
            Debug.WriteLine("DataTableController UserList searchValue:" + searchValue);
            Debug.WriteLine("DataTableController UserList searchRegex:" + searchRegex);
            Debug.WriteLine("DataTableController UserList order:" + order);

            //  Lists all the Request parameters
            foreach (string s in Request.Params.Keys)
            {
                Debug.WriteLine(s.ToString() + ":" + Request.Params[s]);
            }

            try
            {
                // Initialize the DataTable response (later transformed to JSON)
                DataTableResult dtr = new DataTableResult()
                {
                    draw            = draw,
                    recordsTotal    = 1,
                    recordsFiltered = 1,
                    data            = new List <string[]>(),
                    error           = String.Empty
                };

                var sFirstN  = Request.Params["columns[1][search][value]"];
                var sLastN   = Request.Params["columns[2][search][value]"];
                var sloginId = Request.Params["columns[3][search][value]"];
                var sEmail   = Request.Params["columns[4][search][value]"];

                // rename to avoid language/library conflicts
                int iniIndex    = start;
                int noDsplyRecs = length;


                // Parse the parameters from DataTable request

                /*
                 * if (!String.IsNullOrEmpty(json))
                 * {
                 *  var dResults = fastJSON.JSON.Parse(json);
                 * }
                 */

                AuthenticationClient auth = new AuthenticationClient();

                int entId = 8;
                int appId = 3;

                List <List <string> > usrs = auth.List_CSS_people_Users(SessionHelper.LoginStatus.UserID, entId, iniIndex, noDsplyRecs,
                                                                        sFirstN, sLastN, sloginId, sEmail);

                //* * * OT 2-23-16 explaination for Bug 13019, comment 21, first bullet
                //for users that do not have the "View users" permission, they can only see themselves in the limited users list
                //we do this by searching for the current user's loginId
                //this normally works, but in some cases there are multiple loginIds that contain the current user's loginId
                //Example: Login as nctest and you can also see NCTest1.


                //Final record stores total result set count.
                if (usrs.Count > 0)
                {
                    dtr.recordsTotal = dtr.recordsFiltered = Convert.ToInt32(usrs[usrs.Count - 1][0]);//usrCount;
                    usrs.RemoveAt(usrs.Count - 1);
                    Debug.WriteLine("DataTableController usrs.Count:" + usrs.Count.ToString());
                }
                else
                {
                    dtr.recordsTotal = dtr.recordsFiltered = 0;
                    Debug.WriteLine("DataTableController usrs.Count:" + 0);
                }
                dtr.data = (from u in usrs
                            select u.ToArray()).ToList();

                Debug.WriteLine("DataTableController UserList data populated.");

                // Output the JSON in DataTable format
                fastJSON.JSONParameters param = new fastJSON.JSONParameters();
                param.EnableAnonymousTypes = true;
                result = fastJSON.JSON.ToJSON(dtr, param);
                Debug.WriteLine("DataTableController UserList result:" + result);
            }
            catch (Exception excptn)
            {
                Debug.WriteLine("DataTableController UserList exception:" + excptn.Message);
                result = excptn.Message + " - " + excptn.InnerException.Message;
            }

            return(result);
        }