public void AddPartyTweet_NewCorrectPartyTweet_ShouldAddInDatabase()
        {
            IUnitOfWork           unitOfWork            = new MockUnitOfWork();
            PartyTweetsController partyTweetsController = new PartyTweetsController();
            Guest guest = new Guest {
                EmailAddress = "*****@*****.**"
            };
            Party party = new Party
            {
                Guests = new List <Guest> {
                    guest
                },
                EndTime   = DateTime.Now,
                StartTime = DateTime.Now
            };
            PartyGuest partyGuest = new PartyGuest {
                Guest = guest, Party = party
            };
            PartyTweet partyTweet = new PartyTweet {
                Message = "TestMessage", PartyGuest = partyGuest
            };

            unitOfWork.Parties.Insert(party);
            unitOfWork.Guests.Insert(guest);
            unitOfWork.PartyGuests.Insert(partyGuest);
            bool ok = partyTweetsController.AddPartyTweet(unitOfWork, partyTweet);

            Assert.IsTrue(ok);
            var partyTweets = unitOfWork.PartyTweets.Get();

            Assert.IsTrue(partyTweets.Any(pt => pt.Message == partyTweet.Message && pt.PartyGuest == partyGuest));
        }
 public IActionResult Post([FromBody] PartyTweet partyTweet)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     _unitOfWork.PartyTweets.Insert(partyTweet);
     _unitOfWork.SaveChanges();
     return(Ok(partyTweet));
 }
Exemplo n.º 3
0
 private void SendPartyTweet(object obj)
 {
     using (IUnitOfWork unitOfWork = new UnitOfWork())
     {
         var partyTweet = new PartyTweet {
             Message = NewTextPartyTweet, PartyGuest = LoggedPartyGuest
         };
         LoggedPartyGuest.PartyTweets.Add(partyTweet);
         unitOfWork.PartyGuests.Update(LoggedPartyGuest);
         unitOfWork.PartyTweets.Insert(partyTweet);
         try
         {
             unitOfWork.SaveChanges();
             TextPartyTweet = ""; OnPropertyChanged();
             LoadPartyTweets();
         }
         catch (ValidationException ex)
         {
             return;
         }
     }
 }
        public bool AddPartyTweet(IUnitOfWork unitOfWork, PartyTweet partyTweet)
        {
            if (partyTweet == null || unitOfWork == null)
            {
                throw new ArgumentNullException();
            }

            if (unitOfWork.PartyTweets.Get(pt => pt.Id == partyTweet.Id).Length != 0)
            {
                return(false);
            }

            PartyTweet newPartyTweet = new PartyTweet
            {
                Message    = partyTweet.Message,
                PartyGuest = partyTweet.PartyGuest
            };

            unitOfWork.PartyTweets.Insert(newPartyTweet);
            unitOfWork.SaveChanges();
            return(true);
        }
        public void AddPartyTweet_UnitOfWorkNull_ShouldThrowException()
        {
            PartyTweetsController partyTweetsController = new PartyTweetsController();
            Guest guest = new Guest {
                EmailAddress = "*****@*****.**"
            };
            Party party = new Party
            {
                Guests = new List <Guest> {
                    guest
                },
                EndTime   = DateTime.Now,
                StartTime = DateTime.Now
            };
            PartyGuest partyGuest = new PartyGuest {
                Guest = guest, Party = party
            };
            PartyTweet partyTweet = new PartyTweet {
                Message = "TestMessage", PartyGuest = partyGuest
            };

            partyTweetsController.AddPartyTweet(null, partyTweet);
        }
Exemplo n.º 6
0
        public static void Seed(CrowdDj.DAL.ApplicationDbContext context)
        {
            Administrator[] administrators = new Administrator[5];
            Party[]         parties        = new Party[5];
            Guest[]         guests         = new Guest[50];
            Track[]         tracks         = new Track[50];
            PlayList[]      playLists      = new PlayList[1];
            PartyTweet[]    partyTweets    = new PartyTweet[30];
            Vote[]          votes          = new Vote[5];

            //for (int i = 0; i < administrators.Length; i++)
            //{
            //    administrators[i] = new Administrator { UserName = $"Admin{i+1}", Password = $"passme{(i+1) * 11}" };
            //    context.Administrators.Add(administrators[i]);
            //}

            //context.SaveChanges();

            for (int i = 0; i < guests.Length; i++)
            {
                string mail  = $"user{i}@dummy.com";
                var    guest = new Guest {
                    EmailAddress = mail
                };
                context.Guests.Add(guest);
                guests[i] = guest;
            }

            var partyGuests = new List <PartyGuest>();
            int partyCode   = 1;

            for (int i = 0; i < parties.Length; i++)
            {
                parties[i] = new Party {
                    EndTime = DateTime.Now.AddDays(-1), Location = "Dahoam", Name = $"Party_{i}", StartTime = DateTime.Now.AddDays(-2)
                };
                var selectionDigit = i.ToString();
                var pGuests        = guests.Where(g => g.EmailAddress.Contains(selectionDigit)).ToList();
                foreach (var guest in pGuests)
                {
                    var partyGuest = new PartyGuest {
                        PartyCode = partyCode, Guest = guest, Party = parties[i]
                    };
                    partyGuests.Add(partyGuest);
                    partyCode++;
                }
                context.Parties.Add(parties[i]);
            }

            context.PartyGuests.AddRange(partyGuests);

            for (int i = 0; i < partyTweets.Length; i++)
            {
                partyTweets[i] = new PartyTweet {
                    Message = "Hallo! Die Party ist ein Hit!"
                };;
                partyTweets[i].PartyGuest = partyGuests.ElementAt(i);
                context.PartyTweets.Add(partyTweets[i]);
            }

            for (int i = 0; i < tracks.Length; i++)
            {
                tracks[i] = new Track {
                    Interpret = $"Interpret{i + 10}", Title = $"Song{i}", Url = "www.mysongs.ate"
                };
            }

            playLists[0] = new PlayList
            {
                Tracks = tracks,
                Party  = parties[0]
            };
            context.PlayLists.Add(playLists[0]);

            for (int i = 0; i < votes.Length; i++)
            {
                votes[i] = new Vote {
                    Track = tracks[i * 2], Guest = guests[i], PlayList = playLists[0], TimeStamp = DateTime.Now.AddDays(-2).ToLocalTime()
                };
                context.Votes.Add(votes[i]);
            }

            int count = context.SaveChanges();
        }