Beispiel #1
0
 public ScholarUser GetUserByName(string name)
 {
     try
     {
         cmdStr = "select * from scholarUsers where [name] = '" + name + "'";
         cmd    = new SqlCommand(cmdStr, con);
         con.Open();
         reader = cmd.ExecuteReader();
         while (reader.Read())
         {
             //int id = Convert.ToInt32(reader["suId"]);
             string      affiliation = reader["affiliation"].ToString();
             int         id          = Convert.ToInt32(reader["suId"]);
             string      email       = reader["email"].ToString();
             string      image       = reader["image"].ToString();
             ScholarUser user        = new ScholarUser(id, name, affiliation, email, image);
             return(user);
         }
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         con.Close();
     }
     return(null);
 }
Beispiel #2
0
    private ScholarUser GetUserLine(SqlDataReader reader)
    {
        int         id          = Convert.ToInt32(reader["suId"]);
        string      affiliation = reader["affiliation"].ToString();
        string      name        = reader["name"].ToString();
        string      email       = reader["email"].ToString();
        string      image       = reader["image"].ToString();
        ScholarUser user        = new ScholarUser(id, name, affiliation, email, image);

        return(user);
    }
Beispiel #3
0
    public void DeleteAmit()
    {
        User        user        = new User().GetUserByEmail("*****@*****.**");
        ScholarUser scholarUser = sdbs.GetUserByName("amit rechavi");

        if (scholarUser != null)
        {
            sdbs.RemoveScholarUser(scholarUser.Id);
        }
        db.RemoveEntity(user);
        //Remove from Scholar
    }
Beispiel #4
0
    //--------------------------------------------------------------------------
    //--------------------------------------------------------------------------
    public string FindUserAutomatically(string name, string email)
    {
        try
        {
            //User user = js.Deserialize<User>(userString);
            User user = new global::User().GetUserByEmail(email);
            //user.FixNulls();
            //user.InsertUserToDatabase();
            //user = user.GetUserByEmail(user.Email);
            // user.GetFullInfo();
            //div_res.InnerText =  py.GetPath();
            //div_res.InnerHtml = py.Run_cmd("InsertUser.py", "Noga alon");

            ScholarDBServices sdbs  = new ScholarDBServices();
            ScholarUser       sUser = sdbs.GetUserByName(user.Name);
            if (sUser == null)
            {
                PythonServices py = new PythonServices();
                py.Run_cmd("InsertUser.py", user.Name);
                sUser = sdbs.GetUserByName(user.Name);
            }
            sdbs.IntegrateIntoUser(sUser.Id, user.Id);
            user = user.GetUserById(user.Id);
            //string res = user.InsertUserToDatabase().ToString();
            user = user.Relog();
            JavaScriptSerializer js = new JavaScriptSerializer();
            return(js.Serialize(user));

            // PythonServices py = new PythonServices();
            //  User user = new global::User("amit", " ", "rechavi", null);
        }
        catch (Exception ex)
        {
            LogManager.Report(ex);
            return(ex.ToString());
        }
    }
Beispiel #5
0
    public void IntegrateIntoUser(int suId, int uId)
    {
        //get ScholarUser object
        ScholarUser scholarUser = GetUserById(suId);
        User        user        = new User().GetUserById(uId);

        user.ImagePath = scholarUser.Image;
        user.FixNulls();
        //user.Id = uId;
        db.UpdateUser(user);
        //db.InsertUser(user);
        //get User uId from db
        user = db.GetUserByName(user.FirstName, user.MiddleName, user.LastName);
        //get user publications
        List <ScholarPublication> publications = GetUserPublications(scholarUser.Id);
        List <Article>            articles     = new List <Article>();

        //insert user articles
        foreach (ScholarPublication pub in publications)
        {
            Article a = (new Article(0, pub.Title, pub.EPrint));
            a.UpdateUsers(new List <User>()
            {
                user
            });
            if (pub.Publisher.Contains("IEEE"))
            {
                try
                {
                    List <string>  terms           = new IEEE().GetArticleTerms(pub.Title);
                    List <Keyword> articleKeywords = new List <Keyword>();
                    foreach (var item in terms)
                    {
                        articleKeywords.Add(new Keyword(0, item));
                    }
                    a.UpdateKeywords(articleKeywords);
                }
                catch (Exception ex)
                {
                    continue;
                }
            }
            db.FullArticleInsert(a);
        }

        //add interests
        scholarUser.Interests = GetUserInterests(scholarUser.Id);
        foreach (var item in scholarUser.Interests)
        {
            db.InsertInterest(user.Id, item);
        }

        Institute        scholarInstitute = GetEmailAffiliation(scholarUser.Email);
        Institute        emailInstitute   = GetEmailAffiliation(user.Email);
        List <Institute> institutes       = new List <Institute>()
        {
            scholarInstitute
        };

        if (emailInstitute != scholarInstitute)
        {
            institutes.Add(emailInstitute);
        }
        user.UpdateAffiliations(institutes);

        //return;
    }
Beispiel #6
0
    public void IntegrateNewUser(int suId)
    {
        //get ScholarUser object
        ScholarUser scholarUser = GetUserById(suId);

        //Make User object
        string[] names = scholarUser.Name.Split(' ');
        User     user  = new User();

        if (names.Length == 2)
        {
            user.FirstName  = names[0];
            user.MiddleName = "";
            user.LastName   = names[1];
        }
        else if (names.Length == 3)
        {
            user.FirstName  = names[0];
            user.MiddleName = names[1];
            user.LastName   = names[2];
        }
        else
        {
            LogManager.Report("trying to add scholar user with 1 name", scholarUser);
            return;
        }
        //Insert User Object to db

        user.ImagePath = scholarUser.Image;
        user.FixNulls();
        db.InsertUser(user);
        //get User uId from db
        user = db.GetUserByName(user.FirstName, user.MiddleName, user.LastName);
        //get user publications
        List <ScholarPublication> publications = GetUserPublications(scholarUser.Id);
        List <Article>            articles     = new List <Article>();

        //insert user articles
        foreach (ScholarPublication pub in publications)
        {
            Article a = (new Article(0, pub.Title, pub.EPrint));
            a.UpdateUsers(new List <User>()
            {
                user
            });
            if (pub.Publisher.Contains("IEEE"))
            {
                List <string>  terms           = new IEEE().GetArticleTerms(pub.Title);
                List <Keyword> articleKeywords = new List <Keyword>();
                foreach (var item in terms)
                {
                    articleKeywords.Add(new Keyword(0, item));
                }
                a.UpdateKeywords(articleKeywords);
            }
            db.FullArticleInsert(a);
        }

        //add interests
        scholarUser.Interests = GetUserInterests(scholarUser.Id);
        foreach (var item in scholarUser.Interests)
        {
            db.InsertInterest(user.Id, item);
        }

        //return;
    }