示例#1
0
        public virtual DT_ViewList <TResult> GetTableRows(DataTableParameters dtParams, List <Sorter <TEntity> > sorters, Expression <Func <TEntity, bool> > filter, Expression <Func <TEntity, TResult> > selector)
        {
            var list         = PrepareSet().Where(filter);
            int recordsTotal = list.Count();

            #region Order By
            var i = 0;
            foreach (var sorter in sorters)
            {
                i++;
                list = sorter.Sort(list, i > 1);
            }
            #endregion

            #region ModelViewReturn
            var listToShow = list.Skip(dtParams.Start).Take(dtParams.Length).Select(selector).ToList();

            DT_ViewList <TResult> ModelViewReturn = new DT_ViewList <TResult>();
            ModelViewReturn.draw            = dtParams.Draw + 1;
            ModelViewReturn.recordsFiltered = listToShow.Count();
            ModelViewReturn.recordsTotal    = recordsTotal;
            ModelViewReturn.data            = listToShow;
            #endregion

            return(ModelViewReturn);
        }
示例#2
0
        public JsonResult GetTableList(int AreaId, DataTableParameters dataTableParameters)
        {
            var urlTopic = Url.RouteUrl("AnswerList", new { id = 0 });

            urlTopic = urlTopic.Remove(urlTopic.Length - 1);

            Expression <Func <Database.ForumTopic, bool> > filter = null;

            if (AreaId > 0)
            {
                filter = x => x.Active && x.CategoryId == AreaId;
            }
            else
            {
                var searchText = Session["SearchText"].ToString();
                filter = x => x.Active && (x.Name.Contains(searchText) || x.ForumAnswers.Any(y => y.Active && y.Answer.Contains(searchText)));
            }

            var list = _crudRepository.GetTableRows(dataTableParameters, _crudRepository.GetSorters(dataTableParameters), filter, x => new TableRowModel()
            {
                Replies   = x.Replies,
                Views     = x.Views,
                Voicer    = x.User.Nickname,
                TopicDate = x.StartDate,
                TopicName = x.Name,
                TopicURL  = urlTopic + x.Id
            });

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult GetIcons(DataTableParameters dataTableParameters)
        {
            using (var db = new ZapContext())
            {
                var icons = db.Icons.OrderByDescending(i => i.Id).Skip(dataTableParameters.Start).Take(dataTableParameters.Length)
                            .ToList();

                var values = icons.Select(i => new DataItem()
                {
                    Icon    = i.Icon,
                    Graphic = i.Icon,
                    Id      = i.Id,
                }).ToList();


                int numrec = db.Icons.Count();

                var ret = new
                {
                    draw            = dataTableParameters.Draw,
                    recordsTotal    = numrec,
                    recordsFiltered = numrec,
                    data            = values
                };
                return(Json(ret));
            }
        }
示例#4
0
        public JsonResult GetCourseById(DataTableParameters dataTableParameters, int ID)
        {
            COURSE course = new COURSE();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = course.GetCourseByID(ID, dataTableParameters.Start + 1,
                                           dataTableParameters.Start + dataTableParameters.Length + 1);

            resultSet.recordsTotal = resultSet.recordsFiltered = course.GetCount(ID);

            foreach (var i in lst)
            {
                var columns = new List <string>();

                columns.Add("<img src='" + i.PICTURE + "' class='img-rounded' height='100' width='100' alt='X' />");
                columns.Add(i.EMP_ID == null ? "" : i.EMP_ID.Trim());
                columns.Add(i.EMP_NAME == null ? "" : i.EMP_NAME.Trim());
                columns.Add(i.DEPARTMENT == null ? "" : i.DEPARTMENT.Trim());
                columns.Add(i.COURSE.Trim());
                columns.Add(i.TEACHER == null ? "" : i.TEACHER.Trim());
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#5
0
        public JsonResult GetPagination(DataTableParameters parameters)
        {
            var search = parameters.Search.Value?.ToLower() ?? string.Empty;
            var repo   = new RepositoryBase <Company>(_db);
            var items  = repo.GetItemsByExpression(w => w.Name.Contains(search), x => x.Name, parameters.Start, parameters.Length, out var recordsTotal)
                         .Select(s => new
            {
                s.CompanyId,
                s.Logo,
                s.Name,
                s.Cnpj
            }).ToList();
            var dtResult = new DataTableResultSet(parameters.Draw, recordsTotal);

            var buttons = new ButtonsCompany();

            foreach (var item in items)
            {
                dtResult.data.Add(new object[]
                {
                    item.Name,
                    item.Cnpj,
                    buttons.ToPagination(item.CompanyId, Account.Current.Roles)
                });
            }
            return(Json(dtResult, JsonRequestBehavior.AllowGet));
        }
示例#6
0
        public override List <Sorter <Whisper> > GetSorters(DataTableParameters dtParams)
        {
            List <Sorter <Whisper> > list = new List <Sorter <Whisper> >();

            if (dtParams.Order != null)
            {
                foreach (var orderItem in dtParams.Order)
                {
                    Sorter <Whisper> sorter = Sorter <Whisper> .Get(x => x.DateSent, false);

                    bool asc = (orderItem.Dir == "asc");

                    if (orderItem.Column == 0)
                    {
                        list.Add(Sorter <Whisper> .Get(x => x.Id, asc));
                    }
                    else if (orderItem.Column == 1)
                    {
                        list.Add(Sorter <Whisper> .Get(x => x.DateSent, asc));
                    }
                }
            }

            if (list.Count == 0)
            {
                list.Add(Sorter <Whisper> .Get(x => x.DateSent, false));
            }

            return(list);
        }
示例#7
0
        public JsonResult GetIdea(DataTableParameters dataTableParameters, string div, string dep)
        {
            IdeaManager idea = IdeaManager.GetInstance();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = idea.SelectPaging(dataTableParameters.Start + 1, dataTableParameters.Start + dataTableParameters.Length + 1, div, dep);

            resultSet.recordsTotal = resultSet.recordsFiltered = idea.GetCount(div, dep);

            foreach (var i in lst)
            {
                var columns = new List <string>();
                columns.Add(i.ROWNUM.ToString());
                columns.Add((i.DIVISION == null) ? "" : i.DIVISION.Trim());
                columns.Add((i.DEPARTMENT == null) ? "" : i.DEPARTMENT.Trim());
                columns.Add((i.EMP_NAME == null) ? "" : i.EMP_NAME.Trim());
                columns.Add("<a class='title' href='#' id='" + i.ID + "' data-emp='" + i.EMP_ID.Trim() + "'>" + i.IDEA_TITLE.Trim() + "</a>");
                columns.Add((i.DATE == null) ? "" : i.DATE.ToShortDateString());
                columns.Add("<a href='#' class='rep' title='Reply' data-id='" + i.ID + "' data-trigger='focus'><span class='badge badge-pill badge-primary'>" + i.REP.ToString() + "</span></a>");
                columns.Add("<a href='#' class='like' title='Like' data-id='" + i.ID + "' data-table='1' data-trigger='focus'><span class='badge badge-pill badge-primary'>" + i.L.ToString() + "</span></a>");
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#8
0
        public JsonResult GetEmployee(DataTableParameters dataTableParameters)
        {
            EMPLOYEE cus = new EMPLOYEE();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = cus.SelectPaging(dataTableParameters.Start + 1,
                                       dataTableParameters.Start + dataTableParameters.Length + 1, dataTableParameters.Search.Value);

            resultSet.recordsTotal = resultSet.recordsFiltered = cus.GetCount(dataTableParameters.Search.Value);

            foreach (var i in lst)
            {
                var columns = new List <string>();
                columns.Add("<input type='checkbox' class='ckb' id='" + i.EMP_ID.Trim() + "' />");
                columns.Add(i.EMP_NAME.Trim());
                columns.Add(i.EMP_ID.Trim());
                columns.Add(i.C_ID == null ? "" : i.C_ID.Trim());
                columns.Add(i.CUST_NAME == null ? "" : i.CUST_NAME.Trim());
                columns.Add(i.EMP_MOBILE == null ? "" : i.EMP_MOBILE.Trim());
                columns.Add(i.EMP_EMAIL == null ? "" : i.EMP_EMAIL.Trim());
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#9
0
        public async Task <IActionResult> DataHandler(DataTableParameters model)
        {
            var start  = Convert.ToInt32(HttpContext.Request.Form["start"].FirstOrDefault());
            var length = Convert.ToInt32(HttpContext.Request.Form["length"].FirstOrDefault());

            List <Message> messages;
            long           total;

            total = await _messages.Find(Message => true).CountDocumentsAsync();

            messages = await _messages.Find(Message => true).Sort(new MongoDB.Bson.BsonDocument("MessageDate", -1)).Skip(start).Limit(length).ToListAsync();

            var newData = messages.Select(m => new[]
            {
                "<div class=\"row align-items-center justify-content-center mt-3\">"
                + "<span style=\"color:Orange;\">" + HttpUtility.HtmlEncode(m.SenderName) + "</span>"
                + "&nbsp; &nbsp; &nbsp;"
                + "<span style=\"color:DarkBlue;\">" + HttpUtility.HtmlEncode(m.Email) + "</span>"
                + "&nbsp; &nbsp; &nbsp;"
                + "<span style=\"color:BurlyWood;\">" + HttpUtility.HtmlEncode(m.MessageDate) + "</span>"
                + "</div>"
                + "<div class=\"row align-items-center justify-content-center mt-3\">"
                + "<div>" + DisplaySmiles(HttpUtility.HtmlEncode(m.MessageText)) + "</div>"
                + "</div>"
            }).ToList();

            var result = new
            {
                aaData = newData,
                iTotalDisplayRecords = total,
                iTotalRecords        = total
            };

            return(Json(result));
        }
        //Search based on param.Search only.
        //TODO: can add each search for individual columns
        public virtual IQueryable <OperationSummaryProvider> GetSearchResult(DataTableParameters param, List <OperationSummaryProvider> list)
        {
            string search = param.Search.Value;

            return(list.AsQueryable().Where(p => (search == null ||
                                                  p.Provider != null && p.Provider.ToLower().Contains(search.ToLower()))));
        }
示例#11
0
        public JsonResult GetVisit(DataTableParameters dataTableParameters, string from, string to, string cus_id, string emp_id)
        {
            VIST_CONTACTOR vit = new VIST_CONTACTOR();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = vit.GetVisit(from, to, cus_id, emp_id, dataTableParameters.Start + 1,
                                   dataTableParameters.Start + dataTableParameters.Length + 1);

            resultSet.recordsTotal = resultSet.recordsFiltered = vit.GetCountVisit(from, to, cus_id, emp_id);

            foreach (var i in lst)
            {
                var columns = new List <string>();
                columns.Add("<input type='checkbox' class='ckb' id='" + i.ID + "' data-emp='" + i.EMP_ID + "' />");
                columns.Add(i.CONTACT_DATE.ToShortDateString());
                columns.Add(i.CUSTOMER_ID.ToString());
                columns.Add(i.CUS_NAME.ToString());
                columns.Add(i.CUST_VIST_TYPE == null ? "" : i.CUST_VIST_TYPE);
                columns.Add(i.CUST_VIST_PURPOSE == null ? "" : i.CUST_VIST_PURPOSE);
                columns.Add(i.VIST_REMARK == null ? "" : i.VIST_REMARK);
                columns.Add(i.EMP_NAME == null? "":i.EMP_NAME);

                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#12
0
        public JsonResult GetTableList(string Type, DataTableParameters dtParams)
        {
            Expression <Func <Whisper, bool> >            filter   = x => true;
            Expression <Func <Whisper, WhisperRowModel> > selector = null;

            if (Type == "INBOX")
            {
                filter   = x => x.UserReceiverId == this._userID && !x.DeleteReceiver;
                selector = x => new WhisperRowModel()
                {
                    Id         = x.Id,
                    Date       = x.DateSent,
                    Message    = x.Title,
                    VoicerId   = x.UserSenderId,
                    VoicerName = x.User1.Nickname
                };
            }
            else if (Type == "SENT")
            {
                filter   = x => x.UserSenderId == this._userID && !x.DeleteSender;
                selector = x => new WhisperRowModel()
                {
                    Id         = x.Id,
                    Date       = x.DateSent,
                    Message    = x.Title,
                    VoicerId   = x.UserReceiverId,
                    VoicerName = x.User1.Nickname
                };
            }
            var list = _crudRepository.GetTableRows(dtParams, _crudRepository.GetSorters(dtParams), filter, selector);

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
示例#13
0
        public JsonResult GetVisit(DataTableParameters dataTableParameters, string from)
        {
            VIST_CONTACTOR vit = new VIST_CONTACTOR();
            EMPLOYEE       em  = new EMPLOYEE();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = vit.SelectPaging(from, dataTableParameters.Start + 1,
                                       dataTableParameters.Start + dataTableParameters.Length + 1);

            resultSet.recordsTotal = resultSet.recordsFiltered = em.GetCount();

            foreach (var i in lst)
            {
                var columns = new List <string>();
                var tar     = i.tar == null ? 0 : i.tar;
                var Ratio   = tar == 0 ? 0 : Math.Round(Convert.ToDouble(i.result) / i.tar * 100, 2, MidpointRounding.ToEven).ToString();
                columns.Add("<a href='#' class='emp' data-emid='" + i.EMP_ID + "'>" + i.EMP_ID + "</a>");
                columns.Add(i.EMP_NAME.Trim());
                columns.Add(tar.ToString());
                columns.Add(i.result.ToString());
                columns.Add(i.dir.ToString());
                columns.Add(i.ca.ToString());
                columns.Add(i.email.ToString());
                columns.Add(Ratio.ToString());
                columns.Add(i.EMP_DEPT == null ? "" : i.EMP_DEPT.Trim());
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#14
0
        public JsonResult GetPagination(DataTableParameters parameters)
        {
            var search = parameters.Search.Value?.ToLower() ?? string.Empty;
            var repo   = new RepositoryBase <Event>(_db);
            var items  = repo.GetItemsByExpression(w => w.Name.Contains(search), x => x.Name, parameters.Start, parameters.Length, out var recordsTotal, i => i.Address.City)
                         .Select(s =>
                                 new
            {
                s.EventId,
                s.Name,
                s.StartDate,
                s.EndDate,
                s.Address.City
            }).ToList();
            var dtResult = new DataTableResultSet(parameters.Draw, recordsTotal);

            var buttons = new ButtonsEvent();

            foreach (var item in items)
            {
                dtResult.data.Add(new object[]
                {
                    item.Name,
                    $"{(item.StartDate == item.EndDate ? item.StartDate.ToString("dd/MM/yyyy HH:mm") : $"{item.StartDate:dd/MM/yyyy HH:mm} - {item.EndDate:dd/MM/yyyy HH:mm}")}",
                    item.City.Name,
                    buttons.ToPagination(item.EventId, Account.Current.Roles)
                });
示例#15
0
        public JsonResult GetCustomer(DataTableParameters dataTableParameters)
        {
            CUSTOMER cus = new CUSTOMER();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = cus.SelectPaging(dataTableParameters.Start + 1,
                                       dataTableParameters.Start + dataTableParameters.Length + 1, dataTableParameters.Search.Value);

            resultSet.recordsTotal = resultSet.recordsFiltered = cus.GetCount(dataTableParameters.Search.Value);

            foreach (var i in lst)
            {
                var columns = new List <string>();
                columns.Add("<input type='checkbox' class='ckb' id='" + i.ID + "' />");
                columns.Add(i.ID);
                columns.Add(i.NAME);
                columns.Add(i.LOCATION == null ? "" : i.LOCATION.Trim());
                columns.Add(i.EMP_NAME == null ? "" : i.EMP_NAME);
                columns.Add(i.TYPE == null ? "": i.TYPE);
                columns.Add("<a href='#' class='end' title='End User' id='" + i.ID + "'><span class='badge badge-pill badge-primary'>" + i.NUM_END + "</span></a>");
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
示例#16
0
        public JsonResult Returndata(DataTableParameters request)
        {
            var filteredData = String.IsNullOrWhiteSpace(request.Search?.Value)
                ? _repository.GetDishes(request.Start, request.Length)
                : _repository.GetDishes(request.Search.Value, request.Start, request.Length);

            switch (request.Order[0]?.Column)
            {
            case 1:
                filteredData = request.Order[0]?.Dir == "asc" ? filteredData.OrderBy(x => x.Name) : filteredData.OrderByDescending(x => x.Name); break;

            case 2:
                filteredData = request.Order[0]?.Dir == "asc" ? filteredData.OrderBy(x => x.Tuppers) : filteredData.OrderByDescending(x => x.Tuppers); break;

            case 3:
                filteredData = request.Order[0]?.Dir == "asc" ? filteredData.OrderBy(x => x.Type) : filteredData.OrderByDescending(x => x.Type); break;

            case 4:
                filteredData = request.Order[0]?.Dir == "asc" ? filteredData.OrderBy(x => x.Consistency) : filteredData.OrderByDescending(x => x.Consistency); break;

            default:
                filteredData = filteredData.OrderByDescending(x => x.Name);
                break;
            }

            return(Json(new DataTablesResponse(request.Draw, filteredData, _repository.GetDishesCount(), filteredData.Count())));
        }
示例#17
0
        public override List <Sorter <ForumAnswer> > GetSorters(DataTableParameters dataTableParameters)
        {
            List <Sorter <ForumAnswer> > list = new List <Sorter <ForumAnswer> >();

            if (dataTableParameters.Order != null)
            {
                foreach (var orderItem in dataTableParameters.Order)
                {
                    Sorter <ForumAnswer> sorter = Sorter <ForumAnswer> .Get(x => x.Id, true);

                    bool asc = (orderItem.Dir == "asc");

                    if (orderItem.Column == 0)
                    {
                        list.Add(Sorter <ForumAnswer> .Get(x => x.Id, asc));
                    }
                    else if (orderItem.Column == 1)
                    {
                        list.Add(Sorter <ForumAnswer> .Get(x => x.TopicId, asc));
                    }
                }
            }

            if (list.Count == 0)
            {
                list.Add(Sorter <ForumAnswer> .Get(x => x.Id, true));
            }

            return(list);
        }
示例#18
0
        public JsonResult GetPagination(DataTableParameters parameters)
        {
            var search = parameters.Search.Value?.ToLower() ?? string.Empty;
            var repo   = new RepositoryBase <User>(_db);
            var items  = repo.GetItemsByExpression(w => string.Concat(w.FirstName, " ", w.LastName).Contains(search), x => x.FirstName, parameters.Start, parameters.Length, out var recordsTotal)
                         .Select(s => new
            {
                s.UserId,
                s.FullName,
                s.Cpf,
                s.IsActive
            }).ToList();
            var dtResult = new DataTableResultSet(parameters.Draw, recordsTotal);

            var buttonsUser = new ButtonsUser();

            foreach (var item in items)
            {
                dtResult.data.Add(new[]
                {
                    item.UserId.ToString(),
                    item.FullName,
                    item.Cpf,
                    $"{(item.IsActive ? "Ativado" : "Desativado")}",
                    buttonsUser.ToPagination(item.UserId, item.IsActive)
                });
            }
            return(Json(dtResult, JsonRequestBehavior.AllowGet));
        }
示例#19
0
        public async Task <ActionResult> GetAlertsTable([System.Web.Http.FromBody] DataTableParameters dataTableParameters)
        {
            var userId = User.Identity.GetUserId();

            if (userId == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            using (var db = new ZapContext())
            {
                var sorts = dataTableParameters.Order;

                var pageUserAlertsQS = db.Users
                                       .Where(u => u.AppId == userId)
                                       .SelectMany(u => u.Alerts)
                                       .Include(m => m.PostLink)
                                       .Include(m => m.CommentLink)
                                       .Where(m => !m.IsDeleted);

                // Build our query and ensure default sort order
                IOrderedQueryable <UserAlert> pageUserAlertsQ = pageUserAlertsQS.OrderByDescending(m => m.TimeStamp);

                foreach (var s in sorts)
                {
                    if (s.Dir == "asc")
                    {
                        if (dataTableParameters.Columns[s.Column].Name == "Date")
                        {
                            pageUserAlertsQ = pageUserAlertsQS.OrderBy(q => q.TimeStamp ?? DateTime.UtcNow);
                        }
                    }
                    else
                    {
                        if (dataTableParameters.Columns[s.Column].Name == "Date")
                        {
                            pageUserAlertsQ = pageUserAlertsQS.OrderByDescending(q => q.TimeStamp ?? DateTime.UtcNow);
                        }
                    }
                }

                var pageUserAlerts = await pageUserAlertsQ
                                     .Skip(dataTableParameters.Start)
                                     .Take(dataTableParameters.Length)
                                     .ToListAsync();

                List <AlertDataItem> values = GetAlertDataItems(pageUserAlerts);

                int numrec = await pageUserAlertsQ.CountAsync();

                return(Json(new
                {
                    draw = dataTableParameters.Draw,
                    recordsTotal = numrec,
                    recordsFiltered = numrec,
                    data = values
                }));
            }
        }
示例#20
0
 public LessonFilterModel(DataTableParameters dataTableParameters)
     : base(dataTableParameters)
 {
     if (dataTableParameters.Search?.Value?.Length > 0)
     {
         Term = dataTableParameters.Search.Value;
     }
 }
 public QuestionAnswerFilterModel(DataTableParameters dataTableParameters)
     : base(dataTableParameters)
 {
     if (dataTableParameters.Search?.Value?.Length > 0)
     {
         Term = dataTableParameters.Search.Value;
     }
 }
示例#22
0
        //Search based on param.Search only.
        //TODO: can add each search for individual columns
        public override IQueryable <TopPlayerInfoST> GetSearchResult(DataTableParameters param, List <TopPlayerInfoST> list)
        {
            string search = param.Search.Value;

            return(list.AsQueryable().Where(p => (search == null ||
                                                  p.PlayerName != null && p.PlayerName.ToLower().Contains(search.ToLower()) ||
                                                  p.Telofono != null && p.Telofono.ToLower().Contains(search.ToLower()) ||
                                                  p.Email != null && p.Email.ToLower().Contains(search.ToLower()) ||
                                                  p.Celular != null && p.Celular.ToLower().Contains(search.ToLower()))));
        }
示例#23
0
        public DataViewModel(int RTdevID, string RTdevType, TemperatureCondition RTtemperatureCondition, int TMdevID, string TMdevType, TemperatureCondition TMtemperatureCondition) : base()
        {
            SqlConnection Connection = CreateConnection();

            this.RT = new DataTableParameters();
            this.RT.Load(Connection, RTdevID, RTdevType, RTtemperatureCondition);

            this.TM = new DataTableParameters();
            this.TM.Load(Connection, TMdevID, TMdevType, TMtemperatureCondition);
        }
 /*Get List for jQueryDataTable*/
 public virtual List <OperationSummaryProvider> GetDataTableResultByPage(DataTableParameters param, List <OperationSummaryProvider> list)
 {
     if (param.Length == -1)
     {
         return(GetSearchResult(param, list).SortBy(param.SortOrder).ToList());
     }
     else
     {
         return(GetSearchResult(param, list).SortBy(param.SortOrder).Skip(param.Start).Take(param.Length).ToList());
     }
 }
示例#25
0
 /*Get List for jQueryDataTable*/
 public override List <SlotOccupationST> GetDataTableResultByPage(DataTableParameters param, List <SlotOccupationST> list)
 {
     if (param.Length == -1)
     {
         return(GetSearchResult(param, list).SortBy(param.SortOrder).ToList());
     }
     else
     {
         return(GetSearchResult(param, list).SortBy(param.SortOrder).Skip(param.Start).Take(param.Length).ToList());
     }
 }
示例#26
0
        public void Data(object parameters, string css, int tipo)
        {
            var req       = DataTableParameters.Get(parameters);
            var resultSet = new DataTableResultSet();

            EstadisticosAfiliados Datos = new EstadisticosAfiliados();

            Datos.Start       = req.Start;
            Datos.Length      = req.Length;
            Datos.SearchValue = req.SearchValue;
            Datos.OrderBy     = -1;
            if (req.Order.Count > 0)
            {
                foreach (var aux in req.Order.Keys)
                {
                    Datos.OrderBy        = req.Order[aux].Column;
                    Datos.OrderDirection = req.Order[aux].Direction;
                }
            }
            Datos.Conexion  = Comun.Conexion;
            Datos.TipoLista = tipo;
            EstadisticosAfiliados_Negocio neg = new EstadisticosAfiliados_Negocio();

            neg.ObtenerEvaluacionAJAX(Datos);
            resultSet.draw            = req.Draw;
            resultSet.recordsTotal    = Datos.RecordTotal;
            resultSet.recordsFiltered = Datos.RecordFilter;

            foreach (EstadisticosRepresentantesSeccion Item in Datos.Lista)
            {
                var    columns = new List <string>();
                string ColImagen = string.Empty, ColAvance = string.Empty;
                if (!string.IsNullOrEmpty(Item.Imagen))
                {
                    ColImagen = @"<a href='#' class='thumb-sm m-r'><img class='r r-2x' src='data:image/jpg;base64," + Item.Imagen + @"' /></a>";
                }
                else
                {
                    ColImagen = @"<a href='#' class='thumb-sm m-r'><img class='r r-2x' src='img/anonymous.jpg'/></a>";
                }
                ColAvance = @"<div class='progress'>
                                <div class='progress-bar " + css + @"' role='progressbar' aria-valuenow='" + Item.Avance + @"' aria-valuemin='0' aria-valuemax='100' style='width: " + Item.Avance + @"%'>
                                    <span class=''>" + Item.Avance + @"%</span>
                                </div>
                              </div>";
                columns.Add(ColImagen);
                columns.Add(Item.Seccion.ToString());
                columns.Add(Item.Nombre);
                columns.Add(ColAvance);
                resultSet.data.Add(columns);
            }
            SendResponse(HttpContext.Current.Response, resultSet);
        }
        public Task <Result <object> > List(DataTableParameters dtParameters) =>
        Result <object> .TryAsync(async() =>
        {
            var searchBy                = dtParameters.Search?.Value;
            var orderCriteria           = string.Empty;
            var orderAscendingDirection = true;
            if (dtParameters.Order != null)
            {
                orderCriteria           = dtParameters.Columns[dtParameters.Order[0].Column].Data;
                orderAscendingDirection = dtParameters.Order[0].Dir.ToString().ToLower() == "asc";
            }
            else
            {
                orderCriteria           = "Id";
                orderAscendingDirection = true;
            }

            var pagingModel = new PagingModel()
            {
                PageNumber    = dtParameters.Start == 0 ? 0 : dtParameters.Start / dtParameters.Length,
                PageSize      = dtParameters.Length,
                Sort          = orderCriteria,
                SortDirection = orderAscendingDirection ? SortDirection.ASC : SortDirection.DESC
            };

            var resultList = await _repository.SortedPageListAsNoTrackingAsync <Supplier>(s =>
                                                                                          searchBy == null ||
                                                                                          (s.CompanyName != null && s.CompanyName.Contains(searchBy)) ||
                                                                                          (s.ContactName != null && s.ContactName.Contains(searchBy)) ||
                                                                                          (s.EmergencyMobile != null && s.EmergencyMobile.Contains(searchBy)) ||
                                                                                          (s.Phone != null && s.Phone.Contains(searchBy)) ||
                                                                                          (s.Address != null && s.Address.Contains(searchBy)) ||
                                                                                          (s.City != null && s.City.Contains(searchBy)) ||
                                                                                          (s.PostalCode != null && s.PostalCode.Contains(searchBy)),
                                                                                          pagingModel);

            if (!resultList.Success)
            {
                return(Result <object> .Failed(Error.WithCode(ErrorCodes.SuppliersNotFound), "Some thing went wrong!"));
            }

            var totalFilteredCount = resultList.TotalCount;
            var totalCount         = (await _repository.CountAllAsync <Supplier>()).Data;
            var supplierModels     = _mapper.Map <IEnumerable <SupplierModel> >(resultList.Items);

            return(Result <object> .Successful(new
            {
                draw = dtParameters.Draw,
                recordsTotal = totalCount,
                recordsFiltered = totalFilteredCount,
                data = supplierModels
            }));
        });
示例#28
0
        public AnswerFilterModel(DataTableParameters dataTableParameters)
            : base(dataTableParameters)
        {
            if (dataTableParameters.Search?.Value?.Length > 0)
            {
                Term = dataTableParameters.Search.Value;
            }

            if (dataTableParameters.Search?.Value?.Length > 0)
            {
                RepositoryTerm = dataTableParameters.Search.Value;
            }
        }
示例#29
0
    public void Data(object parameters)
    {
        //Read paramater from datatable along with additional parms
        var req = DataTableParameters.Get(parameters);

        QuerySP query = new QuerySP();

        DataTable table = query.QueryData();

        DataView dv = table.DefaultView;

        //dv.Sort = "ID DESC";
        foreach (var col in req.Columns)
        {
            if (req.Order.ContainsKey(col.Key))
            {
                dv.Sort = table.Columns[req.Order[col.Key].Column].ToString() + " " + req.Order[col.Key].Direction;
            }
        }

        table = dv.ToTable();

        var resultSet = new DataTableResultSet();

        resultSet.draw            = req.Draw;
        resultSet.recordsTotal    = table.Rows.Count;
        resultSet.recordsFiltered = table.Rows.Count;

        foreach (DataRow recordFromDb in table.Select().Skip(req.Start).Take(req.Length))
        {
            //var columns = new List<string>(); // Working

            var columns = new List <string>();
            foreach (DataColumn col in table.Columns)
            {
                //columns.Add(recordFromDb[col.ColumnName].ToString()); - Working
                //columns.Add(recordFromDb[col.ColumnName] as LiteralControl);
                //columns.Add(((LiteralControl)recordFromDb[col.ColumnName]).Text);
                columns.Add(recordFromDb[col.ColumnName].ToString());
            }

            //columns.Add("<a href='https://google.com'>Link</a>");

            //columns.Add(recordFromDb[0].ToString());
            //columns.Add(recordFromDb[1].ToString());

            resultSet.data.Add(columns);
        }

        SendResponse(HttpContext.Current.Response, resultSet);
    }
示例#30
0
        public ActionResult GetSpendingEvents(DataTableParameters dataTableParameters)
        {
            var userId = User.Identity.GetUserId();

            using (var db = new ZapContext())
            {
                User u;
                u = db.Users
                    .Include(usr => usr.LNTransactions)
                    .Include(usr => usr.SpendingEvents)
                    .Include(usr => usr.SpendingEvents.Select(s => s.Post))
                    .Include(usr => usr.SpendingEvents.Select(s => s.Group))
                    .Include(usr => usr.SpendingEvents.Select(s => s.Comment))
                    .Include(usr => usr.SpendingEvents.Select(s => s.Comment).Select(c => c.Post))
                    //.Where(usr => usr.Name == "renepickhardt").First(); //Debug issue observed by this user
                    .Where(us => us.AppId == userId).First();

                var pageSpendings = u.SpendingEvents
                                    .OrderByDescending(e => e.TimeStamp)
                                    .Skip(dataTableParameters.Start)
                                    .Take(dataTableParameters.Length)
                                    .ToList();

                var values = pageSpendings.Select(t => new DataItem()
                {
                    Time = t.TimeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss"),
                    Type = t.Post != null ? "Post " + t.Post.PostId.ToString() : (
                        t.Comment != null ? "Comment " + t.Comment.CommentId.ToString() : (
                            t.Group != null ? "Group " + t.Group.GroupId.ToString() :
                            "Other")),
                    Amount = Convert.ToString(t.Amount),
                    URL    = t.Post != null ? Url.Action("Detail", "Post") + "/" + Convert.ToString(t.Post.PostId) : (
                        t.Comment != null ? Url.Action("Detail", "Post") + "/" + t.Comment.Post.PostId.ToString() : (
                            t.Group != null ? Url.Action("Index", "Group") :
                            "")),
                }).ToList();

                int numrec = u.SpendingEvents.Count();

                var ret = new
                {
                    draw            = dataTableParameters.Draw,
                    recordsTotal    = numrec,
                    recordsFiltered = numrec,
                    data            = values
                };
                return(Json(ret));
            }
        }
        public JsonResult GetProducts(DataTableParameters param)
        {
            baioEntities db = new baioEntities();
            //string CategoryType = param.pageType;
            //IEnumerable<sp_ProductGetAllbyPaging_Result> data = db.sp_ProductGetAllbyPaging(1, param.iDisplayLength, 0,false).ToList();

            IEnumerable<sp_ProductGetAllbyPaging_Result> data = db.sp_ProductGetAllbyPaging((param.iDisplayStart / param.iDisplayLength) + 1, param.iDisplayLength, 0, false,1).ToList();

            string sKey;

            if (!string.IsNullOrEmpty(param.sSearch))
            {

                sKey = param.sSearch.ToLower();
                data = data.Where(x => !string.IsNullOrEmpty(x.Name) ? x.Name.ToLower().Contains(sKey) : true);
            }
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            Func<sp_ProductGetAllbyPaging_Result, string> orderingFunction = (p => sortColumnIndex == 1 ? p.Name :
               sortColumnIndex == 2 ? p.Stock.ToString() :
               p.Price.ToString());

            var pagedData = data.OrderBy(x => x.Rank);
            var sortDirection = Request["sSortDir_0"];
            if (sortDirection == "asc")
                pagedData = pagedData.OrderBy(orderingFunction);
            else
                pagedData = pagedData.OrderByDescending(orderingFunction);

            //string CacheKey = CategoryType + param.iDisplayLength + param.iDisplayStart + param.sSearch + param.iDisplayLength + sortColumnIndex + sortDirection;
            //var _Context = System.Web.HttpContext.Current;
            //var PageCache = _Context.Cache.Get(CacheKey) as List<sp_GetPagesLite_Result>;
            var lastData = new List<sp_ProductGetAllbyPaging_Result>();
            //if (PageCache == null)
            //if (true)
            //{
                lastData = pagedData
                  //  .Skip(param.iDisplayStart / param.iDisplayLength * param.iDisplayLength)
                  //.Take(param.iDisplayLength)
                  .Select(x => new sp_ProductGetAllbyPaging_Result
                  {
                     ImageSrc = x.ImageSrc,
                     Total = x.Total,
                     ID = x.ID,
                     Name = x.Name,
                     IsActive = x.IsActive,
                     Stock = x.Stock,
                     OrderCount = x.OrderCount,
                     Variant = x.Variant,
                      Price = x.Price
                  }).ToList();
                //_Context.Cache.Add(CacheKey, lastData, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(6, 0, 0), System.Web.Caching.CacheItemPriority.Default, null);
            //}
            //else
            //{
            //    lastData = PageCache;
            //}

            return Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = data.Count(),
                iTotalDisplayRecords = data.FirstOrDefault() != null ? data.FirstOrDefault().Total : 0,
                aaData = lastData
            },
            JsonRequestBehavior.AllowGet);
        }