示例#1
0
文件: Class_Post.cs 项目: vaxtra/Toms
    public Datatable AJAX_GetTable(int iDisplayLength, int iDisplayStart, int sEcho, int iSortingCols, int iSortCol, string sSortDir, string search)
    {
        try
        {
            DataClassesDataContext db            = new DataClassesDataContext();
            Class_Page_Category    _pageCategory = new Class_Page_Category();
            IEnumerable <dynamic>  data          = Dynamic_GetAll(db);
            int count = data.Count();
            if (!string.IsNullOrEmpty(search))
            {
                data = data.Where(x => x.Post_Title.ToLower().Contains(search.ToLower())).ToArray();
            }
            List <Dictionary <string, dynamic> > resultList = new List <Dictionary <string, dynamic> >();
            foreach (dynamic currData in data)
            {
                Dictionary <string, dynamic> newData = new Dictionary <string, dynamic>();
                newData.Add("IDPost", currData.IDPost);
                newData.Add("Post_Title", currData.Post_Title);
                newData.Add("Page_Title", currData.Page_Title);
                newData.Add("Post_ShortContent", currData.Post_ShortContent);
                newData.Add("Post_Content", currData.Post_Content);
                newData.Add("DateInsert", currData.DateInsert.ToString("dd-MM-yyyy") + " " + currData.DateInsert.ToLongTimeString());
                newData.Add("DateLastUpdate", currData.DateLastUpdate.ToString("dd-MM-yyyy") + " " + currData.DateLastUpdate.ToLongTimeString());
                newData.Add("Active", currData.Active);
                newData.Add("Categories", Dynamic_GetData_PageCategories_ByIDPost(db, currData.IDPost));
                resultList.Add(newData);
            }
            return(OurClass.ParseTable(resultList, count, iDisplayLength, iDisplayStart, sEcho, iSortingCols, iSortCol, sSortDir));
        }
        catch (Exception ex)
        {
            Class_Log_Error log = new Class_Log_Error();
            log.Insert(ex.Message, ex.StackTrace);

            return(new WITLibrary.Datatable
            {
                sEcho = 0,
                iTotalRecords = 0,
                iTotalDisplayRecords = 0,
                aaData = new List <Dictionary <string, dynamic> >()
            });
        }
    }
示例#2
0
文件: Class_Post.cs 项目: vaxtra/Toms
    public ReturnData AJAX_Update_Categories(int idPost, int idPage, int[] categories)
    {
        try
        {
            DataClassesDataContext db = new DataClassesDataContext();
            if (categories.Count() == 0)
            {
                return(ReturnData.MessageFailed("No selected category to insert.", null));
            }

            dynamic _post = Dynamic_GetDetail_Information(db, idPost);
            if (_post == null)
            {
                return(ReturnData.MessageFailed("The requested resource does not exist.", null));
            }

            TBPageCategory_Post[] _oldCategories  = GetData_PageCategory_ByIDPost(db, _post.IDPost);
            List <TBPageCategory> _pageCategories = new List <TBPageCategory>();
            Class_Page_Category   _pageCategory   = new Class_Page_Category();
            foreach (int item in categories)
            {
                if (_oldCategories.AsEnumerable().Where(x => x.IDPageCategory == item).FirstOrDefault() == null)
                {
                    TBPageCategory _newData = _pageCategory.GetDetail(db, item);
                    if (_pageCategories == null)
                    {
                        return(ReturnData.MessageFailed("Some category does not exists.", null));
                    }
                    _pageCategories.Add(_newData);
                }
            }
            foreach (TBPageCategory_Post item in _oldCategories)
            {
                dynamic _item = categories.Where(x => x == item.IDPageCategory).FirstOrDefault();
                if (_item == 0)
                {
                    db.TBPageCategory_Posts.DeleteOnSubmit(item);
                }
            }
            db.SubmitChanges();

            foreach (dynamic item in _pageCategories)
            {
                TBPageCategory_Post _newData = GetData_PageCategory_ByIDPost(db, idPost).Where(x => x.IDPageCategory == item.IDPageCategory).FirstOrDefault();
                if (_newData == null)
                {
                    _newData = new TBPageCategory_Post
                    {
                        IDPost         = idPost,
                        IDPageCategory = item.IDPageCategory,
                    };

                    db.TBPageCategory_Posts.InsertOnSubmit(_newData);
                }
            }
            db.SubmitChanges();

            Dictionary <string, dynamic> _result = new Dictionary <string, dynamic>();
            _result.Add("SelectedCategories", Dynamic_GetData_PageCategories_ByIDPost(db, idPost));
            _result.Add("TreeCategories", GetTree_PageCategory(db, idPage, idPost));
            return(ReturnData.MessageSuccess(categories.Count() + " categories has been successfully updated.", _result));
        }
        catch (Exception ex)
        {
            Class_Log_Error log = new Class_Log_Error();
            log.Insert(ex.Message, ex.StackTrace);

            return(ReturnData.MessageFailed(ex.Message, null));
        }
    }
示例#3
0
文件: Class_Post.cs 项目: vaxtra/Toms
    private IEnumerable <WITLibrary.JsTreeModel> GenerateUL(DataClassesDataContext db, Class_Page_Category _pageCategory, IEnumerable <TBPageCategory> menus, int idPost)
    {
        List <WITLibrary.JsTreeModel> _newCategory = new List <WITLibrary.JsTreeModel>();

        foreach (var menu in menus)
        {
            if (menu.TBPageCategory_Posts.AsEnumerable().Any())
            {
                _newCategory.Add(new WITLibrary.JsTreeModel
                {
                    text  = menu.Name,
                    icon  = menu.Deflag ? "fa fa-tags icon-state-danger" : "fa fa-tags icon-state-success",
                    state = new WITLibrary.JsTreeState {
                        selected = menu.TBPageCategory_Posts.AsEnumerable().FirstOrDefault(x => x.IDPost == idPost) != null
                    },
                    li_attr = new WITLibrary.JsTreeAttr {
                        id = menu.IDPageCategory.ToString()
                    }
                });
            }
            else
            {
                _newCategory.Add(new WITLibrary.JsTreeModel
                {
                    text    = menu.Name,
                    icon    = menu.Deflag ? "fa fa-tags icon-state-danger" : "fa fa-tags icon-state-success",
                    li_attr = new WITLibrary.JsTreeAttr {
                        id = menu.IDPageCategory.ToString()
                    },
                    state = new WITLibrary.JsTreeState {
                        selected = menu.TBPageCategory_Posts.AsEnumerable().FirstOrDefault(x => x.IDPost == idPost) != null
                    }
                });
            }
        }
        return(_newCategory.ToArray());
    }
示例#4
0
文件: Class_Post.cs 项目: vaxtra/Toms
    public IEnumerable <dynamic> GetTree_PageCategory(DataClassesDataContext db, int idPage, int idPost)
    {
        Class_Page_Category _pageCategory = new Class_Page_Category();

        return(GenerateUL(db, _pageCategory, GetDataBy_IDPage(db, idPage), idPost));
    }