コード例 #1
0
ファイル: CategoryService.cs プロジェクト: dinhhung09138/tdh
        /// <summary>
        /// Check income, payment history by month, and category id and by type (payment or income)
        /// Parameter1: by month
        /// Parameter2: by acount id
        /// Parameter3: by type (income or payment)
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns>Dictionary<string, object></returns>
        public Dictionary <string, object> GetHistory(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <CategoryHistoryModel> _itemResponse = new DataTableResponse <CategoryHistoryModel>();
                //List of data
                List <CategoryHistoryModel> _list = new List <CategoryHistoryModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.V_MN_CATEGORY_HISTORY
                                  where m.create_by == userID && request.Parameter2 == (request.Parameter2.Length == 0 ? request.Parameter2 : m.category_id.ToString()) //By account id
                                  orderby m.date descending
                                  select new
                    {
                        m.title,
                        m.date,
                        m.money,
                        m.type
                    }).ToList();
                    if (request.Parameter1.Length > 0) //by month
                    {
                        _lData = _lData.Where(m => m.date.Value.DateToString("yyyyMM") == request.Parameter1).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();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new CategoryHistoryModel()
                        {
                            Title       = item.title,
                            Date        = item.date.Value,
                            DateString  = item.date.Value.DateToString(),
                            MoneyString = item.money.NumberToString(),
                            Type        = item.type
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    _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, "GetHistory", userID, ex);
            }
            return(_return);
        }
コード例 #2
0
        public JsonResult History(CustomDataTableRequestHelper requestData)
        {
            try
            {
                #region " [ Declaration ] "

                AccountService _service = new AccountService();

                #endregion

                #region " [ Main processing ] "

                if (requestData.Parameter1 == null)
                {
                    requestData.Parameter1 = "";
                }
                if (requestData.Parameter2 == null)
                {
                    requestData.Parameter2 = "";
                }
                // Process sorting column
                requestData = requestData.SetOrderingColumnName();

                #endregion

                //Call to service
                Dictionary <string, object> _return = _service.GetHistory(requestData, UserID);
                //
                if ((ResponseStatusCodeHelper)_return[DatatableCommonSetting.Response.STATUS] == ResponseStatusCodeHelper.OK)
                {
                    DataTableResponse <AccountHistoryModel> itemResponse = _return[DatatableCommonSetting.Response.DATA] as DataTableResponse <AccountHistoryModel>;
                    return(this.Json(itemResponse, JsonRequestBehavior.AllowGet));
                }
                //
                return(this.Json(new DataTableResponse <AccountHistoryModel>(), JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException serviceEx)
            {
                throw serviceEx;
            }
            catch (DataAccessException accessEx)
            {
                throw accessEx;
            }
            catch (Exception ex)
            {
                throw new ControllerException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, UserID, ex);
            }
        }
コード例 #3
0
ファイル: MNFlowController.cs プロジェクト: dinhhung09138/tdh
        public JsonResult Index(CustomDataTableRequestHelper requestData)
        {
            try
            {
                #region " [ Declaration ] "

                FlowService _service = new FlowService();

                #endregion

                #region " [ Main processing ] "

                if (requestData.Parameter1 == null)
                {
                    requestData.Parameter1 = "";
                }
                if (requestData.Parameter2 == null) // By year month
                {
                    requestData.Parameter2 = DateTime.Now.ToString("yyyyMM");
                }
                #endregion

                //Call to service
                Dictionary <string, object> _return = _service.List(requestData, UserID);
                //
                if ((ResponseStatusCodeHelper)_return[DatatableCommonSetting.Response.STATUS] == ResponseStatusCodeHelper.OK)
                {
                    DataTableResponse <FlowModel> itemResponse = _return[DatatableCommonSetting.Response.DATA] as DataTableResponse <FlowModel>;
                    return(this.Json(itemResponse, JsonRequestBehavior.AllowGet));
                }
                //
                return(this.Json(new DataTableResponse <FlowModel>(), JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException serviceEx)
            {
                throw serviceEx;
            }
            catch (DataAccessException accessEx)
            {
                throw accessEx;
            }
            catch (Exception ex)
            {
                throw new ControllerException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, UserID, ex);
            }
        }
コード例 #4
0
        public JsonResult Index(CustomDataTableRequestHelper requestData)
        {
            try
            {
                #region " [ Declaration ] "

                EventService _service = new EventService();

                #endregion

                #region " [ Main processing ] "

                if (requestData.Parameter1 == null)
                {
                    requestData.Parameter1 = "";
                }

                #endregion

                //Call to service
                Dictionary <string, object> _return = _service.List(requestData, UserID);
                if ((ResponseStatusCodeHelper)_return[DatatableCommonSetting.Response.STATUS] == ResponseStatusCodeHelper.OK)
                {
                    DataTableResponse <EventModel> itemResponse = _return[DatatableCommonSetting.Response.DATA] as DataTableResponse <EventModel>;
                    return(this.Json(itemResponse, JsonRequestBehavior.AllowGet));
                }
                //
                return(this.Json(new DataTableResponse <EventModel>(), JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException serviceEx)
            {
                throw serviceEx;
            }
            catch (DataAccessException accessEx)
            {
                throw accessEx;
            }
            catch (Exception ex)
            {
                throw new ControllerException(FILE_NAME, "Index", UserID, ex);
            }
        }
コード例 #5
0
ファイル: STRoleController.cs プロジェクト: dinhhung09138/tdh
        public JsonResult Index(CustomDataTableRequestHelper requestData)
        {
            try
            {
                #region " [ Declaration ] "

                RoleService _service = new RoleService(this.SessionID);

                #endregion

                #region " [ Main processing ] "

                // Process sorting column
                requestData = requestData.SetOrderingColumnName();

                #endregion

                //Call to service
                Dictionary <string, object> _return = _service.List(requestData, UserID);
                //
                if ((ResponseStatusCodeHelper)_return[DatatableCommonSetting.Response.STATUS] == ResponseStatusCodeHelper.OK)
                {
                    DataTableResponse <RoleModel> itemResponse = _return[DatatableCommonSetting.Response.DATA] as DataTableResponse <RoleModel>;
                    return(this.Json(itemResponse, JsonRequestBehavior.AllowGet));
                }

                return(this.Json(new DataTableResponse <RoleModel>(), JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException serviceEx)
            {
                throw serviceEx;
            }
            catch (DataAccessException accessEx)
            {
                throw accessEx;
            }
            catch (Exception ex)
            {
                throw new ControllerException(FILE_NAME, "Index", UserID, ex);
            }
        }
コード例 #6
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 <AccountTypeModel> _itemResponse = new DataTableResponse <AccountTypeModel>();
                //List of data
                List <AccountTypeModel> _list = new List <AccountTypeModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.MN_ACCOUNT_TYPE
                                  where !m.deleted
                                  select new
                    {
                        m.id,
                        m.name,
                        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.name.ToLower().Contains(searchValue) ||
                                              m.ordering.ToString().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    int _count = 0;
                    foreach (var item in _lData)
                    {
                        _count = _context.MN_ACCOUNT.Count(m => m.account_type_id == item.id);
                        _list.Add(new AccountTypeModel()
                        {
                            ID          = item.id,
                            Name        = item.name,
                            Ordering    = item.ordering,
                            Publish     = item.publish,
                            Count       = _count,
                            CountString = _count.NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <AccountTypeModel> _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 "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);
        }
コード例 #7
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;
                DateTime _fromDate = new DateTime(_year, _month, 1, 0, 0, 0);
                DateTime _toDate   = _fromDate.AddMonths(1).AddDays(-1);
                //Declare response data to json object
                DataTableResponse <FlowModel> _itemResponse = new DataTableResponse <FlowModel>();
                //List of data
                List <FlowModel> _list = new List <FlowModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.V_MN_MONEY_FLOW
                                  where m.create_by == userID && request.Parameter1 == (request.Parameter1.Length == 0 ? request.Parameter1 : m.type.ToString()) && m.date.Value >= _fromDate && m.date.Value <= _toDate
                                  orderby m.date descending
                                  select new
                    {
                        m.id,
                        m.title,
                        m.from_name,
                        m.to_name,
                        m.category_name,
                        m.date,
                        m.money,
                        m.fee,
                        m.type
                    }).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.from_name.ToLower().Contains(searchValue) ||
                                              m.to_name.ToLower().Contains(searchValue) ||
                                              m.category_name.ToString().Contains(searchValue) ||
                                              m.money.ToString().Contains(searchValue) ||
                                              m.fee.ToString().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new FlowModel()
                        {
                            ID           = item.id,
                            Title        = item.title,
                            FromName     = item.from_name,
                            ToName       = item.to_name,
                            CategoryName = item.category_name,
                            DateString   = item.date.Value.DateToString(),
                            Money        = item.money.NumberToString(),
                            Fee          = item.fee.NumberToString(),
                            Type         = item.type,
                            TypeName     = item.type == -1 ? "Chi tiêu" : item.type == 0 ? "Chuyển khoản" : "Thu nhập"
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;

                    _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);
        }
コード例 #8
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);
        }
コード例 #9
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 <PostModel> _itemResponse = new DataTableResponse <PostModel>();
                //List of data
                List <PostModel> _list = new List <PostModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.WEB_POST
                                  where !m.deleted
                                  orderby m.create_date descending
                                  select new
                    {
                        m.id,
                        m.category_id,
                        m.navigation_id,
                        m.title,
                        m.description,
                        m.publish,
                        m.is_navigation,
                        m.create_date
                    }).ToList();

                    _itemResponse.draw         = request.draw;
                    _itemResponse.recordsTotal = _lData.Count;
                    string _cateTitle = "";
                    foreach (var item in _lData)
                    {
                        _cateTitle = "";
                        if (item.is_navigation)
                        {
                            WEB_NAVIGATION _nav = _context.WEB_NAVIGATION.FirstOrDefault(m => m.id == item.navigation_id);
                            _cateTitle = _nav.title;
                        }
                        else
                        {
                            WEB_CATEGORY _cate = _context.WEB_CATEGORY.FirstOrDefault(m => m.id == item.category_id);
                            _cateTitle = _cate.title;
                        }
                        _list.Add(new PostModel()
                        {
                            ID               = item.id,
                            CategoryName     = _cateTitle,
                            Description      = item.description,
                            Title            = item.title,
                            Publish          = item.publish,
                            CreateDate       = item.create_date,
                            CreateDateString = item.create_date.DateToString()
                        });
                    }
                    //Search
                    if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value))
                    {
                        string searchValue = request.search.Value.ToLower();
                        _list = _list.Where(m => m.CategoryName.ToLower().Contains(searchValue) ||
                                            m.Title.ToLower().Contains(searchValue) ||
                                            m.Description.ToLower().Contains(searchValue) ||
                                            m.CreateDateString.ToString().ToLower().Contains(searchValue)).ToList();
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <PostModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "CategoryName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.CategoryName) : _sortList.Sort(col.Dir, m => m.CategoryName);

                                break;

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

                                break;

                            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;
                            }
                        }
                        _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);
        }
コード例 #10
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 <CheckListGroupModel> _itemResponse = new DataTableResponse <CheckListGroupModel>();
                //List of data
                List <CheckListGroupModel> _list = new List <CheckListGroupModel>();

                using (var context = new TDHEntities())
                {
                    var _lData = context.WK_CHECKLIST_GROUP.Where(m => !m.deleted).OrderByDescending(m => m.create_date).Select(m => new
                    {
                        m.id,
                        m.title,
                        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_GROUP.Count(m => m.id == item.id && !m.deleted);
                        _list.Add(new CheckListGroupModel()
                        {
                            ID         = item.id,
                            title      = item.title,
                            CreateDate = item.create_date,
                            updateDate = DateTime.Today
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <CheckListGroupModel> _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);
        }
コード例 #11
0
ファイル: AccountService.cs プロジェクト: dinhhung09138/tdh
        /// <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 <AccountModel> _itemResponse = new DataTableResponse <AccountModel>();
                //List of data
                List <AccountModel> _list = new List <AccountModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.MN_ACCOUNT
                                  join n in _context.MN_ACCOUNT_TYPE on m.account_type_id equals n.id
                                  where !n.deleted && n.publish && !m.deleted && m.create_by == userID
                                  orderby m.name descending
                                  select new
                    {
                        m.id,
                        m.name,
                        m.input,
                        m.output,
                        m.max_payment,
                        type_name = n.name,
                        n.type
                    }).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.type_name.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    decimal _yearMonth = decimal.Parse(DateTime.Now.DateToString("yyyyMM"));
                    foreach (var item in _lData)
                    {
                        _list.Add(new AccountModel()
                        {
                            ID         = item.id,
                            Name       = item.name,
                            MaxPayment = item.type == (short)AccountType.Debit || item.type == (short)AccountType.Saving || item.type == (short)AccountType.Cash ? 0 :
                                         item.max_payment,
                            MaxPaymentString = item.type == (short)AccountType.Debit || item.type == (short)AccountType.Saving || item.type == (short)AccountType.Cash ? "" :
                                               item.max_payment.NumberToString(),
                            BorrowMoney = item.type == (short)AccountType.Credit ? (item.input > item.output ? 0 : item.output - item.input) : //For credit card, show if income > payment, don't have debt
                                          item.type == (short)AccountType.Borrow ? item.max_payment - item.input :                             //Can not use for pay bills, only receive money to pay for debt
                                          0,
                            BorrowMoneyString = item.type == (short)AccountType.Credit ? (item.input > item.output ? "" : (item.output - item.input).NumberToString()) :
                                                item.type == (short)AccountType.Borrow ? (item.max_payment - item.input).NumberToString() : //Borrow
                                                "",
                            LoanMoney       = item.type == (short)AccountType.Loan ? item.max_payment - item.input : 0,
                            LoanMoneyString = item.type == (short)AccountType.Loan ? (item.max_payment - item.input).NumberToString() : "",
                            AccountType     = item.type,
                            Total           = item.type == (short)AccountType.Credit ? (item.input - item.output > 0 ? item.input - item.output : 0) : //For credit card, show if income > payment, don't have debt
                                              item.type == (short)AccountType.Borrow ? 0 :
                                              item.type == (short)AccountType.Loan ? 0 :
                                              (item.input - item.output),
                            TotalString = item.type == (short)AccountType.Credit ? (item.input - item.output > 0 ? (item.input - item.output).NumberToString() : "") :
                                          item.type == (short)AccountType.Borrow ? "" :
                                          item.type == (short)AccountType.Loan ? "" :
                                          (item.input - item.output).NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <AccountModel> _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 "AccountTypeName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.AccountTypeName) : _sortList.Sort(col.Dir, m => m.AccountTypeName);

                                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
ファイル: GroupService.cs プロジェクト: dinhhung09138/tdh
        /// <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);
        }
コード例 #13
0
ファイル: EventService.cs プロジェクト: dinhhung09138/tdh
        /// <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);
        }
コード例 #14
0
ファイル: CategoryService.cs プロジェクト: dinhhung09138/tdh
        /// <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);
        }
コード例 #15
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);
        }
コード例 #16
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 <CetificateModel> _itemResponse = new DataTableResponse <CetificateModel>();
                //List of data
                List <CetificateModel> _list = new List <CetificateModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.PN_CETIFICATE
                                  where !m.deleted && m.created_by == userID
                                  orderby m.ordering descending
                                  select new
                    {
                        m.id,
                        m.name,
                        m.school,
                        m.time,
                        m.ordering
                    }).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.school.ToLower().Contains(searchValue) ||
                                              m.time.ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new CetificateModel()
                        {
                            ID       = item.id,
                            Name     = item.name,
                            School   = item.school,
                            Time     = item.time,
                            Ordering = item.ordering
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <CetificateModel> _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 "School":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.School) : _sortList.Sort(col.Dir, m => m.School);

                                break;

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

                                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);
        }
コード例 #17
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 <PostTypeModel> _itemResponse = new DataTableResponse <PostTypeModel>();
                //List of data
                List <PostTypeModel> _list = new List <PostTypeModel>();
                using (var context = new TDHEntities())
                {
                    var _lData = context.FB_POST_TYPE.Where(m => !m.deleted)
                                 .OrderByDescending(m => m.name)
                                 .Select(m => new
                    {
                        m.code,
                        m.name,
                        m.on_group,
                        m.on_fanpage,
                        m.on_profile
                    }).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.code.ToLower().Contains(searchValue) ||
                                              m.name.ToLower().Contains(searchValue)).ToList();
                    }

                    foreach (var item in _lData)
                    {
                        _list.Add(new PostTypeModel()
                        {
                            Code      = item.code,
                            Name      = item.name,
                            OnFanpage = item.on_fanpage,
                            OnGroup   = item.on_group,
                            OnProfile = item.on_profile
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <PostTypeModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "Code":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Code) : _sortList.Sort(col.Dir, m => m.Code);

                                break;

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

                                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);
        }
コード例 #18
0
ファイル: IdeaService.cs プロジェクト: dinhhung09138/tdh
        /// <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);
        }
コード例 #19
0
ファイル: AccountService.cs プロジェクト: dinhhung09138/tdh
        /// <summary>
        /// Check income, payment history by month, and account id and by type (payment or income)
        /// Parameter1: by month
        /// Parameter2: by acount id
        /// Parameter3: by type (income or payment)
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">The user identifier</param>
        /// <returns>Dictionary<string, object></returns>
        public Dictionary <string, object> GetHistory(CustomDataTableRequestHelper request, Guid userID)
        {
            Dictionary <string, object> _return = new Dictionary <string, object>();

            try
            {
                //Declare response data to json object
                DataTableResponse <AccountHistoryModel> _itemResponse = new DataTableResponse <AccountHistoryModel>();
                //List of data
                List <AccountHistoryModel> _list = new List <AccountHistoryModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = (from m in _context.V_MN_ACCOUNT_HISTORY
                                  where request.Parameter1 == (request.Parameter1.Length == 0 ? request.Parameter1 : m.account_id.ToString()) && //By account id
                                  request.Parameter2 == (request.Parameter2.Length == 0 ? request.Parameter2 : m.type.ToString())                //by type (income or payment)
                                  orderby m.date descending
                                  select new
                    {
                        m.title,
                        m.date,
                        m.money,
                        m.type
                    }).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.date.Value.ToString().ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new AccountHistoryModel()
                        {
                            Title       = item.title,
                            Date        = item.date.Value,
                            DateString  = item.date.Value.DateToString(),
                            Money       = item.money.Value,
                            MoneyString = item.money.Value.NumberToString(),
                            Type        = item.type
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <AccountHistoryModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "DateString":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.Date) : _sortList.Sort(col.Dir, m => m.Date);

                                break;

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

                                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, "GetHistory", userID, ex);
            }
            return(_return);
        }
コード例 #20
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);
        }
コード例 #21
0
ファイル: UserService.cs プロジェクト: dinhhung09138/tdh
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">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 <UserModel> _itemResponse = new DataTableResponse <UserModel>();
                //List of data
                List <UserModel> _list = new List <UserModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = _context.PROC_SYS_USER_List(this.SessionID, userID).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.user_name.ToLower().Contains(searchValue) ||
                                              m.full_name.ToLower().Contains(searchValue) ||
                                              m.role_name.ToLower().Contains(searchValue) ||
                                              m.last_login.ToString().ToLower().Contains(searchValue)).ToList();
                    }
                    //Add to list
                    foreach (var item in _lData)
                    {
                        _list.Add(new UserModel()
                        {
                            ID              = (Guid)item.id,
                            Locked          = item.locked,
                            FullName        = item.full_name,
                            UserName        = item.user_name,
                            LastLoginString = item.last_login,
                            RoleName        = item.role_name
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <UserModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "FullName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.FullName) : _sortList.Sort(col.Dir, m => m.FullName);

                                break;

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

                                break;

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

                                break;

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

                                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, MethodInfo.GetCurrentMethod().Name, 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 <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);
        }
コード例 #23
0
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">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 <RoleModel> _itemResponse = new DataTableResponse <RoleModel>();
                //List of data
                List <RoleModel> _list = new List <RoleModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = _context.PROC_SYS_ROLE_List(this.SessionID, userID).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.description.ToLower().Contains(searchValue) ||
                                              m.name.ToLower().Contains(searchValue)).ToList();
                    }

                    foreach (var item in _lData)
                    {
                        _list.Add(new RoleModel()
                        {
                            ID          = (Guid)item.id,
                            Name        = item.name,
                            Description = item.description,
                            Publish     = item.publish,
                            Count       = item.count,
                            CountString = item.count.NumberToString()
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <RoleModel> _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 "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, MethodInfo.GetCurrentMethod().Name, userID, ex);
            }
            return(_return);
        }
コード例 #24
0
ファイル: ErrorLogService.cs プロジェクト: dinhhung09138/tdh
        /// <summary>
        /// Get list data using jquery datatable
        /// </summary>
        /// <param name="request">Jquery datatable request</param>
        /// <param name="userID">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 <ErrorLogModel> _itemResponse = new DataTableResponse <ErrorLogModel>();
                //List of data
                List <ErrorLogModel> _list = new List <ErrorLogModel>();
                using (var _context = new TDHEntities())
                {
                    var _lData = _context.WEB_ERROR_LOG.Select(m => new { m.id, m.file_name, m.method_name, m.message, m.create_date }).OrderByDescending(m => 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.file_name.ToLower().Contains(searchValue) ||
                                              m.method_name.ToLower().Contains(searchValue) ||
                                              m.message.ToLower().Contains(searchValue)).ToList();
                    }
                    foreach (var item in _lData)
                    {
                        _list.Add(new ErrorLogModel()
                        {
                            ID         = item.id,
                            FileName   = item.file_name,
                            MethodName = item.method_name,
                            Message    = item.message,
                            Date       = item.create_date,
                            DateString = item.create_date.DateToString("dd/MM/yyyy HH:mm:ss")
                        });
                    }
                    _itemResponse.recordsFiltered = _list.Count;
                    IOrderedEnumerable <ErrorLogModel> _sortList = null;
                    if (request.order != null)
                    {
                        foreach (var col in request.order)
                        {
                            switch (col.ColumnName)
                            {
                            case "FileName":
                                _sortList = _sortList == null?_list.Sort(col.Dir, m => m.FileName) : _sortList.Sort(col.Dir, m => m.FileName);

                                break;

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

                                break;

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

                                break;

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

                                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, MethodInfo.GetCurrentMethod().Name, userID, ex);
            }
            return(_return);
        }