public static List <String> GetProjects(StudentFinalRates stud)
 {
     try
     {
         using (var connection = new SqlConnection(connectionString))
         {
             connection.Open();
             var            command = connection.CreateCommand();
             SqlDataAdapter d       = new SqlDataAdapter("select ProjectName,ProjectPath from Projects a where a.@group > 1" +
                                                         "and a.@field > 1 and a.ProjectName in (select ProjectName from ProjectLang b where b.@language)"
                                                         + "and a.ProjectName in(select ProjectName from ProjectKind c where c.@Kind) LIMIT 3", connection);
             d.SelectCommand.CommandText = d.SelectCommand.CommandText.Replace("@group", stud.GroupSize[0])
                                           .Replace("@language", stud.FavoriteLang[0])
                                           .Replace("@Kind", stud.KindOfProject[0]).Replace("@field", stud.FieldOfProject[0]);
             DataTable t = new DataTable();
             d.Fill(t);
             //לטפל במקרה ששאילתא לא מגיעה ל3 הצעות
             if (t.Rows.Count < 3)
             {
                 d.SelectCommand.CommandText = "select ProjectName,ProjectPath from Projects a where a.@group > 1" +
                                               "and a.@field > 1 and a.ProjectName in (select ProjectName from ProjectLang b where b.@language)"
                                               + "and a.ProjectName in(select ProjectName from ProjectKind c where c.@Kind) LIMIT 3";
                 d.SelectCommand.CommandText = d.SelectCommand.CommandText.Replace("@group", stud.GroupSize[0])
                                               .Replace("@language", stud.FavoriteLang[0])
                                               .Replace("@Kind", stud.KindOfProject[0]).Replace("@field", stud.FieldOfProject[0]);
             }
         }
         return(null);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Exemplo n.º 2
0
        public static StudentFinalRates GetFinalRates(string uname, Dictionary <string, int> dic, int kindAmount, int langAmount)
        {
            StudentFinalRates retval = new StudentFinalRates();

            retval.UserName       = uname;
            retval.FavoriteLang   = getMax3(getSpecDic(dic, langAmount, dic.Count));
            retval.KindOfProject  = getMax3(getSpecDic(dic, kindAmount, langAmount));
            retval.GroupSize      = getGroup(dic);
            retval.FieldOfProject = getfield(dic);

            return(retval);
        }
Exemplo n.º 3
0
        public static StudentFinalRates GetFinalRates(string uname)
        {
            try
            {
                using (var connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    StudentFinalRates stud = new StudentFinalRates();
                    SqlDataAdapter    d    = new SqlDataAdapter("select * from StudentPref where UserName = @userName", connection);
                    d.SelectCommand.CommandText = d.SelectCommand.CommandText.Replace("@userName", uname);
                    DataTable t = new DataTable();
                    Dictionary <string, int> dic = new Dictionary <string, int>();
                    d.Fill(t);
                    int splen = t.Columns.Count;
                    d.SelectCommand.CommandText = "select * from StudentsPrefKind where UserName = @userName";
                    d.SelectCommand.CommandText = d.SelectCommand.CommandText.Replace("@userName", uname);
                    d.Fill(t);
                    int spklen = t.Columns.Count;
                    d.SelectCommand.CommandText = "select * from StudentsPrefLanguage where UserName = @userName";
                    d.SelectCommand.CommandText = d.SelectCommand.CommandText.Replace("@userName", uname);
                    d.Fill(t);
                    int    row = 0;
                    string s   = t.Rows[0][0].ToString();
                    for (int i = 1; i < t.Columns.Count; i++)
                    {
                        if (i == splen)
                        {
                            row = 1;
                        }
                        if (i == spklen)
                        {
                            row = 2;
                        }
                        dic.Add(t.Columns[i].ColumnName, (int)t.Rows[row][i]);
                    }

                    stud = FinalStudPref.GetFinalRates(t.Rows[0][0].ToString(), dic, splen - 1, spklen - 1);
                    return(stud);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
        private static string getlongest(StudentFinalRates stud)
        {
            int groupCount = stud.GroupSize.Count;
            int kindCount  = stud.KindOfProject.Count;
            int fieldCount = stud.FieldOfProject.Count;
            int langCount  = stud.FavoriteLang.Count;

            if (groupCount > kindCount)
            {
                if (groupCount > fieldCount)
                {
                    if (groupCount > langCount)
                    {
                        return("group");
                    }
                    return("field");
                }
                if (fieldCount > langCount)
                {
                    return("field");
                }
                return("lang");
            }
            if (kindCount > fieldCount)
            {
                if (kindCount > langCount)
                {
                    return("kind");
                }
                return("lang");
            }
            if (fieldCount > langCount)
            {
                return("field");
            }
            return("lang");
        }