예제 #1
0
        public HttpResponseMessage RequestPatent()
        {
            long id = GetPatentID();

            db.Configuration.ProxyCreationEnabled = false;
            JavaScriptSerializer Json   = new JavaScriptSerializer();
            ReturnData <Patent>  patent = new ReturnData <Patent>();

            patent.Message = "success";
            patent.Data    = db.Patent.Find(id);
            return(ConvertToJson(patent));
        }
예제 #2
0
        public HttpResponseMessage GetReviewer()
        {
            //当前用户身份检验
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "admin")
            {
                Dictionary <string, string> res  = new Dictionary <string, string>();
                JavaScriptSerializer        Json = new JavaScriptSerializer();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                // Users find = db.Users.FirstOrDefault(Users => Users.UserName == user.UserName);
                // 查找数据库reviewer对象,返回json格式
                //返回json格式,find
                JavaScriptSerializer         Json = new JavaScriptSerializer();
                ReturnData <ReturnReviewers> res  = new ReturnData <ReturnReviewers>();
                ReturnReviewers returnreviewers   = new ReturnReviewers();
                returnreviewers.reviewers = new List <Dictionary <string, string> >();
                var results =
                    from Reviewer in db.Reviewer
                    select Reviewer;
                try
                {
                    foreach (var result in results)
                    {
                        Dictionary <string, string> mid = new Dictionary <string, string>();
                        mid.Add("ReviewerID", result.ReviewerID.ToString());
                        mid.Add("Name", result.Name);
                        mid.Add("IsDeleted", result.IsDelete.ToString());
                        mid.Add("Email", result.Email);
                        returnreviewers.reviewers.Add(mid);
                        res.Message = "success";
                        res.Data    = returnreviewers;
                    }
                }
                catch
                {
                    res.Message = "failed";
                    return(ConvertToJson(res));
                }
                return(ConvertToJson(res));
            }
        }
예제 #3
0
        public HttpResponseMessage PostComment(Comment comment)
        {
            comment.Time = System.DateTime.Now;
            ReturnData <string> returndata = new ReturnData <string>();
            var cookie = HttpContext.Current.Request.Cookies["account"];

            if (cookie != null)
            {
                comment.UserID = long.Parse(cookie["userID"]);
                comment.IsPass = true;
                db.Comment.Add(comment);
                db.SaveChanges();
                returndata.Message = "success";
                return(ConvertToJson(returndata));
            }
            returndata.Message = "No Loging";

            return(ConvertToJson(returndata));
        }
예제 #4
0
        public HttpResponseMessage GetCesoredPatent([FromUri] string id)
        {
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "censor")
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                ReturnData <ReturnContent> res = new ReturnData <ReturnContent>();
                ReturnContent returnContent    = new ReturnContent();
                returnContent.Content = new List <Dictionary <string, string> >();
                try
                {
                    Patent find = db.Patent.FirstOrDefault(Patent => Patent.PatentID.ToString() == id);
                    Dictionary <string, string> mid = new Dictionary <string, string>();
                    mid.Add("PatentID", find.PatentID.ToString());
                    mid.Add("Title", find.Title);
                    mid.Add("IPC", find.IPC.ToString());
                    mid.Add("Abstract", find.Abstract);
                    mid.Add("ApplyDate", find.ApplyDate.ToString());
                    mid.Add("Applicant", find.Applicant);
                    mid.Add("ApplicantAddress", find.ApplicantAddress.ToString());
                    mid.Add("SIPC", find.SIPC.ToString());
                    mid.Add("State", find.State);
                    mid.Add("Agencies", find.Agencies);
                    mid.Add("PublicNum", find.PublicNum);
                    mid.Add("IsPass", find.IsPass.ToString());
                    returnContent.Content.Add(mid);
                }
                catch
                {
                    res.Message = "failed";
                    return(ConvertToJson(res));
                }
                res.Message = "success";
                res.Data    = returnContent;
                return(ConvertToJson(res));
            }
        }
예제 #5
0
        public HttpResponseMessage GetExpert(long id)
        {
            db.Configuration.ProxyCreationEnabled = false;//禁用外键防止循环引用。
            JavaScriptSerializer    Json       = new JavaScriptSerializer();
            ReturnData <ExpertInfo> returndata = new ReturnData <ExpertInfo>();

            returndata.Data = new ExpertInfo();
            try
            {
                returndata.Message    = "succcess";
                returndata.Data       = db.ExpertInfo.Find(id);
                returndata.Data.Field = returndata.Data.Field.Replace("[", "").Replace("]", "").Replace("'", "").Replace("  ", ",");
            }
            catch (Exception ex)
            {
                returndata.Message = "error   " + ex.Message;
            }
            return(ConvertToJson(returndata));
        }
예제 #6
0
        private HttpResponseMessage PaperType(string keywords, ref int page, ref string sortBy)
        {
            ReturnData <Returnpapers> returndata = new ReturnData <Returnpapers>();

            returndata.Message     = "success";
            returndata.Data        = new Returnpapers();
            returndata.Data.type   = "paper";
            returndata.Data.papers = new List <Dictionary <string, string> >();
            if (keywords == "")
            {
                return(ConvertToJson(returndata));
            }
            if (page == null)
            {
                page = 1;
            }
            if (sortBy == "")
            {
                sortBy = "Reference";
            }

            var results =
                from Paper in db.Paper
                where Paper.Title.IndexOf(keywords) != -1
                orderby Paper.ReferencedNum descending
                select Paper;

            foreach (var result in results.Skip((page - 1) * 20).Take(20))
            {
                Dictionary <string, string> mid = new Dictionary <string, string>();
                mid.Add("id", result.PaperID.ToString());
                mid.Add("title", result.Title);
                mid.Add("author", result.Authors);
                mid.Add("publisher", result.Publisher);
                mid.Add("keywords", result.KeyWord);
                mid.Add("summary", result.Abstract);
                if (result.IsPass == true)
                {
                    returndata.Data.papers.Add(mid);
                }
            }
            return(ConvertToJson(returndata));
        }
예제 #7
0
        public HttpResponseMessage GetCesoredPaper([FromUri] string id)
        {
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "censor")
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                ReturnData <ReturnContent> res = new ReturnData <ReturnContent>();
                ReturnContent returnContent    = new ReturnContent();
                returnContent.Content = new List <Dictionary <string, string> >();
                try
                {
                    Paper find = db.Paper.FirstOrDefault(Paper => Paper.PaperID.ToString() == id);
                    Dictionary <string, string> mid = new Dictionary <string, string>();
                    mid.Add("PaperID", find.PaperID.ToString());
                    mid.Add("Title", find.Title);
                    mid.Add("Abstract", find.Abstract);
                    mid.Add("ReferencedNum", find.ReferencedNum.ToString());
                    mid.Add("KeyWord", find.KeyWord);
                    mid.Add("IsFree", find.IsFree.ToString());
                    mid.Add("IsPass", find.IsPass.ToString());
                    mid.Add("Authors", find.Authors);
                    mid.Add("BaiduID", find.BaiduID);
                    mid.Add("PublishYear", find.PublishYear.ToString());
                    returnContent.Content.Add(mid);
                }
                catch
                {
                    res.Message = "failed";
                    return(ConvertToJson(res));
                }
                res.Message = "success";
                res.Data    = returnContent;
                return(ConvertToJson(res));
            }
        }
예제 #8
0
        public HttpResponseMessage GetComment()
        {
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "admin")
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                ReturnData <ReturnComments> res = new ReturnData <ReturnComments>();
                ReturnComments returncomments   = new ReturnComments();
                returncomments.comments = new List <Dictionary <string, string> >();
                var results =
                    from Comment in db.Comment
                    select Comment;
                try
                {
                    foreach (var result in results)
                    {
                        Dictionary <string, string> mid = new Dictionary <string, string>();
                        mid.Add("CommentID", result.CommentID.ToString());
                        mid.Add("Time", result.Time.ToString());
                        mid.Add("Type", result.Content.ToString());
                        returncomments.comments.Add(mid);
                        JavaScriptSerializer serializer = new JavaScriptSerializer();
                        res.Message = "success";
                        res.Data    = returncomments;
                    }
                }
                catch
                {
                    res.Message = "failed";
                    return(ConvertToJson(res));
                }
                return(ConvertToJson(res));
            }
        }
예제 #9
0
        //TODO:下面连个要修改一下,如果未审核通过就不要显示。这个已经修改完了。
        private HttpResponseMessage PatentType(string keywords, ref int page, ref string sortBy)
        {
            ReturnData <Returnpatents> returndata = new ReturnData <Returnpatents>();

            returndata.Message      = "success";
            returndata.Data         = new Returnpatents();
            returndata.Data.type    = "patent";
            returndata.Data.patents = new List <Dictionary <string, string> >();
            if (keywords == "")
            {
                return(ConvertToJson(returndata));
            }
            if (page == null)
            {
                page = 1;
            }

            var results =
                from Patent in db.Patent
                where Patent.Title.IndexOf(keywords) != -1
                orderby Patent.ApplyDate descending
                select Patent;

            foreach (var result in results.Skip((page - 1) * 20).Take(20))
            {
                Dictionary <string, string> mid = new Dictionary <string, string>();
                mid.Add("id", result.PatentID.ToString());
                mid.Add("title", result.Title);
                mid.Add("time", result.ApplyDate.ToString());
                mid.Add("publicnum", result.PublicNum);
                mid.Add("patentee", result.Applicant);
                mid.Add("address", result.ApplicantAddress);
                if (result.IsPass == true)
                {
                    returndata.Data.patents.Add(mid);
                }
            }
            return(ConvertToJson(returndata));
        }
예제 #10
0
        public HttpResponseMessage SearchSource(string type, string keywords, int page, string sortBy)
        {
            JavaScriptSerializer      Json   = new JavaScriptSerializer();
            ReturnData <Returnpapers> Rerurn = new ReturnData <Returnpapers>();

            Rerurn.Message = "type empty";

            if (type == "paper")
            {
                return(PaperType(keywords, ref page, ref sortBy));
            }
            if (type == "patent")
            {
                return(PatentType(keywords, ref page, ref sortBy));
            }
            if (type == "expert")
            {
                return(ExpertType(keywords, ref page, ref sortBy));
            }

            return(ConvertToJson(Rerurn));
        }
예제 #11
0
        public HttpResponseMessage GetPaper(long id)
        {
            db.Configuration.ProxyCreationEnabled = false;//禁用外键防止循环引用。
            JavaScriptSerializer      Json       = new JavaScriptSerializer();
            ReturnData <ExpertPapers> returndata = new ReturnData <ExpertPapers>();

            returndata.Data           = new ExpertPapers();
            returndata.Data.PaperList = new List <Paper>();
            try
            {
                returndata.Message     = "succcess";
                returndata.Data.number = 0.ToString();
                var papers =
                    from ExpertPaper in db.ExpertPaper
                    where ExpertPaper.ExpertID == id
                    select ExpertPaper;
                if (papers != null)
                {
                    foreach (var mid in papers.Take(4))
                    {
                        Paper MidPaper = db.Paper.Find(mid.PaperID);
                        MidPaper.Review      = null;
                        MidPaper.Like        = null;
                        MidPaper.Download    = null;
                        MidPaper.ExpertPaper = null;
                        MidPaper.ManagePaper = null;
                        MidPaper.KeyWord     = MidPaper.KeyWord.Replace("[", "").Replace("]", "").Replace("'", "").Replace("  ", ",");
                        returndata.Data.PaperList.Add(MidPaper);
                    }
                    returndata.Data.number = returndata.Data.PaperList.Count.ToString();
                }
            }
            catch (Exception ex)
            {
                returndata.Message = "error   " + ex.Message;
            }
            return(ConvertToJson(returndata));
        }
예제 #12
0
        public ResponseResult <ReturnData> AppGetReturnData(string shipId)
        {
            var result = ResponseResult <ReturnData> .Default();

            AppService appService = new AppService();

            try
            {
                if (string.IsNullOrEmpty(shipId))
                {
                    return(ResponseResult <ReturnData> .Error("shipId不能为空"));
                }
                else
                {
                    ReturnData returndata = appService.AppGetRenturnData(Convert.ToInt32(shipId));
                    return(ResponseResult <ReturnData> .Success(returndata, "获取返回数据成功"));
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult <ReturnData> .Error(ex.Message);
            }
            return(result);
        }
예제 #13
0
        private HttpResponseMessage ExpertType(string keywords, ref int page, ref string sortBy)
        {
            ReturnData <Returnexperts> returndata = new ReturnData <Returnexperts>();

            returndata.Message      = "success";
            returndata.Data         = new Returnexperts();
            returndata.Data.type    = "expert";
            returndata.Data.experts = new List <Dictionary <string, string> >();
            if (keywords == "")
            {
                return(ConvertToJson(returndata));
            }
            if (page == null)
            {
                page = 1;
            }

            var results =
                from ExpertInfo in db.ExpertInfo
                where ExpertInfo.Name.IndexOf(keywords) != -1
                orderby ExpertInfo.Results descending
                select ExpertInfo;

            foreach (var result in results.Skip((page - 1) * 20).Take(20))
            {
                Dictionary <string, string> mid = new Dictionary <string, string>();
                mid.Add("id", result.ExpertID.ToString());
                mid.Add("name", result.Name);
                mid.Add("workstation", result.Workstation);
                mid.Add("field", result.Field);
                mid.Add("timescited", result.TimesCited.ToString());
                mid.Add("results", result.Results.ToString());
                returndata.Data.experts.Add(mid);
            }
            return(ConvertToJson(returndata));
        }
예제 #14
0
        public HttpResponseMessage ConfirmCensor(InCensor inCensor)
        {
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "censor")
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                ReturnData <ReturnContent> res = new ReturnData <ReturnContent>();
                try
                {
                    if (inCensor.type == "paper")
                    {
                        Paper find = db.Paper.FirstOrDefault(Paper => Paper.PaperID.ToString() == inCensor.id);
                        if (inCensor.confirm == "true")
                        {
                            find.IsPass = true;
                        }
                        else
                        {
                            find.IsPass = false;
                        }
                        Review find2 = db.Review.FirstOrDefault(Review => Review.PaperID.ToString() == inCensor.id);
                        db.Review.Remove(find2);
                        db.SaveChanges();
                    }
                    else if (inCensor.type == "patent")
                    {
                        Patent find = db.Patent.FirstOrDefault(Patent => Patent.PatentID.ToString() == inCensor.id);
                        if (inCensor.confirm == "true")
                        {
                            find.IsPass = true;
                        }
                        else
                        {
                            find.IsPass = false;
                        }
                        Review find2 = db.Review.FirstOrDefault(Review => Review.PatentID.ToString() == inCensor.id);
                        db.Review.Remove(find2);
                        db.SaveChanges();
                    }
                    else if (inCensor.type == "comment")
                    {
                        Comment find = db.Comment.FirstOrDefault(Comment => Comment.CommentID.ToString() == inCensor.id);
                        if (inCensor.confirm == "true")
                        {
                            find.IsPass = true;
                        }
                        else
                        {
                            find.IsPass = false;
                        }
                        Review find2 = db.Review.FirstOrDefault(Review => Review.CommentID.ToString() == inCensor.id);
                        db.Review.Remove(find2);
                        db.SaveChanges();
                    }
                }
                catch
                {
                    res.Message = "failed";
                    return(ConvertToJson(res));
                }
                res.Message = "success";
                return(ConvertToJson(res));
            }
        }
예제 #15
0
        public HttpResponseMessage GetCesoredCotent()
        {
            string role = HttpContext.Current.Request.Cookies["account"]["role"];

            if (role != "censor")
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "forbidden");
                return(ConvertToJson(res));
            }
            else
            {
                ReturnData <ReturnContent> res = new ReturnData <ReturnContent>();
                ReturnContent returnContent    = new ReturnContent();
                returnContent.Content = new List <Dictionary <string, string> >();
                var results =
                    from Review in db.Review
                    select Review;
                //try
                //{
                foreach (var result in results.Take(10))
                {
                    string type   = "暂缺";
                    string detail = "暂缺";
                    Dictionary <string, string> mid = new Dictionary <string, string>();

                    //if (result.UserID != null)
                    //{
                    //    type = "user";
                    //    Users find = db.Users.FirstOrDefault(Users => Users.UserID == result.UserID);
                    //    detail = find.Nickname;
                    //}
                    if (result.PaperID != null)
                    {
                        mid.Add("id", result.PaperID.ToString());
                        type = "paper";
                        Paper find = db.Paper.FirstOrDefault(Paper => Paper.PaperID == result.PaperID);
                        detail = find.Title;
                    }
                    else if (result.PatentID != null)
                    {
                        mid.Add("id", result.PatentID.ToString());
                        type = "patent";
                        Patent find = db.Patent.FirstOrDefault(Patent => Patent.PatentID == result.PatentID);
                        detail = find.Title;
                    }
                    else if (result.CommentID != null)
                    {
                        type = "comment";
                        Comment find = db.Comment.FirstOrDefault(Comment => Comment.CommentID == result.CommentID);
                        detail = find.Content;
                    }
                    mid.Add("type", type);
                    mid.Add("detail", detail);
                    returnContent.Content.Add(mid);
                }
                //}
                //catch
                //{
                //    res.Message = "failed";
                //    return ConvertToJson(res);
                //}
                res.Message = "success";
                res.Data    = returnContent;
                return(ConvertToJson(res));
            }
        }
예제 #16
0
        public HttpResponseMessage Info()
        {
            var cookie = HttpContext.Current.Request.Cookies["account"];

            try
            {
                ReturnData <ReturnRoles> res = new ReturnData <ReturnRoles>();
                ReturnRoles returnroles      = new ReturnRoles();
                returnroles.Roles = new List <Dictionary <string, string> >();
                Dictionary <string, string> mid = new Dictionary <string, string>();
                string role = "failed";
                if (cookie["role"].ToString() == "user")
                {
                    long  userID = long.Parse(cookie["UserID"]);
                    Users find   = db.Users.Find(userID);
                    if (find.IsExpert is true)
                    {
                        role = "expertuser";
                        mid.Add("Identity", role);//返回角色信息
                        mid.Add("UserID", cookie["UserID"]);
                        mid.Add("UserName", cookie["name"]);
                        mid.Add("NickName", cookie["NickName"]);
                        mid.Add("Email", cookie["Email"]);
                        mid.Add("integral", cookie["point"]);//integral 积分
                    }
                    else
                    {
                        role = "user";
                        mid.Add("Identity", role);//返回角色信息
                        mid.Add("UserID", cookie["UserID"]);
                        mid.Add("UserName", cookie["name"]);
                        mid.Add("NickName", cookie["NickName"]);
                        mid.Add("Email", cookie["Email"]);
                        mid.Add("integral", cookie["point"]);//integral 积分
                    }
                }
                else if (cookie["role"].ToString() == "admin")
                {
                    long          adminID = long.Parse(cookie["AdminID"]);
                    Administrator find    = db.Administrator.Find(adminID);
                    role = "adminuser";
                    mid.Add("Identity", role);//返回角色信息
                    mid.Add("AdminID", cookie["AdminID"]);
                    mid.Add("AdminName", cookie["AdminName"]);
                }
                else if (cookie["role"].ToString() == "censor")
                {
                    long          adminID = long.Parse(cookie["ReviewerID"]);
                    Administrator find    = db.Administrator.Find(adminID);
                    role = "censoruser";
                    mid.Add("Identity", role);//返回角色信息
                    mid.Add("CensorID", cookie["ReviewerID"]);
                    mid.Add("CensorName", cookie["Name"]);
                }
                returnroles.Roles.Add(mid);
                res.Message = "success";
                res.Data    = returnroles;
                return(ConvertToJson(res));
            }
            catch
            {
                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add("Message", "Cookie error");
                return(ConvertToJson(res));
            }
        }