/// <summary> /// 点击||点赞 /// </summary> /// <param name="ArticleID">文章ID</param> /// <param name="HitType">点击类型0点击量1点赞数</param> /// <returns></returns> public bool Hit(string ArticleID, string HitType, string IpAddress) { using (var factory = new BaseAccess()) { try { var spec = Specification <HitRecordEntity> .Create(c => c.VC_IP_ADDRESS == IpAddress); spec = Specification <HitRecordEntity> .Create(c => c.N_ARTICLE_ID == ArticleID); if (HitType == "3" || HitType == "4" || HitType == "5")//3满意 4一般 5不满意 { spec &= Specification <HitRecordEntity> .Create(c => (",3,4,5,").Contains("," + c.C_HIT_TYPE + ",")); } else { spec &= Specification <HitRecordEntity> .Create(c => c.C_HIT_TYPE == HitType); } spec &= Specification <HitRecordEntity> .Create(c => c.DT_HIT_TIME >= DateTime.Now.AddDays(-1)); var hitrecord = factory.GetSingle <HitRecordEntity>(spec); if (hitrecord != null) { return(false); } else { if (HitType == "0" || HitType == "1")//2网站访问量 0点击量 1点赞量 3满意 4一般 5不满意 { var article = factory.GetSingle <ArticleEntity>(ArticleID); if (HitType == ((int)EMHITTYPE.点击量).ToString()) { article.N_HITS += 1; } else { article.N_LIKES += 1; } factory.Update <ArticleEntity>(article); } hitrecord = new HitRecordEntity(); hitrecord.ID = Guid.NewGuid().ToString(); hitrecord.N_ARTICLE_ID = ArticleID; hitrecord.VC_IP_ADDRESS = IpAddress; hitrecord.C_HIT_TYPE = HitType; hitrecord.DT_HIT_TIME = DateTime.Now; factory.Insert <HitRecordEntity>(hitrecord); return(true); } } catch { return(false); } } }
/// <summary> /// 通过角色ID获取角色,从数据库中取 /// </summary> /// <returns></returns> public RoleInfo GetRoleByID(string ID) { using (var factory = new BaseAccess()) { var model = factory.GetSingle <RoleEntity>(Specification <RoleEntity> .Create(c => c.ID == ID && c.RecordStatus != (int)RecordStatus.UnEnable)); if (model != null) { return(factory.GetSingle <RoleEntity>(Specification <RoleEntity> .Create(c => c.ID == ID && c.RecordStatus != (int)RecordStatus.UnEnable)).Adapter <RoleInfo>(new RoleInfo())); } else { return(new RoleInfo()); } } }
/// <summary> /// 设置角色系统 /// </summary> /// <param name="UserID"></param> /// <param name="RoleID"></param> /// <param name="IsHas">ture设置 false移除</param> public void SetAppRole(string AppID, string RoleID, bool IsHas) { using (var factory = new BaseAccess(base._DBConfigPath)) { var appRole = factory.GetSingle <SYS_AppRoleEntity>(Specification <SYS_AppRoleEntity> .Create(c => c.AppID == AppID && c.RoleID == RoleID)); if (IsHas) { //增加 if (appRole == null || string.IsNullOrEmpty(appRole.ID)) { appRole = new SYS_AppRoleEntity() { RoleID = RoleID, AppID = AppID }; factory.Insert <SYS_AppRoleEntity>(appRole); } } else { //移除 if (appRole != null && !string.IsNullOrEmpty(appRole.ID)) { factory.Delete <SYS_AppRoleEntity>(appRole); } } } }
/// <summary> /// 根据当前登陆用户获取用户配置信息 /// 如果没有配置信息则 创建一天空的配置信息 /// </summary> /// <param name="UserId"></param> /// <returns></returns> public Configuration_S GetConfigurationByUserId(string UserId) { using (var factory = new BaseAccess()) { var spec = Specification <SYS_ConfigurationEntity> .Create(c => c.USERID == UserId); try { if (factory.IsExists <SYS_ConfigurationEntity>(spec)) { var entity = factory.GetSingle <SYS_ConfigurationEntity>(spec); return(entity.Adapter <Configuration_S>(new Configuration_S())); } else { var entity = new SYS_ConfigurationEntity(); entity.ID = Guid.NewGuid().ToString(); entity.USERID = UserId; factory.Insert <SYS_ConfigurationEntity>(entity, false); factory.Commit(); return(null); } } catch (Exception ex) { factory.Rollback(); return(null); } } }
/// <summary> /// 判断文章标题是否存在 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool IsTitleExisted(Article_S model) { using (var factory = new BaseAccess()) { try { var spec = Specification <ArticleEntity> .Create(c => c.N_COLUMN_ID == model.N_COLUMN_ID); spec &= Specification <ArticleEntity> .Create(c => c.VC_TITLE == model.VC_TITLE); var article = factory.GetSingle <ArticleEntity>(spec); if (article != null) { return(true); } else { return(false); } } catch { return(false); } } }// <summary>
/// <summary> /// 更新 /// </summary> /// <param name="entity"></param> public void Edit(Dictionary_U model) { using (var factory = new BaseAccess()) { try { if (!string.IsNullOrEmpty(model.ID)) { var model_old = factory.GetSingle <Sys_DictionaryEntity>(model.ID); model_old = model.Adapter <Sys_DictionaryEntity>(model_old);//将页面对象的属性转换到数据库对象modle中 factory.Update <Sys_DictionaryEntity>(model_old, false); if ((model.IsCache ?? 0) != (model.IsCache_Old ?? 0)) { //更新其他所有DictType的IsCache string type = model_old.DictType; factory.Update <Sys_DictionaryEntity>(model_old, new string[] { "IsCache" }, Specification <Sys_DictionaryEntity> .Create(c => c.DictType == model_old.DictType && c.ParDictID != Define._TOPPARENTID), false); } factory.Commit(); //清除缓存 if ((model_old.IsCache ?? 0) == 1) { Manage.Open.CacheshipFactory.Instance.ClearDictionaryCache(model_old.DictType); } } } catch (Exception ex) { factory.Rollback(); throw ex; } } }
//更新 public Boolean UpdateConfiguration(Configuration_U model) { using (var factory = new BaseAccess()) { if (!string.IsNullOrEmpty(model.USERID)) { var spec = Specification <SYS_ConfigurationEntity> .Create(c => c.USERID == model.USERID); try { var model_old = factory.GetSingle <SYS_ConfigurationEntity>(spec); string id = model_old.ID; model_old = model.Adapter <SYS_ConfigurationEntity>(model_old);//将页面对象的属性转换到数据库对象modle中 model_old.ID = id; factory.Update <SYS_ConfigurationEntity>(model_old, false); factory.Commit(); return(true); } catch (Exception ex) { factory.Rollback(); return(false); } } return(false); } }
/// <summary> /// 删除多个对象 /// </summary> /// <param name="IDs">需要删除数据的ID,使用“,”分隔</param> public void Del(string IDs) { using (var factory = new BaseAccess()) { try { foreach (var id in IDs.Split(',')) { var model = factory.GetSingle <OrganizationEntity>(id); if (model != null) { //获取所有子节点 List <OrganizationEntity> childrens = new List <OrganizationEntity>() { model }; childrens = GetChilds(factory, model.ID, childrens); foreach (var c in childrens) { factory.Delete <OrganizationEntity>(c, false); } } } factory.Commit(); //清理缓存 CacheshipFactory.Instance.ClearOrganCache(); } catch (Exception ex) { factory.Rollback(); throw ex; } } }
/// <summary> /// 分页获取专题明细列表 /// </summary> /// <param name="model"></param> /// <param name="pi"></param> /// <returns></returns> public List <ArticleApply_S> GetArticleApplyListPaged(ArticleApply_S model, PageInfo pi) { using (var factory = new BaseAccess()) { List <Orderby <ArticleApplyEntity> > orders = new List <Orderby <ArticleApplyEntity> >() { new Orderby <ArticleApplyEntity>(c => c.DT_APPLY_TIME, SortOrder.Descending) }; var spec = Specification <ArticleApplyEntity> .Create(c => true); if (!string.IsNullOrWhiteSpace(model.VC_ARTICLE_NAME)) { var ArticleIDs = factory.GetAll <ArticleEntity>(Specification <ArticleEntity> .Create(c => c.VC_TITLE.Contains(model.VC_ARTICLE_NAME))).Select(c => c.ID).ToList().ToArray(); spec &= Specification <ArticleApplyEntity> .Create(c => ArticleIDs.Contains(c.ID)); } if (!string.IsNullOrWhiteSpace(model.C_CHECK_STATUS)) { spec &= Specification <ArticleApplyEntity> .Create(c => c.C_CHECK_STATUS == model.C_CHECK_STATUS); } if (!string.IsNullOrWhiteSpace(model.VC_APPLYER_NAME)) { spec &= Specification <ArticleApplyEntity> .Create(c => c.VC_APPLYER_NAME.Contains(model.VC_APPLYER_NAME)); } if (model.N_START_DATE != null) { spec &= (Specification <ArticleApplyEntity> .Create(c => c.DT_APPLY_TIME >= model.N_START_DATE)); } if (model.N_END_DATE != null) { spec &= (Specification <ArticleApplyEntity> .Create(c => c.DT_APPLY_TIME <= model.N_END_DATE)); } var list = factory.GetPage <ArticleApplyEntity>(pi, spec, orders) .Adapter <ArticleApplyEntity, ArticleApply_S>(new List <ArticleApply_S>()); foreach (var item in list) { // item.VC_ARTICLE_NAME = factory.GetSingle<ArticleEntity>(item.N_ARTICLE_ID).VC_TITLE; item.VC_ARTICLE_NAME = factory.GetSingle <ArticleEntity>(item.N_ARTICLE_ID) == null ? "未知" : factory.GetSingle <ArticleEntity>(item.N_ARTICLE_ID).VC_TITLE; if (!string.IsNullOrWhiteSpace(item.VC_CHECKER_ID)) { var checker = factory.GetSingle <SYS_UserEntity>(item.VC_CHECKER_ID); item.VC_CHECKER_NAME = checker == null ? "" : checker.UserDisplayName; } } return(list); } }
/// <summary> /// 根据标识获得栏目 /// </summary> /// <returns></returns> public MenuEntity GetColumnByKey(string key) { using (var factory = new BaseAccess()) { var Column = factory.GetSingle <MenuEntity>(Specification <MenuEntity> .Create(c => c.ID == key)); return(Column); } }
/// <summary> /// 根据栏目编号获取栏目名称 /// </summary> /// <returns></returns> public string GetColumnNameByColumnId(string ColumnId) { using (var factory = new BaseAccess()) { var Column = factory.GetSingle <MenuEntity>(Specification <MenuEntity> .Create(c => c.MenuCode == ColumnId)); return(Column.MenuName); } }
/// <summary> /// 根据字典code 获取字典名称 /// </summary> /// <param name="DicCody"></param> /// <returns></returns> public string GetDicNameByDicCode(string DicCody) { using (var factory = new BaseAccess()) { var spec = Specification <Sys_DictionaryEntity> .Create(c => c.DictCode == DicCody); return(factory.GetSingle <Sys_DictionaryEntity>(spec).DictName); } }
/// <summary> /// 根据ID获取用户 /// </summary> /// <param name="ID"></param> /// <returns></returns> public User_S GetUserByID(string ID) { using (var factory = new BaseAccess(base._DBConfigPath)) { var user = factory.GetSingle <UserEntity>(Specification <UserEntity> .Create(c => c.ID == ID)).Adapter <User_S>(new User_S()) ?? new User_S(); user.UserDept = Manage.Open.MembershipFactory.Instance.GetDefaultOrganByUser(user.ID).Adapter <Organization_S>(new Organization_S()); return(user); } }
/// <summary> /// 获取用户的默认分组 /// </summary> /// <param name="UserID"></param> /// <returns></returns> public UserOrganizationEntity GetDefaultOrganByUser(string UserID) { using (var factory = new BaseAccess()) { var spec = Specification <UserOrganizationEntity> .Create(c => true); spec &= Specification <UserOrganizationEntity> .Create(c => c.UserID == UserID && c.IsDefault == 1); return(factory.GetSingle <UserOrganizationEntity>(spec)); } }
/// <summary> /// 获取所有站点 /// </summary> /// <param name="searchContent"></param> /// <returns></returns> public SysUser_S GetUserInfoByLoginName(string LoginName) { using (var factory = new BaseAccess()) { var spec = Specification <SYS_UserEntity> .Create(c => c.UserLoginName == LoginName); //factory.DbContext.ExecuteString("",null) var model = factory.GetSingle <SYS_UserEntity>(spec); return(model.Adapter <SysUser_S>(new SysUser_S())); } }
/// <summary> /// 根据栏目编号得到父级ID /// </summary> /// <returns></returns> public string GetPreMenuIdByColumnId(string ColumnId) { using (var factory = new BaseAccess()) { var Column = factory.GetSingle <NavigationEntity>(Specification <NavigationEntity> .Create(c => c.VC_LINK.Contains("?columnid=" + ColumnId))); if (Column == null) { return("0"); } return(Column.N_SUPER_NAVIGATION_ID); } }
/// <summary> /// 分页获取开放鉴定文章 /// </summary> /// <returns></returns> public List <Article_S> GetArticlesVerifyPaged(Article_S model, PageInfo pi) { using (var factory = new BaseAccess()) { List <Orderby <ArticleEntity> > orders = new List <Orderby <ArticleEntity> >() { new Orderby <ArticleEntity>(c => c.DT_ADD_TIME, SortOrder.Descending) }; var spec = Specification <ArticleEntity> .Create(c => true); if (!string.IsNullOrEmpty(model.C_STATUS)) { spec &= Specification <ArticleEntity> .Create(c => c.C_STATUS == model.C_STATUS); } if (!string.IsNullOrEmpty(model.C_VERIFY_STATUS)) { spec &= Specification <ArticleEntity> .Create(c => c.C_VERIFY_STATUS == model.C_VERIFY_STATUS); } if (!string.IsNullOrEmpty(model.N_COLUMN_ID)) { spec &= Specification <ArticleEntity> .Create(c => c.N_COLUMN_ID.Contains(model.N_COLUMN_ID)); } else if (!string.IsNullOrEmpty(model.VC_KEYWORDS)) { spec &= (Specification <ArticleEntity> .Create(c => c.VC_KEYWORDS.Contains(model.VC_KEYWORDS)) || Specification <ArticleEntity> .Create(c => c.VC_TITLE.Contains(model.VC_KEYWORDS)) || Specification <ArticleEntity> .Create(c => c.VC_CONTENT.Contains(model.VC_KEYWORDS))); } if (!string.IsNullOrEmpty(model.VC_TITLE)) { spec &= Specification <ArticleEntity> .Create(c => c.VC_TITLE.Contains(model.VC_TITLE)); } var list = factory.GetPage <ArticleEntity>(pi, spec, orders); List <Article_S> modellist = new List <Article_S>(); foreach (var item in list) { if (item.N_COLUMN_ID == "0") { continue; } var modelitem = item.Adapter <Article_S>(new Article_S()); var column = factory.GetSingle <MenuEntity>(Specification <MenuEntity> .Create(m => m.MenuCode == item.N_COLUMN_ID)); if (column != null) { modelitem.VC_COLUMN_NAME = column.MenuName; } modelitem.VC_ADD_OP_NAME = item.OPADD == null ? "未知" : item.OPADD.UserDisplayName; modelitem.VC_UPDATE_OP_NAME = item.OPUPDATE == null ? "未知" : item.OPUPDATE.UserDisplayName; modelitem.VC_RECOMMEND_NAME = Enum.GetName(typeof(EMRECOMMENDLEVEL), (item.C_RECOMMEND_LEVEL).Convert <int>(1)); modelitem.B_HOTPOINTS = false; modellist.Add(modelitem); } return(modellist); } }
/// <summary> /// 对比密码是否正确 /// </summary> /// <param name="UserID"></param> /// <param name="Password"></param> /// <returns></returns> public bool ComparePassword(string UserID, string Password) { using (var factory = new BaseAccess()) { var user = factory.GetSingle <UserEntity>(Specification <UserEntity> .Create(c => c.ID == UserID)); if (user != null) { //旧密码 string oldpwd = (user.UserLoginName + Define._PASSWORDSPLIT + Password).ToMD5(); return(user.UserPassword == oldpwd); } return(false); } }
/// <summary> /// 根据用户登录帐号获取用户对象 /// </summary> /// <param name="LoginName"></param> /// <returns></returns> public UserInfo GetUserByLoginName(string LoginName) { using (var factory = new BaseAccess(base._DBConfigPath)) { var model = factory.GetSingle <UserEntity>(Specification <UserEntity> .Create(c => c.UserLoginName == LoginName && c.RecordStatus != (int)RecordStatus.UnEnable)); if (model != null) { return(model.Adapter <UserInfo>(new UserInfo())); } else { return(new UserInfo()); } } }
/// <summary> /// 获取带明细的专题信息 /// </summary> /// <param name="EventID"></param> /// <returns></returns> public Event_S GetEventWithDetail(string EventID) { using (var factory = new BaseAccess()) { var entity = factory.GetSingle <EventEntity>(EventID); var model = entity.Adapter <Event_S>(new Event_S()); var spec = Specification <EventDetailEntity> .Create(c => c.N_EVENT_ID == EventID); var entitydetaillist = factory.GetAll <EventDetailEntity>(spec); model.listEventDetail = entitydetaillist.Adapter <EventDetailEntity, EventDetail_S>(new List <EventDetail_S>()); return(model); } }
/// <summary> /// 通过分组名称获取分组 /// </summary> /// <param name="OrgainName"></param> /// <returns></returns> public OrganizationInfo GetOrganByName(string OrgainName) { using (var factory = new BaseAccess()) { var model = factory.GetSingle <OrganizationEntity>(Specification <OrganizationEntity> .Create(c => c.OrganName == OrgainName.Trim())); if (model != null) { return(model.Adapter <OrganizationInfo>(new OrganizationInfo())); } else { return(new OrganizationInfo()); } } }
/// <summary> /// 修改用户密码 /// </summary> /// <param name="UserID"></param> /// <param name="password"></param> /// <returns></returns> public bool ChangePwd(string UserID, string password) { using (var factory = new BaseAccess()) { var user = factory.GetSingle <UserEntity>(Specification <UserEntity> .Create(c => c.ID == UserID)); string newPassword = (user.UserLoginName + Define._PASSWORDSPLIT + password).ToMD5(); if (user != null) { user.UserPassword = newPassword; factory.Update <UserEntity>(user); return(true); } return(false); } }
/// <summary> /// 更新 /// </summary> /// <param name="model"></param> public void Edit(Organization_U model) { using (var factory = new BaseAccess()) { if (!string.IsNullOrEmpty(model.ID)) { var model_old = factory.GetSingle <OrganizationEntity>(model.ID); model_old = model.Adapter <OrganizationEntity>(model_old);//将页面对象的属性转换到数据库对象modle中 factory.Update <OrganizationEntity>(model_old); //清理缓存 CacheshipFactory.Instance.ClearOrganCache(); } } }
/// <summary> /// 获取所有菜单(除管理员菜单) /// </summary> /// <returns></returns> public List <Article_S> GetAllArticles(string ColumnId) { using (var factory = new BaseAccess()) { List <Orderby <ArticleEntity> > orders = new List <Orderby <ArticleEntity> >() { new Orderby <ArticleEntity>(c => c.DT_ADD_TIME, SortOrder.Descending) }; var Column = factory.GetSingle <MenuEntity>(Specification <MenuEntity> .Create(c => c.MenuCode == ColumnId)); var spec = Specification <ArticleEntity> .Create(c => c.N_COLUMN_ID == ColumnId); spec &= Specification <ArticleEntity> .Create(c => c.C_STATUS == "1"); var list = factory.GetAll <ArticleEntity>(spec, orders) .Adapter <ArticleEntity, Article_S>(new List <Article_S>()); return(list); } }
/// <summary> /// 根据标识获得导航 /// </summary> /// <returns></returns> public Navigation_S GetNavByKey(string key) { using (var factory = new BaseAccess()) { NavigationEntity Column = factory.GetSingle <NavigationEntity>(Specification <NavigationEntity> .Create(c => c.N_NAV_CODE == key)); if (Column != null) { Navigation_S ss = new Navigation_S(); Column.Adapter <Navigation_S>(ss); return(Column.Adapter <Navigation_S>(new Navigation_S())); } return(new Navigation_S()); } }
/// <summary> /// 更新 /// </summary> /// <param name="model"></param> public void Edit(Menu_U model) { using (var factory = new BaseAccess()) { if (!string.IsNullOrEmpty(model.ID)) { var model_old = factory.GetSingle <MenuEntity>(model.ID); model_old = model.Adapter <MenuEntity>(model_old);//将页面对象的属性转换到数据库对象modle中 factory.Update <MenuEntity>(model_old); //清理缓存 if (model_old.MenuType == (int)MenuType.Function) { CacheshipFactory.Instance.ClearFunMenuCache(); } } } }
/// <summary> /// 删除多个对象 /// </summary> /// <param name="IDs">需要删除数据的ID,使用“,”分隔</param> public void Del(string IDs) { using (var factory = new BaseAccess()) { try { foreach (var id in IDs.Split(',')) { var model = factory.GetSingle <Sys_DictionaryEntity>(id); if (model != null) { //获取所有子节点 List <Sys_DictionaryEntity> childrens = new List <Sys_DictionaryEntity>() { model }; childrens = GetChilds(factory, model.ID, childrens); foreach (var c in childrens) { //清除缓存 if ((c.IsCache ?? 0) == 1) { Manage.Open.CacheshipFactory.Instance.ClearDictionaryCache(c.DictType); } factory.Delete <Sys_DictionaryEntity>(c, false); } } } factory.Commit(); } catch (Exception ex) { factory.Rollback(); throw ex; } } }
/// <summary> /// 获取最新可用飘窗 /// </summary> /// <returns></returns> public FloatWindow_S GetLastestFloat() { using (var factory = new BaseAccess()) { try { List <Orderby <FloatWindowEntity> > orders = new List <Orderby <FloatWindowEntity> >() { new Orderby <FloatWindowEntity>(c => c.DT_OP_TIME, SortOrder.Descending) }; var spec = Specification <FloatWindowEntity> .Create(c => true); spec &= Specification <FloatWindowEntity> .Create(c => c.C_STATUS == ((int)RecordStatus.Enable).ToString()); var entity = factory.GetSingle <FloatWindowEntity>(spec); return(entity.Adapter <FloatWindow_S>(new FloatWindow_S())); } catch { return(null); } } }