public void FindByIdTest() { FelBookDBEntities DbEntities = new FelBookDBEntities(); MessageService target = new MessageService(DbEntities); int ID = 0; Message expected = null; Message actual = target.FindById(ID); Assert.AreEqual(expected, actual); expected = new Message(); User mockUser = User.CreateUser(0, "test", "test", DateTime.Now, "mail", "test user", ""); expected.Recievers.Add(mockUser); expected.Sender = mockUser; expected.Text = "text"; expected.Created = DateTime.Now; DbEntities.MessageSet.AddObject(expected); DbEntities.SaveChanges(); ID = expected.Id; actual = target.FindById(ID); Assert.AreEqual(expected.Text, actual.Text); DbEntities.MessageSet.DeleteObject(expected); DbEntities.UserSet.DeleteObject(mockUser); DbEntities.SaveChanges(); }
/// <summary> /// Označí zprávu jako přečtenou daným uživatelem /// </summary> /// <param name="msg">zpráva, která má být označena jako přečtená</param> /// <param name="reader">uživatel, který zprávu přečetl</param> public void MarkMessageReadBy(Message msg, User reader) { if(!msg.Readers.Contains(reader)) { msg.Readers.Add(reader); db.SaveChanges(); } }
public void SendMessageToUsers(User sender, ISet<User> recievers, Message prevMessage, string text) { Message msg = new Message(); msg.Created = DateTime.Now; msg.Sender = sender; msg.ReplyTo = prevMessage; msg.Text = text; foreach (var reciever in recievers) { msg.Recievers.Add(reciever); } model.MessageList.Add(msg); }
/// <summary> /// Deprecated Method for adding a new object to the MessageSet EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToMessageSet(Message message) { base.AddObject("MessageSet", message); }
/// <summary> /// Create a new Message object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="text">Initial value of the Text property.</param> /// <param name="created">Initial value of the Created property.</param> public static Message CreateMessage(global::System.Int32 id, global::System.String text, global::System.DateTime created) { Message message = new Message(); message.Id = id; message.Text = text; message.Created = created; return message; }
public void MarkMessageUnreadBy(Message msg, User reader) { msg.Readers.Remove(reader); reader.ReadMessages.Remove(msg); }
public void MarkMessageReadBy(Message msg, User reader) { msg.Readers.Add(reader); reader.ReadMessages.Add(msg); }
public static void Insert() { #region Insert test data FelBookDBEntities db = new FelBookDBEntities(); #region Vymazání všech tabulek a resetování ID //vymazání tabulek které spojují db.ExecuteStoreCommand("DELETE FROM StatusInformationFiles"); db.ExecuteStoreCommand("DELETE FROM StatusInformationImages"); db.ExecuteStoreCommand("DELETE FROM StatusInformationLinks"); db.ExecuteStoreCommand("DELETE FROM Followings"); db.ExecuteStoreCommand("DELETE FROM GroupAdministration"); db.ExecuteStoreCommand("DELETE FROM MessageRecievers"); db.ExecuteStoreCommand("DELETE FROM MessageReaders"); db.ExecuteStoreCommand("DELETE FROM UserGroupMembership"); db.ExecuteStoreCommand("DELETE FROM WallItemSet"); //vymazání tabulek které obsahují informace db.ExecuteStoreCommand("DELETE FROM ImageSet"); db.ExecuteStoreCommand("DELETE FROM FileSet"); db.ExecuteStoreCommand("DELETE FROM LinkSet"); db.ExecuteStoreCommand("DELETE FROM CommentSet"); db.ExecuteStoreCommand("DELETE FROM StatusSet"); db.ExecuteStoreCommand("DELETE FROM MessageSet"); db.ExecuteStoreCommand("DELETE FROM GroupSet"); db.ExecuteStoreCommand("DELETE FROM UserSet"); //resetování ID -> je spuštěno pouze na tabulky které mají klíč typu UNIQUE, INCREMENT=YES db.ExecuteStoreCommand("DBCC CHECKIDENT (CommentSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (FileSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (GroupSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (ImageSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (LinkSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (MessageSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (StatusSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (UserSet, RESEED, 0)"); db.ExecuteStoreCommand("DBCC CHECKIDENT (WallItemSet, RESEED, 0)"); #endregion #region naplnění UserSet User usr1 = new User(); usr1.Name = "Jakub"; usr1.Surname = "Novák"; usr1.Created = new DateTime(2008, 3, 1, 7, 0, 0); usr1.LastLogged = DateTime.Now; usr1.Mail = "*****@*****.**"; usr1.Username = "******"; usr1.Title = "Ing."; usr1.TitleAfter = "CSc."; usr1.StudyProgramme = "STM"; usr1.Phone = "0609112567"; usr1.ICQ = "123456789"; usr1.Specialization = "Software engineering"; usr1.ChangePassword("123456"); User usr2 = new User(); usr2.Name = "Jan"; usr2.Surname = "Novák"; usr2.Created = new DateTime(2009, 9, 10, 10, 0, 0); usr2.LastLogged = new DateTime(2010, 10, 10, 10, 0, 0); usr2.Mail = "*****@*****.**"; usr2.Username = "******"; usr2.ChangePassword("123456"); User usr3 = new User(); usr3.Name = "Bedřich"; usr3.Surname = "Červený"; usr3.Created = new DateTime(2007, 4, 8, 11, 5, 4); usr3.LastLogged = new DateTime(2008, 7, 8, 9, 4, 3); usr3.Mail = "*****@*****.**"; usr3.Username = "******"; usr3.ChangePassword("123456"); User usr4 = new User(); usr4.Id = 4; usr4.Name = "Ondřej"; usr4.Surname = "Zelený"; usr4.Created = new DateTime(2004, 2, 2, 8, 8, 5); usr4.LastLogged = new DateTime(2006, 7, 8, 9, 4, 3); usr4.Mail = "*****@*****.**"; usr4.Username = "******"; usr4.ChangePassword("123456"); User usr5 = new User(); usr5.Id = 5; usr5.Name = "Jiří"; usr5.Surname = "Mach"; usr5.Created = new DateTime(2007, 5, 1, 5, 1, 5); usr5.LastLogged = new DateTime(2010, 8, 9, 12, 5, 7); usr5.Mail = "*****@*****.**"; usr5.Username = "******"; usr5.ChangePassword("123456"); User usr6 = new User(); usr6.Id = 6; usr6.Name = "Alena"; usr6.Surname = "Bílá"; usr6.Created = new DateTime(2008, 7, 2, 5, 4, 6); usr6.LastLogged = new DateTime(2009, 4, 1, 13, 4, 10); usr6.Mail = "*****@*****.**"; usr6.Username = "******"; usr6.ChangePassword("123456"); User usr7 = new User(); usr7.Id = 7; usr7.Name = "Květa"; usr7.Surname = "Pampeliškova"; usr7.Created = new DateTime(2007, 6, 3, 2, 2, 11); usr7.LastLogged = new DateTime(2008, 6, 2, 7, 8, 9); usr7.Mail = "*****@*****.**"; usr7.Username = "******"; usr7.ChangePassword("123456"); User usr8 = new User(); usr8.Id = 8; usr8.Name = "Zuzana"; usr8.Surname = "Frydrychová"; usr8.Created = new DateTime(2007, 6, 3, 2, 2, 11); usr8.LastLogged = new DateTime(2008, 6, 2, 7, 8, 9); usr8.Mail = "*****@*****.**"; usr8.Username = "******"; usr8.ChangePassword("123456"); User usr9 = new User(); usr9.Id = 9; usr9.Name = "Andrea"; usr9.Surname = "Senová"; usr9.Created = new DateTime(2004, 1, 6, 2, 9, 12); usr9.LastLogged = new DateTime(2005, 5, 1, 2, 6, 3); usr9.Mail = "*****@*****.**"; usr9.Username = "******"; usr9.ChangePassword("123456"); User usr10 = new User(); usr10.Id = 10; usr10.Name = "Simona"; usr10.Surname = "Červená"; usr10.Created = new DateTime(2006, 2, 6, 2, 9, 9); usr10.LastLogged = new DateTime(2007, 5, 8, 2, 1, 3); usr10.Mail = "*****@*****.**"; usr10.Username = "******"; usr10.ChangePassword("123456"); User usr11 = new User(); usr11.Id = 11; usr11.Name = "Michal"; usr11.Surname = "Stach"; usr11.Created = new DateTime(2005, 2, 6, 2, 10, 12); usr11.LastLogged = new DateTime(2006, 1, 2, 2, 8, 3); usr11.Mail = "*****@*****.**"; usr11.Username = "******"; usr11.ChangePassword("123456"); User usr12 = new User(); usr12.Id = 12; usr12.Name = "Vladimír"; usr12.Surname = "Roubal"; usr12.Created = new DateTime(2003, 8, 6, 4, 7, 9); usr12.LastLogged = new DateTime(2008, 1, 4, 2, 5, 3); usr12.Mail = "*****@*****.**"; usr12.Username = "******"; usr12.ChangePassword("123456"); db.AddToUserSet(usr1); db.AddToUserSet(usr2); db.AddToUserSet(usr3); db.AddToUserSet(usr4); db.AddToUserSet(usr5); db.AddToUserSet(usr6); db.AddToUserSet(usr7); db.AddToUserSet(usr8); db.AddToUserSet(usr9); db.AddToUserSet(usr10); db.AddToUserSet(usr11); db.AddToUserSet(usr12); #endregion #region naplnění MessageSet Message msg1 = new Message(); msg1.Sender = usr1; msg1.Text = "Ahoj jak se máš?"; msg1.Recievers.Add(usr2); msg1.Created = new DateTime(2010, 10, 11, 12, 5, 7); Message msg2 = new Message(); msg2.Sender = usr1; msg2.Recievers.Add(usr2); msg2.Recievers.Add(usr3); msg2.Recievers.Add(usr4); msg2.Recievers.Add(usr5); msg2.Text = "Nezapomeňte dodělat domácí úkol."; msg2.Created = new DateTime(2009, 3, 5, 8, 1, 2); Message msg3 = new Message(); msg3.Sender = usr3; msg3.Recievers.Add(usr1); msg3.ReplyTo = msg2; msg3.Text = "Už jsem ten úkol odevzdal."; msg3.Created = new DateTime(2007, 12, 11, 10, 4, 4); Message msg4 = new Message(); msg4.Sender = usr3; msg4.Recievers.Add(usr1); msg3.ReplyTo = msg2; msg4.Text = "Taky už jsem ho udělal a díky za ty materiály, zejtra vás zvu na pivo."; msg4.Created = new DateTime(2010, 12, 8, 10, 2, 2); Message msg5 = new Message(); msg5.Sender = usr5; msg5.Recievers.Add(usr4); msg5.Text = "Podařilo se mi rozchodit ten server !!!"; msg5.Created = new DateTime(2010, 1, 8, 7, 6, 2); db.AddToMessageSet(msg1); db.AddToMessageSet(msg2); db.AddToMessageSet(msg3); db.AddToMessageSet(msg4); db.AddToMessageSet(msg5); #endregion #region naplnění GroupSet Group grp1 = new Group(); Group grp2 = new Group(); Group grp3 = new Group(); Group grp4 = new Group(); Group grp5 = new Group(); Group grp6 = new Group(); Group grp7 = new Group(); Group grp8 = new Group(); Group grp9 = new Group(); Group grp10 = new Group(); Group grp11 = new Group(); Group grp12 = new Group(); Group grp13 = new Group(); Group grp14 = new Group(); Group grp15 = new Group(); grp1.Name = "Svět"; grp1.Description = "Řídíme svět"; grp1.Creator = usr2; grp1.Children.Add(grp2); grp1.Children.Add(grp3); grp1.Users.Add(usr1); grp1.Users.Add(usr2); grp1.Users.Add(usr3); grp1.Users.Add(usr4); grp1.Users.Add(usr5); usr1.JoinedGroups.Add(grp1); usr2.JoinedGroups.Add(grp2); grp1.Administrators.Add(usr1); grp1.Administrators.Add(usr2); grp2.Name = "Asie"; grp2.Description = "Řídíme asii"; grp2.Parent = grp1; grp2.Creator = usr1; grp2.Administrators.Add(usr1); grp3.Name = "Evropa"; grp3.Description = "Řídíme Evropu"; grp3.Parent = grp2; grp3.Children.Add(grp4); grp3.Creator = usr1; grp3.Administrators.Add(usr1); grp4.Name = "Česká republika"; grp4.Description = "Řídíme Českou republiku"; grp4.Parent = grp3; grp4.Creator = usr1; grp4.Administrators.Add(usr1); grp5.Name = "Slunce"; grp5.Description = "Jsme úplně jiná planeta"; grp5.Creator = usr1; grp5.Administrators.Add(usr1); grp6.Name = "Katedra Kybernetiky"; grp6.Description = "Řešíme hlavne nedeterministické algoritmy"; grp6.Children.Add(grp7); grp6.Children.Add(grp8); grp6.Creator = usr5; grp6.Administrators.Add(usr5); grp7.Name = "Vytěžování dat"; grp7.Description = "Zabíváme se tu dataminingem"; grp7.Parent = grp6; grp7.Creator = usr5; grp7.Administrators.Add(usr5); grp8.Name = "Kybernetika a umělá inteligence"; grp8.Description = "Jedná se o úvodní obecný předmět umožňující studentům pochopit cíle a metody kybernetiky a umělé inteligence."; grp8.Parent = grp6; grp8.Creator = usr5; grp8.Administrators.Add(usr5); grp9.Name = "Katedra matematiky"; grp9.Description = "Stále něco počítáme."; grp9.Children.Add(grp10); grp9.Children.Add(grp11); grp9.Creator = usr7; grp9.Administrators.Add(usr7); grp10.Name = "Úvod do lineární algebry"; grp10.Description = "Matice, zobrazení, polynomy atd"; grp10.Parent = grp9; grp10.Creator = usr9; grp10.Administrators.Add(usr9); grp11.Name = "Matematická logika"; grp11.Description = "PCNF, kvantifikátory, logické operátory atd"; grp11.Parent = grp9; grp11.Creator = usr9; grp11.Administrators.Add(usr9); grp12.Name = "Diskrétní matematika"; grp12.Description = "Počítání modulo a samá přirozená čísla."; grp12.Parent = grp9; grp12.Creator = usr9; grp12.Administrators.Add(usr9); grp13.Name = "Katedra počítačů"; grp13.Description = "Programování a různé techniky při tvorbě softwaru to je naše."; grp13.Children.Add(grp14); grp13.Children.Add(grp15); grp12.Creator = usr10; grp13.Administrators.Add(usr10); grp14.Name = "Teoretická informatika"; grp14.Description = "Teorie grafů a algoritmy ohledně teorie grafů to je hlavní náplň tohoto kurzu."; grp14.Parent = grp13; grp14.Creator = usr10; grp14.Administrators.Add(usr10); grp15.Name = "Softwarové inženýrství"; grp15.Description = "Tak kvůli tomuhle předmětu jsem vůbec napsal tuhle větu :)."; grp15.Parent = grp13; grp15.Creator = usr10; grp15.Administrators.Add(usr10); #endregion #region naplnění StatusSet a zároveň CommentSet Status st1 = new Status(); st1.Text = "Dneska jsem udělal maturitu"; st1.User = usr1; st1.Created = new DateTime(2010, 1, 1, 12, 3, 4); Status st2 = new Status(); st2.Text = "Podařilo se mi tu maturitu dát s vyznamenáním"; st2.User = usr2; st2.Created = new DateTime(2010, 2, 1, 12, 3, 4); Status st3 = new Status(); st3.Text = "Tohle je zajímavá skupina"; st3.User = usr2; st3.Group = grp1; st3.Created = new DateTime(2008, 9, 1, 6, 2, 1); Status st4 = new Status(); st4.Text = "Tady v té skupině řešíme evropu"; st4.User = usr2; st4.Group = grp3; st4.Created = new DateTime(2009, 10, 2, 4, 8, 8); Status st5 = new Status(); st5.Text = "Kdo neskáče není čech !!"; st5.User = usr4; st5.Group = grp4; st5.Created = new DateTime(2010, 2, 4, 7, 1, 2); Comment cmt1 = new Comment(); cmt1.Author = usr3; cmt1.Text = "Ano také si to myslím !!"; cmt1.Created = new DateTime(2008, 10, 10, 7, 2, 3); st3.Comments.Add(cmt1); Comment cmt2 = new Comment(); cmt2.Author = usr5; cmt2.Text = "Tak to jsi frajer!"; cmt2.Created = new DateTime(2010, 1, 1, 12, 20, 10); st1.Comments.Add(cmt2); db.AddToCommentSet(cmt1); db.AddToCommentSet(cmt2); db.AddToStatusSet(st1); db.AddToStatusSet(st2); db.AddToStatusSet(st3); db.AddToStatusSet(st4); db.AddToStatusSet(st5); db.SaveChanges(); #endregion #endregion }
/// <summary> /// Označí zprávu jako nepřečtenou daným uživatelem /// </summary> /// <param name="msg">zpráva, která má být označena jako nepřečtená</param> /// <param name="reader">uživatel, který označil zprávu jako nepřečtenou</param> public void MarkMessageUnreadBy(Message msg, User reader) { if (msg.Readers.Contains(reader)) { msg.Readers.Remove(reader); db.SaveChanges(); } }
/// <summary> /// Odešle zprávu uživatelům /// </summary> /// <param name="sender">odesilatel zprávy</param> /// <param name="recievers">množina příjemců zprávy</param> /// <param name="prevMessage">zpráva, na kterou tato zpráva odpovídá</param> /// <param name="text">vlastní text zprávy</param> public void SendMessageToUsers(User sender, ISet<User> recievers, Message prevMessage, string text) { Message msg = new Message(); msg.Created = DateTime.Now; msg.Sender = sender; msg.ReplyTo = prevMessage; msg.Text = text; //msg.Readers.Add(sender); foreach (var reciever in recievers) { msg.Recievers.Add(reciever); } db.MessageSet.AddObject(msg); db.SaveChanges(); }