示例#1
0
    /// <summary>
    /// 专家完成按钮响应
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void OnFinishExpert(object sender, EventArgs e)
    {
        //获取基础信息
        UserExpert userExpert = new UserExpert();

        this.GetGeneralInfo(userExpert);

        //获取专家特殊信息
        userExpert.WorkPlace = this.TBWorkSpace.Text;
        userExpert.Intro     = this.TBintro.Text;
        userExpert.Remark    = "";
        //添加专家
        if (ExpertFieldManager.InsertUserExpert(userExpert) != 1)
        {
            ClientScript.RegisterStartupScript(GetType(), "", "alert('添加专家失败!')", true);
            return;
        }


        //添加专家领域
        for (int i = 0; i < this.CBLfield.Items.Count; i++)
        {
            if (this.CBLfield.Items[i].Selected)
            {
                Field field = new Field();
                field.Id = Convert.ToInt32(this.CBLfield.Items[i].Value);

                ExpertFieldManager.AddFieldExpert(field, userExpert);
            }
        }

        //显示成功页面
        this.HideAllPanel();
        this.PanelSuccess.Visible = true;
    }
示例#2
0
        public HttpResponseMessage GetPapersInfo()
        {
            db.Configuration.ProxyCreationEnabled = false;
            Dictionary <string, string> res = new Dictionary <string, string>();
            var cookie = HttpContext.Current.Request.Cookies["account"];

            if (cookie == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "cookie error");
                return(ConvertToJson(res));
            }
            long       userID = long.Parse(HttpContext.Current.Request.Cookies["account"]["userID"]);
            UserExpert ue     = db.UserExpert.FirstOrDefault(UserExpert => UserExpert.UserID == userID);

            if (ue == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "not an expert");
                return(ConvertToJson(res));
            }
            long expertID   = (long)ue.ExpertID;
            int  paperCount = db.ExpertPaper.Count(ExpertPaper => ExpertPaper.ExpertID == expertID);
            Dictionary <string, string> data       = new Dictionary <string, string>();
            JavaScriptSerializer        serializer = new JavaScriptSerializer();

            if (paperCount == 0)
            {
                data.Add("number", "0");
                data.Add("paper", "[]");
                res.Add("Message", "success");
                res.Add("Data", serializer.Serialize(data));
                return(ConvertToJson(res));
            }
            ReturnData <ExpertPapers> ret = new ReturnData <ExpertPapers>();

            ret.Message        = "success";
            ret.Data           = new ExpertPapers();
            ret.Data.PaperList = new List <Paper>();
            ret.Data.number    = paperCount.ToString();
            var eps =
                from ExpertPaper in db.ExpertPaper
                where ExpertPaper.ExpertID == expertID
                select ExpertPaper;

            foreach (var ep in eps)
            {
                Paper paper = db.Paper.FirstOrDefault(Paper => Paper.PaperID == ep.PaperID);
                paper.Review      = null;
                paper.Like        = null;
                paper.ExpertPaper = null;
                paper.Download    = null;
                paper.ManagePaper = null;
                ret.Data.PaperList.Add(paper);
            }
            return(ConvertToJson(ret));
        }
        /// <summary>
        /// 添加指定领域到指定专家
        /// </summary>
        /// <returns></returns>
        public static int AddFieldExpert(Field field, UserExpert userExpert)
        {
            ExpertField ThisExpertField = new ExpertField();

            //封装一个专家和领域实体
            ThisExpertField.ExpertId   = userExpert.Id;
            ThisExpertField.FieldId    = field.Id;
            ThisExpertField.IsDefine   = false;
            ThisExpertField.DefineName = "";

            //调用添加函数
            return(ExpertFieldService.InsertExpertField(ThisExpertField));
        }
        /// <summary>
        /// 根据具体的领域和专家查找 专家--领域的ID
        /// </summary>
        /// <param name="field"></param>
        /// <param name="userExpert"></param>
        /// <returns> 返回包含所有满足条件专家--领域的ID的DataTable</returns>
        public static DataTable GetExpertIDByED(Field field, UserExpert userExpert)
        {
            //sql语句
            string sql = " select ExpertField_ID from ExpertField " +
                         "where ExpertField_ExpertID = @ExpertField_ExpertID and ExpertField_FieldID = @ExpertField_FieldID";

            //连接数据库,执行SQL语句
            DBVisit.ObjDBAccess.CommandStr = sql;
            DataSet ds = DBVisit.ObjDBAccess.ExecuteSelectSqlCommand();

            ds.Tables[0].TableName = "ExpertID";

            return(ds.Tables["ExpertID"]);
        }
示例#5
0
        public HttpResponseMessage GetExpertInfo()
        {
            Dictionary <string, string> res = new Dictionary <string, string>();
            var cookie = HttpContext.Current.Request.Cookies["account"];

            if (cookie == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "cookie error");
                return(ConvertToJson(res));
            }
            long       userID = long.Parse(HttpContext.Current.Request.Cookies["account"]["userID"]);
            UserExpert ue     = db.UserExpert.FirstOrDefault(UserExpert => UserExpert.UserID == userID);

            if (ue == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "not an expert");
                return(ConvertToJson(res));
            }
            long       expertID = (long)ue.ExpertID;
            ExpertInfo ei       = db.ExpertInfo.Find(expertID);

            res.Add("Message", "success");

            db.Configuration.ProxyCreationEnabled = false;
            JavaScriptSerializer        serializer = new JavaScriptSerializer();
            Dictionary <string, string> data       = new Dictionary <string, string>();

            data.Add("Name", ei.Name);
            data.Add("Workstation", ei.Workstation);
            data.Add("TimesCited", ei.TimesCited.ToString());
            data.Add("Results", ei.Results.ToString());
            data.Add("PUJournals", ei.PUJournals.ToString());
            data.Add("CSCDJournals", ei.CSCDJournals.ToString());
            data.Add("CTJournals", ei.CTJournals.ToString());
            data.Add("EIJournals", ei.EIJournals.ToString());
            data.Add("SCIEJournals", ei.SCIEJournals.ToString());
            data.Add("SSCIJournals", ei.SSCIJournals.ToString());
            data.Add("OtherJournals", ei.OtherJournals.ToString());
            data.Add("ConferencePapers", ei.ConferencePapers.ToString());
            data.Add("Field", ei.Field);
            data.Add("Books", ei.Books.ToString());
            data.Add("Others", ei.Others.ToString());
            string r = serializer.Serialize(data);

            res.Add("Data", r);
            return(ConvertToJson(res));
        }
示例#6
0
        public bool Add(UserExpertDto userExpertDto)
        {
            UserExpert userExpert = new UserExpert
            {
                Name = userExpertDto.Name
            };

            try
            {
                _dbContext.UserExperts.Add(userExpert);
                _dbContext.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        /// <summary>
        /// 返回全部专家信息
        /// </summary>
        /// <returns></returns>
        public static List <UserExpert> GetUserExpertAll()
        {
            string sql = "proc_GetUserExpertAll";

            //连接数据库,执行SQL语句
            DataTable dt = DBVisit.ObjDBAccess.ExecuteProc(sql).Tables[0];

            //专家信息列表
            List <UserExpert> userExpertList = new List <UserExpert>(dt.Rows.Count);
            UserExpert        userExpert     = null;

            //创建专家信息对象并添加到专家信息列表中
            foreach (DataRow dr in dt.Rows)
            {
                userExpert = CreateUserExpert(dr);
                userExpertList.Add(userExpert);
            }

            return(userExpertList);
        }
示例#8
0
        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="user">要修改的用户信息</param>
        /// <returns>操作结果</returns>
        public static int UpdateUserPassword(GeneralUser user)
        {
            int result = -1;

            //修改用户编号
            switch (user.RoleInfo.Id)
            {
            case UserRoleConst.Administrator:        //系统管理员
                result = GeneralUserService.UpdateGeneralUser(user);
                break;

            //更新一般用户信息
            case UserRoleConst.ChiefEditor:          //主编
                result = GeneralUserService.UpdateGeneralUser(user);
                break;

            case UserRoleConst.LayoutEditor:         //排版编辑
                result = GeneralUserService.UpdateGeneralUser(user);
                break;

            case UserRoleConst.ResponsibleEditor:    //责任编辑
                result = GeneralUserService.UpdateGeneralUser(user);
                break;

            case UserRoleConst.SubEditor:            //副主编
                result = GeneralUserService.UpdateGeneralUser(user);
                break;

            //更新特殊用户信息
            case UserRoleConst.Author:               //作者
                UserAuthor auther = user as UserAuthor;
                result = UserAuthorService.UpdateUserAuthor(auther);
                break;

            case UserRoleConst.Expert:               //专家
                UserExpert expert = user as UserExpert;
                result = UserExpertService.UpdateUserExpert(expert);
                break;
            }
            return(result);
        }
        /// <summary>
        /// 删除一个专家和领域的关系
        /// </summary>
        /// <param name="field"></param>
        /// <param name="userExpert"></param>
        /// <returns></returns>
        public static int DelFieldExpert(Field field, UserExpert userExpert)
        {
            int IsSuccess = 1;
            //是否全部删除成功

            DataTable dataTable = ExpertFieldService.GetExpertIDByED(field, userExpert);

            //获取专家和领域ID的datatable


            for (int i = 0; i < dataTable.Rows.Count; i++) //删除所有对应的专家和领域实体
            {
                int Index = (int)dataTable.Rows[i][1];
                if (ExpertFieldService.DeleteExpertField(Index) == 0) //是否成功
                {
                    IsSuccess = 0;
                }
            }

            return(IsSuccess);
        }
示例#10
0
        public HttpResponseMessage ModifyExpertInfo(ExpertInfo info)
        {
            Dictionary <string, string> res = new Dictionary <string, string>();
            var cookie = HttpContext.Current.Request.Cookies["account"];

            if (cookie == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "cookie error");
                return(ConvertToJson(res));
            }
            long       userID = long.Parse(HttpContext.Current.Request.Cookies["account"]["userID"]);
            UserExpert ue     = db.UserExpert.FirstOrDefault(UserExpert => UserExpert.UserID == userID);

            if (ue == null)
            {
                res.Add("Message", "error");
                res.Add("Details", "not an expert");
                return(ConvertToJson(res));
            }
            long       expertID = (long)ue.ExpertID;
            ExpertInfo ei       = db.ExpertInfo.Find(expertID);

            if (ei.Name != null)
            {
                ei.Name = info.Name;
            }
            if (ei.Workstation != null)
            {
                ei.Workstation = info.Workstation;
            }
            if (ei.Field != null)
            {
                ei.Field = info.Field;
            }
            db.SaveChanges();
            res.Add("Message", "success");
            return(ConvertToJson(res));
        }
示例#11
0
        /// <summary>
        /// 创建专家信息对象
        /// </summary>
        /// <param name="dr"></param>
        /// <returns></returns>
        public static UserExpert CreateUserExpert(DataRow dr)
        {
            UserExpert userExpert = new UserExpert();

            userExpert.Id         = int.Parse(dr["Expert_ID"].ToString());
            userExpert.WorkPlace  = dr["Expert_WorkPlace"].ToString();
            userExpert.Intro      = dr["Expert_Intro"].ToString();
            userExpert.Remark     = dr["Expert_Remark"].ToString();
            userExpert.Name       = dr["UserInfo_Name"].ToString();
            userExpert.Pwd        = dr["UserInfo_Pwd"].ToString();
            userExpert.CreateTime = DateTime.Parse(dr["UserInfo_CreateTime"].ToString());
            userExpert.RealName   = dr["UserInfo_RealName"].ToString();
            userExpert.Sex        = bool.Parse(dr["UserInfo_Sex"].ToString());
            userExpert.Birthday   = DateTime.Parse(dr["UserInfo_Birthday"].ToString());
            userExpert.Tel        = dr["UserInfo_Tel"].ToString();
            userExpert.Email      = dr["UserInfo_Email"].ToString();
            //角色信息
            userExpert.RoleInfo.Id            = int.Parse(dr["Role_ID"].ToString());
            userExpert.RoleInfo.Name          = dr["Role_Name"].ToString();
            userExpert.RoleInfo.NavTreeNodeID = int.Parse(dr["Role_NavTreeNodeID"].ToString());

            return(userExpert);
        }
示例#12
0
        /// <summary>
        /// 插入新专家信息
        /// </summary>
        /// <param name="userExpert"></param>
        /// <returns></returns>
        public static int InsertUserExpert(UserExpert userExpert)
        {
            string sql = "proc_InsertUserExpert";

            //连接数据库,执行SQL语句
            DBVisit.ObjDBAccess.CmdParas.Clear();
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_RoleID", SqlDbType.Int).Value        = userExpert.RoleInfo.Id;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Name", SqlDbType.VarChar, 100).Value = userExpert.Name;

            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Pwd", SqlDbType.VarChar).Value           = userExpert.Pwd;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_CreateTime", SqlDbType.DateTime).Value   = userExpert.CreateTime;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_RealName", SqlDbType.VarChar, 100).Value = userExpert.RealName;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Sex", SqlDbType.Bit).Value              = userExpert.Sex;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Birthday", SqlDbType.DateTime).Value    = userExpert.Birthday;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Tel", SqlDbType.VarChar, 20).Value      = userExpert.Tel;
            DBVisit.ObjDBAccess.CmdParas.Add("@UserInfo_Email", SqlDbType.VarChar, 50).Value    = userExpert.Email;
            DBVisit.ObjDBAccess.CmdParas.Add("@Expert_WorkPlace", SqlDbType.VarChar, 100).Value = userExpert.WorkPlace;
            DBVisit.ObjDBAccess.CmdParas.Add("@Expert_Intro", SqlDbType.VarChar, 1000).Value    = userExpert.Intro;
            DBVisit.ObjDBAccess.CmdParas.Add("@Expert_Remark", SqlDbType.VarChar, 100).Value    = userExpert.Remark;
            DBVisit.ObjDBAccess.CmdParas.Add("@IsSuccess", SqlDbType.Bit).Direction             = ParameterDirection.Output;
            DBVisit.ObjDBAccess.CmdParas.Add("@OutExpertID", SqlDbType.Int).Direction           = ParameterDirection.Output; //带出自增的用户ID
            DBVisit.ObjDBAccess.ExcuteProcReturnInt(sql);

            bool result = bool.Parse(DBVisit.ObjDBAccess.CmdParas["@IsSuccess"].Value.ToString());

            userExpert.Id = Convert.ToInt32(DBVisit.ObjDBAccess.CmdParas["@OutExpertID"].Value);

            if (result)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
 /// <summary>
 /// 插入一个专家
 /// </summary>
 /// <param name="userExpert"></param>
 /// <returns></returns>
 public static int InsertUserExpert(UserExpert userExpert)
 {
     return(UserExpertService.InsertUserExpert(userExpert));
 }