partial void OnAfterPostQuarterlyOrderDataTableRequest(QuarterlyOrderDataTableRequest request, DataTableResponse response);
예제 #2
0
        public async Task <DataTableResponse <PaymentDataTable> > GetTableData(DataTableInput model, ICollection <Payment> list)
        {
            try
            {
                var result       = new DataTableResponse <PaymentDataTable>();
                int totalRecords = list.Count;


                var modifiedData = list.Select(d => new PaymentDataTable
                {
                    Id                     = d.Id.ToString(),
                    Date                   = d.Date.ToString("dd.MM.yyyy"),
                    Description            = d.Description,
                    Description_ExtraCosts = d.ExtraCostDescription,
                    Description_TaxList    = d.DetailedTaxDescription,
                    Tax                    = d.TaxRate.ToString(),
                    Amount                 = d.Amount.ToString(),
                    Amount_Tax             = d.TaxAmount.ToString(),
                    Amount_Gross           = d.GrossAmount.ToString(),
                    Amount_Net             = d.NetAmount.ToString(),
                    Amount_ExtraCosts      = d.ExtraCostAmount,
                    Amount_TaxList         = d.DetailedTaxAmount,
                    fk_TypeId              = d.fk_TypeId.ToString(),
                    Type                   = d.Type.Name,
                    fk_CategoryId          = d.fk_CategoryId.ToString(),
                    Category               = d.fk_CategoryId != null ? d.Category.Name : d.Type.Name,
                    fk_StatusId            = d.fk_StatusId.ToString(),
                    Status                 = d.Status.Name
                }
                                               );

                if (!string.IsNullOrEmpty(model.search.value) &&
                    !string.IsNullOrWhiteSpace(model.search.value))
                {
                    modifiedData = modifiedData.Where(p => p.Date.Contains(model.search.value) ||
                                                      p.Description.ToLower().Contains(model.search.value) ||
                                                      p.Amount.Contains(model.search.value) ||
                                                      p.Type.ToLower().Contains(model.search.value) ||
                                                      p.Category.ToLower().Contains(model.search.value)
                                                      ).ToList();
                }

                string sortBy  = "";
                string sortDir = "";

                if (model.order != null)
                {
                    sortBy  = model.columns[model.order[0].column].data;
                    sortDir = model.order[0].dir.ToLower();
                }

                int recFilter = modifiedData.Count();
                modifiedData = modifiedData.AsQueryable().OrderBy(sortBy + " " + sortDir).Skip(model.start).Take(model.length).ToList();

                result.draw            = model.draw;
                result.recordsTotal    = totalRecords;
                result.recordsFiltered = recFilter;
                result.data            = modifiedData;

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #3
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identififer</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <HomeCategoryModel> _itemResponse = new DataTableResponse <HomeCategoryModel>();
                //List of data
                List <HomeCategoryModel> _list = new List <HomeCategoryModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.WEB_CATEGORY
                                  join n in _context.WEB_NAVIGATION on m.navigation_id equals n.id
                                  where !n.deleted && !m.deleted && n.publish
                                  select new
                    {
                        m.id,
                        m.title,
                        nav_title = n.title
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue) ||
                                              m.nav_title.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    short _ordering = 0;
                    bool  _selected = false;
                    foreach (var item in _lData)
                    {
                        _selected = false;
                        _ordering = 0;
                        var _cate = _context.WEB_HOME_CATEGORY.FirstOrDefault(m => m.category_id == item.id);
                        if (_cate != null)
                        {
                            _selected = true;
                            _ordering = _cate.ordering;
                        }
                        _list.Add(new HomeCategoryModel()
                        {
                            ID              = item.id,
                            CategoryID      = item.id,
                            CategoryTitle   = item.title,
                            NavigationTitle = item.nav_title,
                            Ordering        = _ordering,
                            Selected        = _selected
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <HomeCategoryModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "CategoryTitle":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.CategoryTitle) : _sortList.Sort(col.Dir, m => m.CategoryTitle);

                                break;

                            case "NavigationTitle":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.NavigationTitle) : _sortList.Sort(col.Dir, m => m.NavigationTitle);

                                break;

                            case "Ordering":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Ordering) : _sortList.Sort(col.Dir, m => m.Ordering);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
예제 #4
0
        private async Task <(IQueryable <T>, DataTableResponse)> FilteredRecords(IQueryable <T> query, DataTableResponse result, CancellationToken token = default)
        {
            result.RecordsFiltered = await GetFilteredRecordsCount(query, token).ConfigureAwait(false);

            return(query, result);
        }
예제 #5
0
파일: LogService.cs 프로젝트: lrs96/abbc
        /// <summary>
        /// Faz a paginação do servidor dos logs de acesso da aplicação
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public static DataTableResponse <LogDTO> Filter(DataTableRequest req)
        {
            int  coluna = int.Parse(req.order.Count() > 0 ? req.order[0]["column"] : "-1");
            bool asc    = req.order.Count() > 0 ? req.order[0]["dir"].ToLower().Equals("asc") : false;

            string           search = req.search["value"];
            var              termos = search.Split(' ').ToList();
            IQueryable <Log> query  = LogDao.getQuery(false);

            if (search != null && search != "")
            {
                foreach (var termo in termos)
                {
                    query = query.Where(x => x.acao.Contains(termo) ||
                                        x.menu.Contains(termo) ||
                                        x.method.Contains(termo) ||
                                        x.nomeUsuario.Contains(termo) ||
                                        x.opcao.Contains(termo));
                }
                query = query.Distinct();
            }

            if (coluna == 0)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.ID);
                }
                else
                {
                    query = query.OrderByDescending(x => x.ID);
                }
            }
            if (coluna == 1)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.nomeUsuario);
                }
                else
                {
                    query = query.OrderByDescending(x => x.nomeUsuario);
                }
            }
            if (coluna == 2)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.menu);
                }
                else
                {
                    query = query.OrderByDescending(x => x.menu);
                }
            }
            if (coluna == 3)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.opcao);
                }
                else
                {
                    query = query.OrderByDescending(x => x.opcao);
                }
            }
            if (coluna == 4)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.acao);
                }
                else
                {
                    query = query.OrderByDescending(x => x.acao);
                }
            }
            if (coluna == 5)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.data);
                }
                else
                {
                    query = query.OrderByDescending(x => x.data);
                }
            }
            if (coluna == 6)
            {
                if ((bool)asc)
                {
                    query = query.OrderBy(x => x.method);
                }
                else
                {
                    query = query.OrderByDescending(x => x.method);
                }
            }

            var           totalItensFiltered = query.Count();
            List <Log>    logs    = query.Skip(req.start).Take(req.length).ToList();
            List <LogDTO> logsDTO = LogDTO.ParseList(logs);

            DataTableResponse <LogDTO> resp = new DataTableResponse <LogDTO>();

            resp.data            = logsDTO;
            resp.draw            = req.draw;
            resp.recordsTotal    = LogDao.Count();
            resp.recordsFiltered = totalItensFiltered;

            return(resp);
        }
예제 #6
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user id</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <IdeaModel> _itemResponse = new DataTableResponse <IdeaModel>();
                //List of data
                List <IdeaModel> _list = new List <IdeaModel>();
                using (var context = new TDHEntities())
                {
                    var _lData = context.PN_IDEA.Where(m => !m.deleted && m.created_by == userID)
                                 .OrderByDescending(m => m.created_date)
                                 .Select(m => new
                    {
                        m.id,
                        m.title,
                        m.created_date
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue) ||
                                              m.created_date.ToString().Contains(searchValue)).ToList();
                    }
                    int _count = 0;
                    foreach (var item in _lData)
                    {
                        _count = context.PN_TARGET.Count(m => m.idea_id == item.id && !m.deleted && m.created_by == userID);
                        _list.Add(new IdeaModel()
                        {
                            ID               = item.id,
                            Title            = item.title,
                            CreateDate       = item.created_date,
                            CreateDateString = item.created_date.DateToString(),
                            Targets          = _count.NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <IdeaModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Title":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Title) : _sortList.Sort(col.Dir, m => m.Title);

                                break;

                            case "CreateDateString":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.CreateDate) : _sortList.Sort(col.Dir, m => m.CreateDate);

                                break;

                            case "Targets":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Targets) : _sortList.Sort(col.Dir, m => m.Targets);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }

            return(_return);
        }
        public ActionResult Index(DataTableSearchModel searchModel)
        {
            DataTableResponse <Currency> response = currencyService.GetResponse(searchModel);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                int _year  = int.Parse(request.Parameter2) / 100;
                int _month = int.Parse(request.Parameter2) % 100;
                //Declare response data to json object
                DataTableResponse <CategoryModel> _itemResponse = new DataTableResponse <CategoryModel>();
                //List of data
                List <CategoryModel> _list = new List <CategoryModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.V_MN_CATEGORY
                                  where m.create_by == userID && request.Parameter1 == (request.Parameter1.Length == 0 ? request.Parameter1 : m.group_id.ToString()) &&
                                  (m.year == 0 || m.year == _year) && (m.month == 0 || m.month == _month)
                                  select new
                    {
                        m.id,
                        m.name,
                        m.notes,
                        m.is_input,
                        m.group_name,
                        m.current_income,
                        m.current_payment,
                        m.money_setting
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.name.ToLower().Contains(searchValue) ||
                                              m.notes.ToLower().Contains(searchValue) ||
                                              m.group_name.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new CategoryModel()
                        {
                            ID                 = item.id,
                            Name               = item.name,
                            GroupName          = item.group_name,
                            Notes              = item.notes,
                            MoneyCurrent       = item.is_input ? item.current_income : item.current_payment,
                            MoneyCurrentString = (item.is_input ? item.current_income : item.current_payment).NumberToString(),
                            MoneySetting       = item.money_setting,
                            MoneySettingString = item.money_setting.NumberToString(),
                            IsIncome           = item.is_input
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <CategoryModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Name":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Name) : _sortList.Sort(col.Dir, m => m.Name);

                                break;

                            case "Notes":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Notes) : _sortList.Sort(col.Dir, m => m.Notes);

                                break;

                            case "GroupName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.GroupName) : _sortList.Sort(col.Dir, m => m.GroupName);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
 partial void OnAfterPostOrderDetailDataTableRequest(OrderDetailDataTableRequest request, DataTableResponse response);
        public JsonResult OrderListing(DataTableViewModel objReq, string OType = "Order", string OStatus = "Pending", int FilterCustomerID = 0)
        {
            try
            {
                int CustomerID = GetLogin();
                int RoleID     = GetRole();
                if (objReq != null)
                {
                    DataTableResponse <OrderListView> objResp = new DataTableResponse <OrderListView>();
                    IQueryable <OrderListView>        query   = this.objOrderService.OrderListView();
                    query = OType == "Order" ? query.Where(x => x.orderType == 14) : query.Where(x => x.orderType == 15 || x.orderType == 155);
                    //query = OType == "Order" ? query.Where(x => x.orderType == 14) : query.Where(x => x.orderType == 15);
                    query = OStatus == "Pending" ? query.Where(x => x.orderStatus == 10) : query.Where(x => x.orderStatus == 11);


                    //Role ID 3 for admin
                    if (RoleID == 3)
                    {
                        query = query.Where(x => x.loginID == CustomerID);
                    }
                    if (FilterCustomerID != 0)
                    {
                        query = query.Where(x => x.loginID == FilterCustomerID);
                    }

                    //if (OrderId != 0)  //Added BY ANkit 03JUly2020
                    //{
                    //    query = query.Where(x => x.loginID == OrderId);
                    //}

                    objResp.recordsTotal = query.Count();
                    for (int i = 0; i < objReq.order.Count; i++)
                    {
                        int idx = Convert.ToInt32(objReq.order[i].column);
                        switch (objReq.columns[idx].data)
                        {
                        case "companyName":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.companyName);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.companyName);
                            }
                            break;

                        default:
                        case "orderCreatedOn":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.orderCreatedOn);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.orderCreatedOn);
                            }
                            break;
                        }
                    }
                    objResp.draw            = objReq.draw;
                    objResp.recordsFiltered = query.Count();
                    objResp.data            = query.Skip(objReq.start).Take(objReq.length).ToList();
                    return(Json(objResp));
                }
                return(null);
            }
            catch (Exception ex)
            {
                ErrorLog.Log("OrderController", "OrderListing", ex);
                throw;
            }
        }
예제 #11
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <ConfigurationModel> _itemResponse = new DataTableResponse <ConfigurationModel>();
                //List of data
                List <ConfigurationModel> _list = new List <ConfigurationModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = _context.WEB_CONFIGURATION.ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.key.ToLower().Contains(searchValue) ||
                                              m.description.ToString().Contains(searchValue) ||
                                              m.value.ToString().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new ConfigurationModel()
                        {
                            Key         = item.key,
                            Value       = item.value,
                            Description = item.description
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <ConfigurationModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Key":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Key) : _sortList.Sort(col.Dir, m => m.Key);

                                break;

                            case "Value":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Value) : _sortList.Sort(col.Dir, m => m.Value);

                                break;

                            case "Description":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Description) : _sortList.Sort(col.Dir, m => m.Description);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
예제 #12
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userID">User id</param>
        /// <returns><string, object></returns>
        ///
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <CheckListItemDetailModel> _itemResponse = new DataTableResponse <CheckListItemDetailModel>();
                //List of data
                List <CheckListItemDetailModel> _list = new List <CheckListItemDetailModel>();

                using (var context = new TDHEntities())
                {
                    var _lData = context.WK_CHECKLIST_ITEM_DETAIL.Where(m => !m.deleted).OrderByDescending(m => m.create_date).Select(m => new
                    {
                        m.id,
                        m.title,
                        m.check_id,
                        full_name = context.SYS_USER.FirstOrDefault(u => u.id == m.create_by).full_name,
                        m.create_date
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue) || m.full_name.ToLower().Contains(searchValue) || m.create_date.ToString().Contains(searchValue)).ToList();
                    }
                    int _count = 0;
                    foreach (var item in _lData)
                    {
                        _count = context.WK_CHECKLIST_ITEM.Count(m => m.id == item.id && !m.deleted);
                        _list.Add(new CheckListItemDetailModel()
                        {
                            ID         = item.id,
                            CheckID    = item.check_id,
                            title      = item.title,
                            CreateDate = item.create_date,
                            updateDate = DateTime.Today
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <CheckListItemDetailModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Title":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.title) : _sortList.Sort(col.Dir, m => m.title);

                                break;

                            case "CreateDate":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.CreateDate) : _sortList.Sort(col.Dir, m => m.CreateDate);

                                break;

                            case "UpdateDate":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.updateDate) : _sortList.Sort(col.Dir, m => m.updateDate);

                                break;

                            case "DeleteDate":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.deleteDate) : _sortList.Sort(col.Dir, m => m.deleteDate);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
 partial void OnAfterPostProductsAboveAveragePriceDataTableRequest(ProductsAboveAveragePriceDataTableRequest request, DataTableResponse response);
예제 #14
0
 partial void OnAfterPostCategorySalesFor1997DataTableRequest(CategorySalesFor1997DataTableRequest request, DataTableResponse response);
 partial void OnAfterPostCurrentProductListDataTableRequest(CurrentProductListDataTableRequest request, DataTableResponse response);
        public JsonResult UserMenuDetailForGrid(DataTableViewModel objReq, int RoleID = 0)
        {
            try
            {
                if (objReq != null)
                {
                    DataTableResponse <UserDetailView> objResp = new DataTableResponse <UserDetailView>();
                    IQueryable <UserDetailView>        query   = this.objUDSvc.QueryableUserDetail().Where(x => x.roleID != 3 && x.roleID != 4);
                    if (RoleID != 0)
                    {
                        query = query.Where(x => x.roleID == RoleID);
                    }
                    if (!string.IsNullOrEmpty(objReq.search.value))
                    {
                        query = query.Where(x => (x.firstName + " " + x.lastName).Contains(objReq.search.value) ||
                                            x.companyName.Contains(objReq.search.value) ||
                                            x.mobile.Contains(objReq.search.value) ||
                                            x.username.Contains(objReq.search.value) ||
                                            x.countryName.Contains(objReq.search.value));
                    }
                    objResp.recordsTotal = query.Count();
                    for (int i = 0; i < objReq.order.Count; i++)
                    {
                        int idx = Convert.ToInt32(objReq.order[i].column);
                        switch (objReq.columns[idx].data)
                        {
                        case "firstName":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.firstName);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.firstName);
                            }
                            break;

                        case "companyName":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.companyName);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.companyName);
                            }
                            break;

                        case "roleID":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.roleID);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.roleID);
                            }
                            break;

                        case "countryName":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.countryName);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.countryName);
                            }
                            break;

                        case "username":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.username);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.username);
                            }
                            break;

                        default:
                        case "loginID":
                            if (objReq.order[i].dir == "asc")
                            {
                                query = query.OrderBy(x => x.loginID);
                            }
                            else
                            {
                                query = query.OrderByDescending(x => x.loginID);
                            }
                            break;
                        }
                    }
                    objResp.draw            = objReq.draw;
                    objResp.recordsFiltered = query.Count();
                    objResp.data            = query.Skip(objReq.start).Take(objReq.length).ToList();
                    return(Json(objResp));
                }
                return(null);
            }
            catch (Exception ex)
            {
                if (typeof(UserDefinedException) == ex.GetType())
                {
                    return(Json(new Response {
                        IsSuccess = false, Code = 500, Result = "", Message = ex.Message
                    }));
                }
                ErrorLog.Log("UserController", "UserDetailForGrid", ex);
                throw ex;
            }
        }
 partial void OnAfterPostEmployeeDataTableRequest(EmployeeDataTableRequest request, DataTableResponse response);
 partial void OnAfterPostEmployeesByRegionAndTerritoryDataTableRequest(EmployeesByRegionAndTerritoryDataTableRequest request, DataTableResponse response);
예제 #19
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userID">User id</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <DreamModel> _itemResponse = new DataTableResponse <DreamModel>();
                //List of data
                List <DreamModel> _list = new List <DreamModel>();
                using (var context = new TDHEntities())
                {
                    var _lData = context.PN_DREAM.Where(m => !m.deleted && m.created_by == userID)
                                 .OrderByDescending(m => m.ordering)
                                 .Select(m => new
                    {
                        m.id,
                        m.title,
                        m.finish,
                        m.ordering,
                        m.finish_time
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue)).ToList();
                    }

                    foreach (var item in _lData)
                    {
                        _list.Add(new DreamModel()
                        {
                            ID               = item.id,
                            Title            = item.title,
                            Finish           = item.finish,
                            Ordering         = item.ordering,
                            FinishTime       = item.finish_time,
                            FinishTimeString = item.finish_time.HasValue ? item.finish_time.Value.DateToString("dd/MM/yyyy") : ""
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <DreamModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Title":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Title) : _sortList.Sort(col.Dir, m => m.Title);

                                break;

                            case "Ordering":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Ordering) : _sortList.Sort(col.Dir, m => m.Ordering);

                                break;

                            case "FinishTimeString":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.FinishTimeString) : _sortList.Sort(col.Dir, m => m.FinishTimeString);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }

            return(_return);
        }
 partial void OnAfterPostTerritoryDataTableRequest(TerritoryDataTableRequest request, DataTableResponse response);
예제 #21
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <CategoryModel> _itemResponse = new DataTableResponse <CategoryModel>();
                //List of data
                List <CategoryModel> _list = new List <CategoryModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.WEB_CATEGORY
                                  join n in _context.WEB_NAVIGATION on m.navigation_id equals n.id
                                  where !n.deleted && !m.deleted && request.Parameter1 == (request.Parameter1.Length == 0 ? request.Parameter1 : m.navigation_id.ToString())
                                  select new
                    {
                        m.id,
                        m.title,
                        m.description,
                        m.image,
                        m.show_on_nav,
                        nav_title = n.title,
                        m.ordering,
                        m.publish
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue) ||
                                              m.nav_title.ToLower().Contains(searchValue) ||
                                              m.description.ToLower().Contains(searchValue) ||
                                              m.ordering.ToString().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    int _count = 0;
                    foreach (var item in _lData)
                    {
                        _count = _context.WEB_POST.Count(m => m.category_id == item.id && !m.deleted);
                        _list.Add(new CategoryModel()
                        {
                            ID              = item.id,
                            Title           = item.title,
                            Description     = item.description,
                            ShowOnNav       = item.show_on_nav,
                            Image           = item.image ?? "",
                            NavigationTitle = item.nav_title,
                            Ordering        = item.ordering,
                            Publish         = item.publish,
                            Count           = _count,
                            CountString     = _count.NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <CategoryModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Title":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Title) : _sortList.Sort(col.Dir, m => m.Title);

                                break;

                            case "Description":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Description) : _sortList.Sort(col.Dir, m => m.Description);

                                break;

                            case "NavigationTitle":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.NavigationTitle) : _sortList.Sort(col.Dir, m => m.NavigationTitle);

                                break;

                            case "Ordering":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Ordering) : _sortList.Sort(col.Dir, m => m.Ordering);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
예제 #22
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <EventModel> _itemResponse = new DataTableResponse <EventModel>();
                //List of data
                List <EventModel> _list = new List <EventModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.PN_EVENT
                                  join t in _context.PN_EVENT_TYPE on m.event_type equals t.code
                                  where !m.deleted && m.created_by == userID && m.created_by == userID &&
                                  m.event_type == (request.Parameter1 == "" ? m.event_type : request.Parameter1)
                                  orderby m.date descending
                                  select new
                    {
                        m.id,
                        m.title,
                        m.duration,
                        m.is_plan,
                        m.is_finish,
                        m.is_cancel,
                        t.name
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue) ||
                                              m.duration.ToLower().Contains(searchValue) ||
                                              m.name.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new EventModel()
                        {
                            ID       = item.id,
                            Title    = item.title,
                            Duration = item.duration,
                            IsPlan   = item.is_plan,
                            IsFinish = item.is_finish,
                            IsCancel = item.is_cancel,
                            TypeName = item.name
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <EventModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Title":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Title) : _sortList.Sort(col.Dir, m => m.Title);

                                break;

                            case "Duration":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Duration) : _sortList.Sort(col.Dir, m => m.Duration);

                                break;

                            case "TypeName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.TypeName) : _sortList.Sort(col.Dir, m => m.TypeName);

                                break;

                            case "Description":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Description) : _sortList.Sort(col.Dir, m => m.Description);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
예제 #23
0
        // Description for parameters: http://datatables.net/usage/server-side
        public DataTableResponse GetDataTableResponse(TerritoryDataTableRequest request)
        {
            //UrlDecode Request Properties
            request.sSearch   = System.Web.HttpUtility.UrlDecode(request.sSearch);
            request.Sort      = System.Web.HttpUtility.UrlDecode(request.Sort);
            request.Include   = System.Web.HttpUtility.UrlDecode(request.Include);
            request.Filter    = System.Web.HttpUtility.UrlDecode(request.Filter);
            request.Relations = System.Web.HttpUtility.UrlDecode(request.Relations);
            request.Select    = System.Web.HttpUtility.UrlDecode(request.Select);

            //Selection
            var iSelectColumns = request.iSelectColumns;

            //Paging
            var iDisplayStart = request.iDisplayStart + 1; // this is because it passes in the 0 instead of 1, 10 instead of 11, etc...

            iDisplayStart = iDisplayStart <= 0 ? (1 + ((request.PageNumber - 1) * request.PageSize)): iDisplayStart;
            var iDisplayLength = request.iDisplayLength <= 0 ? request.PageSize: request.iDisplayLength;
            var pageNumber     = Math.Ceiling(iDisplayStart * 1.0 / iDisplayLength);
            var pageSize       = iDisplayLength;
            //Sorting
            var sort = request.Sort;

            if (request.iSortingCols > 0 && request.iSortCol_0 >= 0)
            {
                sort = string.Format("{0}:{1}", FieldMap.Keys.ElementAt(Convert.ToInt32(request.iSortCol_0)), request.sSortDir_0);
            }
            //Search
            var filter    = request.Filter;
            var searchStr = string.Empty;

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                // process int field searches
                var n = 0;
                var searchStrAsInt = -1;
                if (int.TryParse(request.sSearch, out searchStrAsInt))
                {
                    foreach (var fm in FieldMap)
                    {
                        if (fm.Value.DataType.IsNumericType())
                        {
                            n++;
                            searchStr += string.Format("({0}:eq:{1})", fm.Key, searchStrAsInt);
                        }
                    }
                }
                // process string field searches
                foreach (var fm in FieldMap)
                {
                    if (fm.Value.DataType == typeof(string) /* && fm.Value.MaxLength < 2000*/)
                    {
                        n++;
                        searchStr += string.Format("({0}:lk:*{1}*)", fm.Key, request.sSearch);
                    }
                }
                searchStr = n > 1 ? "(|" + searchStr + ")": searchStr.Trim('(', ')');

                filter = string.IsNullOrEmpty(filter) ? searchStr
                    : string.Format("(^{0}{1})",
                                    filter.StartsWith("(") ? filter: "(" + filter + ")",
                                    searchStr.StartsWith("(") ? searchStr : "(" + searchStr + ")");
            }

            var columnFieldIndexNames = Enum.GetNames(typeof(
                                                          TerritoryFieldIndex));

            if (iSelectColumns != null && iSelectColumns.Length > 0)
            {
                try { request.Select = string.Join(",", iSelectColumns.Select(c => columnFieldIndexNames[c]).ToArray()); } catch {}
            }

            var entities = Fetch(new TerritoryQueryCollectionRequest
            {
                Filter     = filter,
                PageNumber = Convert.ToInt32(pageNumber),
                PageSize   = pageSize,
                Sort       = sort,
                Include    = request.Include,
                Relations  = request.Relations,
                Select     = request.Select,
            });
            var response = new DataTableResponse();
            var includeEmployeeTerritories = ((request.Include ?? "").IndexOf("employeeterritories", StringComparison.InvariantCultureIgnoreCase)) >= 0;
            var includeRegion = ((request.Include ?? "").IndexOf("region", StringComparison.InvariantCultureIgnoreCase)) >= 0;

            foreach (var item in entities.Result)
            {
                var relatedDivs = new List <string>();
                relatedDivs.Add(string.Format(@"<div style=""display:block;""><span class=""badge badge-info"">{0}</span><a href=""/employeeterritories?filter=territoryid:eq:{2}"">{1} Employee Territories</a></div>",
                                              includeEmployeeTerritories ? item.EmployeeTerritories.Count.ToString(CultureInfo.InvariantCulture): "", "",
                                              item.TerritoryId
                                              ));
                relatedDivs.Add(string.Format(@"<div style=""display:block;""><span class=""badge badge-info"">{0}</span><a href=""/regions?filter=regionid:eq:{2}"">{1} Region</a></div>",
                                              includeRegion ? (item.Region == null?"0":"1"): "", "",
                                              item.RegionId
                                              ));

                response.aaData.Add(new string[]
                {
                    item.TerritoryId,
                    item.TerritoryDescription,
                    item.RegionId.ToString(),

                    string.Join("", relatedDivs.ToArray())
                });
            }
            response.sEcho = request.sEcho;
            // total records in the database before datatables search
            response.iTotalRecords = entities.Paging.TotalCount;
            // total records in the database after datatables search
            response.iTotalDisplayRecords = entities.Paging.TotalCount;
            return(response);
        }
 partial void OnAfterPostCustomerAndSuppliersByCityDataTableRequest(CustomerAndSuppliersByCityDataTableRequest request, DataTableResponse response);
예제 #25
0
        public ActionResult Index(DataTableSearchModel searchModel)
        {
            DataTableResponse <Transfer> response = transferService.GetResponse(searchModel);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public DataTableResponse <AssessmentSummaryDto> Get(Guid key, string sEcho, int iDisplayStart, int iDisplayLength, string sSearch = null)
        {
            const string whereSearchConstraint = " AND (AssessmentName LIKE @search+'%')";
            var          selfAdminConstraint   = "AND CanSelfAdminister=1";
            const string query = @"
                             SELECT COUNT(*) as TotalCount FROM AssessmentModule.AssessmentInstance
                                 WHERE OrganizationKey=@OrganizationKey AND PatientKey=@PatientKey {0} {1}
                             SELECT [t].*                                    
                             FROM ( 
                                 SELECT ROW_NUMBER() OVER ( 
                                    ORDER BY [t1].CreatedTime DESC) AS [ROW_NUMBER],   
                                             [t1].AssessmentInstanceKey,
                                             [t1].AssessmentName, 
                                             [t1].AssessmentCode,
                                             [t1].PercentComplete,  
                                             [t1].CreatedTime,  
                                             [t1].IsSubmitted,  
                                             [t1].PatientKey   
                                 FROM AssessmentModule.AssessmentInstance AS [t1]
                                 WHERE PatientKey=@PatientKey {0} {1}
                                 ) AS [t] 
                             WHERE [t].[ROW_NUMBER] BETWEEN @start + 1 AND @end 
                             ORDER BY [t].[ROW_NUMBER] ";

            if (UserContext.Current.PatientKey != null && key != UserContext.Current.PatientKey)
            {
                return(new DataTableResponse <AssessmentSummaryDto>
                {
                    Data = Enumerable.Empty <AssessmentSummaryDto>(),
                    Echo = sEcho,
                    TotalDisplayRecords = 0,
                    TotalRecords = 0,
                });
            }

            if (UserContext.Current.PatientKey == null)
            {
                selfAdminConstraint = string.Empty;
            }

            var start = iDisplayStart;
            var end   = start + iDisplayLength;

            using (var connection = _connectionFactory.CreateConnection())
                using (var multiQuery = connection.QueryMultiple(string.Format(query, sSearch == null ? "" : whereSearchConstraint, selfAdminConstraint), new { start, end, PatientKey = key, search = sSearch, UserContext.Current.OrganizationKey }))
                {
                    var totalCount           = multiQuery.Read <int>().Single();
                    var assessmentSummaryDto = multiQuery.Read <AssessmentSummaryDto>().ToList();

                    var dataTableResponse = new DataTableResponse <AssessmentSummaryDto>
                    {
                        Data = assessmentSummaryDto,
                        Echo = sEcho,
                        TotalDisplayRecords = totalCount,
                        TotalRecords        = totalCount,
                    };

                    foreach (var data in dataTableResponse.Data)
                    {
                        data.AssessmentName = _resourcesManager.GetResourceManagerByName(data.AssessmentName).GetString(SharedStringNames.ResourceKeyPrefix + data.AssessmentCode);
                    }

                    return(dataTableResponse);
                }
        }
 partial void OnAfterPostSummaryOfSalesByYearDataTableRequest(SummaryOfSalesByYearDataTableRequest request, DataTableResponse response);
예제 #28
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns><string, object></returns>
        public Dictionary <string, object> List(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <GroupModel> _itemResponse = new DataTableResponse <GroupModel>();
                //List of data
                List <GroupModel> _list = new List <GroupModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.MN_GROUP
                                  where !m.deleted && m.create_by == userID &&
                                  m.is_input == (request.Parameter1 == "" ? m.is_input : request.Parameter1 == "0" ? false : true)       //by Type (income or payment)
                                  select new
                    {
                        m.id,
                        m.name,
                        m.notes,
                        m.is_input,
                        m.publish
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _lData = _lData.Where(m => m.name.ToLower().Contains(searchValue) ||
                                              m.notes.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    int     _year       = int.Parse(request.Parameter2) / 100;
                    int     _month      = int.Parse(request.Parameter2) % 100;
                    int     _count      = 0;
                    byte    _percentSet = 0;
                    decimal _moneyCur   = 0;
                    foreach (var item in _lData)
                    {
                        _count      = _context.MN_CATEGORY.Count(m => m.group_id == item.id && !m.deleted && m.create_by == userID);
                        _percentSet = 0;
                        _moneyCur   = 0;
                        var _grSetting = _context.MN_GROUP_SETTING.FirstOrDefault(m => m.group_id == item.id && m.create_by == userID && m.year_month.ToString() == request.Parameter2); //By month year
                        if (_grSetting != null)
                        {
                            _percentSet = _grSetting.percent_setting;
                        }
                        _moneyCur = (from i in _context.V_MN_CATEGORY
                                     where i.group_id == item.id && i.year == _year && i.month == _month && i.create_by == userID
                                     select new { i.current_income, i.current_payment }).ToList().Select(m => (item.is_input ? m.current_income : m.current_payment)).DefaultIfEmpty(0).Sum();
                        //
                        _list.Add(new GroupModel()
                        {
                            ID                 = item.id,
                            Name               = item.name,
                            Notes              = item.notes,
                            IsInput            = item.is_input,
                            PercentSetting     = _percentSet,
                            MoneyCurrent       = _moneyCur,
                            MoneyCurrentString = _moneyCur.NumberToString(),
                            Publish            = item.publish,
                            Count              = _count,
                            CountString        = _count.NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <GroupModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Name":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Name) : _sortList.Sort(col.Dir, m => m.Name);

                                break;

                            case "Notes":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Notes) : _sortList.Sort(col.Dir, m => m.Notes);

                                break;
                            }
                        }
                        _itemResponse.data = _sortList.Skip(request.start).Take(request.length).ToList();
                    }
                    else
                    {
                        _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList();
                    }
                    _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse);
                }
                _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK);
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "List", userID, ex);
            }
            return(_return);
        }
        // Description for parameters: http://datatables.net/usage/server-side
        public DataTableResponse GetDataTableResponse(ProductsByCategoryDataTableRequest request)
        {
            var fieldMap   = FieldMap;
            var fieldCount = fieldMap.Count;

            //UrlDecode Request Properties
            request.sSearch = System.Web.HttpUtility.UrlDecode(request.sSearch);
            request.Sort    = System.Web.HttpUtility.UrlDecode(request.Sort);
            request.Filter  = System.Web.HttpUtility.UrlDecode(request.Filter);
            request.Select  = System.Web.HttpUtility.UrlDecode(request.Select);

            //Paging
            var iDisplayStart = request.iDisplayStart + 1; // this is because it passes in the 0 instead of 1, 10 instead of 11, etc...

            iDisplayStart = iDisplayStart <= 0 ? (1 + ((request.PageNumber - 1) * request.PageSize)): iDisplayStart;
            var iDisplayLength = request.iDisplayLength <= 0 ? request.PageSize: request.iDisplayLength;
            var pageNumber     = Math.Ceiling(iDisplayStart * 1.0 / iDisplayLength);
            var pageSize       = iDisplayLength;
            //Sorting
            var sort = request.Sort;

            if (request.iSortingCols > 0 && request.iSortCol_0 >= 0)
            {
                sort = string.Format("{0}:{1}", fieldMap.Keys.ElementAt(Convert.ToInt32(request.iSortCol_0)), request.sSortDir_0);
            }
            //Search
            var filter    = request.Filter;
            var searchStr = string.Empty;

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                // process int field searches
                var n = 0;
                var searchStrAsInt = -1;
                if (int.TryParse(request.sSearch, out searchStrAsInt))
                {
                    foreach (var fm in fieldMap)
                    {
                        if (fm.Value.DataType.IsNumericType())
                        {
                            n++;
                            searchStr += string.Format("({0}:eq:{1})", fm.Key, searchStrAsInt);
                        }
                    }
                }
                // process string field searches
                foreach (var fm in fieldMap)
                {
                    if (fm.Value.DataType == typeof(string) /* && fm.Value.MaxLength < 2000*/)
                    {
                        n++;
                        searchStr += string.Format("({0}:lk:*{1}*)", fm.Key, request.sSearch);
                    }
                }
                searchStr = n > 1 ? "(|" + searchStr + ")": searchStr.Trim('(', ')');

                filter = string.IsNullOrEmpty(filter) ? searchStr
                    : string.Format("(^{0}{1})",
                                    filter.StartsWith("(") ? filter: "(" + filter + ")",
                                    searchStr.StartsWith("(") ? searchStr : "(" + searchStr + ")");
            }

            var entities = Fetch(new ProductsByCategoryQueryCollectionRequest
            {
                Filter     = filter,
                PageNumber = Convert.ToInt32(pageNumber),
                PageSize   = pageSize,
                Sort       = sort,
                Select     = request.Select,
            });

            var response = new DataTableResponse();

            foreach (var item in entities.Result)
            {
                response.aaData.Add(new string[]
                {
                    item.CategoryName,
                    item.ProductName,
                    item.QuantityPerUnit,
                    item.UnitsInStock.ToString(),
                    item.Discontinued.ToString()
                });
            }

            response.sEcho = request.sEcho;
            // total records in the database before datatables search
            response.iTotalRecords = entities.Paging.TotalCount;
            // total records in the database after datatables search
            response.iTotalDisplayRecords = entities.Paging.TotalCount;
            return(response);
        }
예제 #30
0
        public static DataTableResponse GetFeedProviders(DataTableRequest dataTableRequest)
        {
            var dataTableResponse = new DataTableResponse();
            var lstFeedProvider   = new List <FeedProvider>();

            var lstSqlParameter = new List <SqlParameter>();

            lstSqlParameter.Add(new SqlParameter()
            {
                ParameterName = "@Offset", SqlDbType = SqlDbType.Int, Value = dataTableRequest.PageNo
            });
            lstSqlParameter.Add(new SqlParameter()
            {
                ParameterName = "@pageSize", SqlDbType = SqlDbType.Int, Value = dataTableRequest.PageSize
            });
            lstSqlParameter.Add(new SqlParameter()
            {
                ParameterName = "@sortColumnNo", SqlDbType = SqlDbType.Int, Value = dataTableRequest.SortField
            });
            lstSqlParameter.Add(new SqlParameter()
            {
                ParameterName = "@sortDirection", SqlDbType = SqlDbType.NVarChar, Value = dataTableRequest.SortOrder
            });
            lstSqlParameter.Add(new SqlParameter()
            {
                ParameterName = "@searchText", SqlDbType = SqlDbType.NVarChar, Value = dataTableRequest.Filter
            });

            var ds = DBProvider.GetDataSet("GetFeedProviders", CommandType.StoredProcedure, ref lstSqlParameter);

            foreach (DataRow row in ds?.Tables[0]?.Rows)
            {
                var feedProvider = new FeedProvider()
                {
                    Id              = Convert.ToInt32(row["Id"]),
                    Name            = Convert.ToString(row["Name"]),
                    Source          = Convert.ToString(row["Source"]),
                    IsIminConnector = Convert.ToBoolean(row["IsIminConnector"]),
                    DataType        = new FeedDataType()
                    {
                        Id   = Convert.ToInt32(row["FeedDataTypeId"]),
                        Name = Convert.ToString(row["FeedDataTypeName"])
                    },
                    EndpointUp              = Convert.ToBoolean(row["EndpointUp"]),
                    UsesPagingSpec          = Convert.ToBoolean(row["UsesPagingSpec"]),
                    IsOpenActiveCompatible  = Convert.ToBoolean(row["IsOpenActiveCompatible"]),
                    IncludesCoordinates     = Convert.ToBoolean(row["IncludesCoordinates"]),
                    HasFoundAllFieldMatches = Convert.ToBoolean(row["HasFoundAllFieldMatches"]),
                    IsSchedulerEnabled      = Convert.ToBoolean(row["IsSchedulerEnabled"]),
                    TotalEvent              = Convert.ToInt64(row["TotalEvent"]),
                };

                lstFeedProvider.Add(feedProvider);
            }

            dataTableResponse.totalNumberofRecord = Convert.ToInt32(ds.Tables[1]?.Rows[0][0]);
            dataTableResponse.filteredRecord      = Convert.ToInt32(ds.Tables[2]?.Rows[0][0]);

            dataTableResponse.data = lstFeedProvider;

            return(dataTableResponse);
        }