예제 #1
0
        public CategoryBasic(SqlCategory cat)
        {
            SqlItem = cat;
            SqlSingleText st = Procedures.SingleTexts[cat.SqlSingleText];
            //SqlColorable c = Procedures.Colorables[cat.SqlColorable];
            SqlIconable i = Procedures.Iconables[cat.SqlIconable];

            //SqlSingleText
            SqlSingleTextObject = st;
            Text = st.Text;

            //IIconable
            SqlIconableObject = i;
            ImageSource       = i.ImageSource;

            Entries = new List <EntryBase>();
            foreach (SqlEntryStorage s in Procedures.EntryStorages.Values)
            {
                if (s.CategoryId != SqlItem.Id)
                {
                    continue;
                }
                SqlEntry  sqle  = Procedures.Entries[s.EntryId];
                EntryBase entry = GetEntry(sqle);
                Entries.Add(entry);
            }
        }
예제 #2
0
        public EntryBase GetEntry(SqlEntry sqle)
        {
            EntryBase entry = null;

            entry = EntryFactory.GetEntry(sqle);
            return(entry);
        }
예제 #3
0
 public void createInDB()
 {
     try
     {
         var entry = new SqlEntry();
         entry.insertInto(queryString + nickname + "', '" + vorname + "', '" + nachname + "', '" + password + "', '" + email + "')");
     }   catch (SqlException e)
     { throw; }
 }
예제 #4
0
 public override IDbDataParameter GetDbParameter(SqlEntry.DataParameter dp)
 {
     var result = base.GetDbParameter(dp);
     if(result.DbType == DbType.Time)
     {
         result.DbType = DbType.DateTime;
     }
     return result;
 }
예제 #5
0
        public static TEntry Deserialize <TKey, TEntry>(SqlEntry sqlEntry)
            where TEntry : ISqlEntry, new()
        {
            var stream = new MemoryStream(sqlEntry.Data);
            var reader = CreateReader(stream);
            var entry  = DeserializeEntry <TKey, TEntry>(reader);

            entry.SetTimestamp(sqlEntry.Timestamp);
            return(entry);
        }
예제 #6
0
 public void createInDB()
 {
     try
     {
         base.createInDB();
         var entry = new SqlEntry();
         entry.insertInto(queryString + nickname + "', '" + matrikelnumber + "', '" + einschreibeDatum + "')");
     }   catch (SqlException e)
     { }
 }
예제 #7
0
 public override IDbDataParameter GetDbParameter(SqlEntry.DataParameter dp)
 {
     var result = base.GetDbParameter(dp);
     if(result.DbType == DbType.Guid && result.Value != null && result.Value is Guid)
     {
         result.Value = ((Guid)result.Value).ToString();
         result.DbType = DbType.String;
     }
     return result;
 }
예제 #8
0
        public EntryBasic(SqlEntry e)
        {
            SqlItem = e;
            SqlSingleText st = Procedures.SingleTexts[e.SqlSingleText];

            //SqlColorable c = Procedures.Colorables[e.SqlColorable];

            //SqlSingleText
            SqlSingleTextObject = st;
            Text = st.Text;
        }
예제 #9
0
        public static EntryBase GetEntry(SqlEntry sqle)
        {
            foreach (KeyValuePair <string, Func <SqlEntry, EntryBase> > kvp in REGISTER)
            {
                if (kvp.Key == sqle.EntryType)
                {
                    return(kvp.Value(sqle));
                }
            }

            return(null);
        }
예제 #10
0
        public EntryMultyText(SqlEntry e)
        {
            SqlItem = e;
            SqlSingleText st = Procedures.SingleTexts[e.SqlSingleText];
            SqlMultyText  mt = Procedures.MultyTexts[e.SqlMultyText];

            //SqlSingleText
            SqlSingleTextObject = st;
            Text = st.Text;

            //IMultiTextStorage
            SqlMultyTextObject = mt;
            Texts = new Dictionary <string, string>();
            Texts = JsonConvert.DeserializeObject <Dictionary <string, string> >(mt.TextsJson);
        }
예제 #11
0
        internal static List <Modul> getModulByUser(string nickname)
        {
            var result = new List <Modul>();
            var entry  = new SqlEntry();

            var reader = entry.getReader(query + nickname + query2);

            while (reader.Read())
            {
                var modul = new Modul
                {
                    description = reader["Bezeichnung"].ToString()
                };
                result.Add(modul);
            }
            return(result);
        }
예제 #12
0
        public static List <Dokument> getDokumentByUser(string nickname)
        {
            var result = new List <Dokument>();
            var entry  = new SqlEntry();

            var reader = entry.getReader(query + nickname + "'");

            while (reader.Read())
            {
                var dokument = new Dokument
                {
                    Bereitstellung = (DateTime)reader["Bereitstellungsdatum"],
                    Titel          = reader["Titel"].ToString()
                };
                result.Add(dokument);
            }
            return(result);
        }
예제 #13
0
        //Ctor
        public EntryBasic(string text)
        {
            //ISingleTextStorage - Data
            Text = text;
            //ISingleTextStorage - SQL
            SqlSingleTextObject = new SqlSingleText()
            {
                Text = text
            };
            Procedures.Insert(SqlSingleTextObject);

            //Set SQLEntry
            SqlItem = new SqlEntry();
            //SqlItem.SqlColorable = SqlColorableObject.Id;
            SqlItem.SqlSingleText = SqlSingleTextObject.Id;
            SqlItem.EntryType     = EntryType;
            Procedures.Insert(SqlItem);
        }
예제 #14
0
        public static List <ForumBeitrag> getBeitragByUser(string nickname)
        {
            var result = new List <ForumBeitrag>();
            var entry  = new SqlEntry();

            var reader = entry.getReader(query + nickname + query2);

            while (reader.Read())
            {
                var forumBeitrag = new ForumBeitrag
                {
                    description = reader["Bezeichnung"].ToString(),
                    message     = reader["Mitteilung"].ToString(),
                    changedAt   = (DateTime)reader["Änderungsdatum"]
                };
                result.Add(forumBeitrag);
            }
            return(result);
        }
예제 #15
0
        public static ProfSummary Load(string nickname)
        {
            var entry  = new SqlEntry();
            var reader = entry.getReader(queryString + nickname + "'");

            reader.Read();
            var name   = reader["AkademischerTitel"].ToString() + " " + reader["Nachname"].ToString();
            var result = new ProfSummary
            {
                Nickname  = nickname,
                ProfName  = name,
                Beiträge  = ForumBeitrag.getBeitragByUser(nickname),
                Dokumente = Dokument.getDokumentByUser(nickname),
                Module    = Modul.getModulByUser(nickname)
                            //...
            };

            return(result);
        }
예제 #16
0
        public EntryMultyText(params string[] texts)
        {
            //Input check
            //We expect input like "key1", "value1", "key2", "value2", ...
            //So, even number of strings must be provided as params
            if (texts.Length % 2 > 0)
            {
                throw new System.Exception("Input an even number of strings in key-value fashion");
            }

            //IMultyTextStorage - Data
            Texts = new Dictionary <string, string>();
            for (int i = 0; i < texts.Length; i += 2)
            {
                Texts.Add(texts[i], texts[i + 1]);
            }
            //IMultyTextStorage - SQL
            SqlMultyTextObject           = new SqlMultyText();
            SqlMultyTextObject.TextsJson = JsonConvert.SerializeObject(Texts);
            Procedures.Insert(SqlMultyTextObject);


            string txt = (texts.Length > 0) ? texts[1] : "";

            //ISingleTextStorage - Data
            Text = txt;
            //ISingleTextStorage - SQL
            SqlSingleTextObject = new SqlSingleText()
            {
                Text = txt
            };
            Procedures.Insert(SqlSingleTextObject);

            //Set SQLEntry
            SqlItem = new SqlEntry();
            SqlItem.SqlMultyText  = SqlMultyTextObject.Id;
            SqlItem.SqlSingleText = SqlSingleTextObject.Id;
            SqlItem.EntryType     = EntryType;
            Procedures.Insert(SqlItem);
        }
예제 #17
0
        public List <Benutzer> getBenutzer()
        {
            try
            {
                //Connect to DataBase
                var entry         = new SqlEntry();
                var reader        = entry.getReader(getAllUsersQueryString);
                var benutzerListe = new List <Benutzer>();

                //Read results and store it as a list of Moduls
                while (reader.Read())
                {
                    var email = reader["Nickname"].ToString();
                    benutzerListe.Add(new Benutzer(reader["Nickname"].ToString(), reader["Vorname"].ToString(),
                                                   reader["Nachname"].ToString(), reader["Passwort"].ToString(), reader["Email"].ToString()));
                }
                return(benutzerListe);
            }   catch (SqlException e)
            {
                throw;
            }
        }
예제 #18
0
        public List <Modul> getModul()
        {
            try
            {
                //Connect to DataBase
                var entry       = new SqlEntry();
                var reader      = entry.getReader(queryString);
                var moduleListe = new List <Modul>();

                //Read results and store it as a list of Moduls
                while (reader.Read())
                {
                    var guarantor = reader["Nickname"].ToString();
                    var profName  = reader["AkademischerTitel"].ToString() + " " + reader["Nachname"];
                    moduleListe.Add(new Modul((int)reader["FachNummer"], reader["Bezeichnung"].ToString(),
                                              guarantor, profName));
                }
                return(moduleListe);
            }   catch (SqlException e)
            {
                throw;
            }
        }
예제 #19
0
 public Boolean authenticateBenutzer(Benutzer user)
 {
     try
     {
         var entry      = new SqlEntry();
         var dbPassword = (string)entry.getScalar(loginQueryString + "'" + user.nickname + "'");
         if (dbPassword == null)
         {
             //<p>User doesn't exsist!!!</p>
             //userName = "";
             throw new BenutzerDontExistException();
         }
         else if (string.Compare(Crypto.Hash(user.password, "md5").ToString(), dbPassword, true) != 0)
         {
             //<p>Wrong Password!!!</p>
             throw new BenutzerPasswordException();
         }
     }   catch (SqlException e)
     {
         //<p>Anmelden zur Zeit nicht möglich bitte versuchen Sie es sp&aumlter wieder.</p>
     }
     return(true);
 }
예제 #20
0
 public static EntryBasic GetEntryBasic(SqlEntry sqle)
 {
     return(new EntryBasic(sqle));
 }
예제 #21
0
 public static EntryMultyText GetEntryMultyText(SqlEntry sqle)
 {
     return(new EntryMultyText(sqle));
 }
예제 #22
0
 public override string ToSqlText(SqlEntry.DataParameterCollection dpc, Dialect.DbDialect dd, List<string> queryRequiredFields)
 {
     return null;
 }