/// <summary> /// <see cref="MyEvents.Data.IMaterialRepository"/> /// </summary> /// <param name="material"><see cref="MyEvents.Data.IMaterialRepository"/></param> /// <returns><see cref="MyEvents.Data.IMaterialRepository"/></returns> public int Add(Material material) { using (var context = new MyEventsContext()) { context.Materials.Add(material); context.SaveChanges(); return material.MaterialId; } }
/// <summary> /// <see cref="MyEvents.Data.IMaterialRepository"/> /// </summary> /// <param name="material"><see cref="MyEvents.Data.IMaterialRepository"/></param> /// <returns><see cref="MyEvents.Data.IMaterialRepository"/></returns> public int Add(Material material) { using (var context = new MyEventsContext()) { context.Materials.Add(material); context.SaveChanges(); return(material.MaterialId); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="session"><see cref="MyEvents.Data.ISessionRepository"/></param> /// <returns><see cref="MyEvents.Data.ISessionRepository"/></returns> public int Add(Session session) { using (var context = new MyEventsContext()) { CheckAndFixTwitterAccount(session); context.Sessions.Add(session); context.SaveChanges(); return(session.SessionId); } }
/// <summary> /// <see cref="MyEvents.Data.IEventDefinitionRepository"/> /// </summary> /// <param name="eventDefinition"><see cref="MyEvents.Data.IEventDefinitionRepository"/></param> /// <returns><see cref="MyEvents.Data.IEventDefinitionRepository"/></returns> public int Add(EventDefinition eventDefinition) { using (var context = new MyEventsContext()) { CheckAndFixTwitterAccount(eventDefinition); context.EventDefinitions.Add(eventDefinition); context.SaveChanges(); return eventDefinition.EventDefinitionId; } }
/// <summary> /// <see cref="MyEvents.Data.ICommentRepository"/> /// </summary> /// <param name="comment"><see cref="MyEvents.Data.ICommentRepository"/></param> /// <returns><see cref="MyEvents.Data.ICommentRepository"/></returns> public int Add(Comment comment) { using (var context = new MyEventsContext()) { comment.AddedDateTime = DateTime.UtcNow; context.Comments.Add(comment); context.SaveChanges(); return comment.CommentId; } }
/// <summary> /// <see cref="MyEvents.Data.IEventDefinitionRepository"/> /// </summary> /// <param name="eventDefinition"><see cref="MyEvents.Data.IEventDefinitionRepository"/></param> /// <returns><see cref="MyEvents.Data.IEventDefinitionRepository"/></returns> public int Add(EventDefinition eventDefinition) { using (var context = new MyEventsContext()) { CheckAndFixTwitterAccount(eventDefinition); context.EventDefinitions.Add(eventDefinition); context.SaveChanges(); return(eventDefinition.EventDefinitionId); } }
/// <summary> /// <see cref="MyEvents.Data.ICommentRepository"/> /// </summary> /// <param name="comment"><see cref="MyEvents.Data.ICommentRepository"/></param> /// <returns><see cref="MyEvents.Data.ICommentRepository"/></returns> public int Add(Comment comment) { using (var context = new MyEventsContext()) { comment.AddedDateTime = DateTime.UtcNow; context.Comments.Add(comment); context.SaveChanges(); return(comment.CommentId); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="session"><see cref="MyEvents.Data.ISessionRepository"/></param> /// <returns><see cref="MyEvents.Data.ISessionRepository"/></returns> public int Add(Session session) { using (var context = new MyEventsContext()) { CheckAndFixTwitterAccount(session); context.Sessions.Add(session); context.SaveChanges(); return session.SessionId; } }
/// <summary> /// <see cref="MyEvents.Data.ICommentRepository"/> /// </summary> /// <param name="commentId"><see cref="MyEvents.Data.ICommentRepository"/></param> public void Delete(int commentId) { using (var context = new MyEventsContext()) { var comment = context.Comments.FirstOrDefault(q => q.CommentId == commentId); if (comment != null) { context.Comments.Remove(comment); context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUserId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="sessionId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public void DeleteRegisteredUserFromSession(int registeredUserId, int sessionId) { using (var context = new MyEventsContext()) { var sessionRegisteredUser = context.SessionRegisteredUsers.FirstOrDefault(q => q.SessionId == sessionId && q.RegisteredUserId == registeredUserId); if (sessionRegisteredUser != null) { context.SessionRegisteredUsers.Remove(sessionRegisteredUser); context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.IMaterialRepository"/> /// </summary> /// <param name="materialId"><see cref="MyEvents.Data.IMaterialRepository"/></param> public void Delete(int materialId) { using (var context = new MyEventsContext()) { var material = context.Materials.FirstOrDefault(q => q.MaterialId == materialId); if (material != null) { context.Materials.Remove(material); context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.IEventDefinitionRepository"/> /// </summary> /// <param name="eventDefinitionId"><see cref="MyEvents.Data.IEventDefinitionRepository"/></param> public void Delete(int eventDefinitionId) { using (var context = new MyEventsContext()) { var eventDefinition = context.EventDefinitions.FirstOrDefault(q => q.EventDefinitionId == eventDefinitionId); if (eventDefinition != null) { context.EventDefinitions.Remove(eventDefinition); context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="sessionId"><see cref="MyEvents.Data.ISessionRepository"/></param> public void Delete(int sessionId) { using (var context = new MyEventsContext()) { var session = context.Sessions.FirstOrDefault(q => q.SessionId == sessionId); if (session != null) { context.Sessions.Remove(session); context.SaveChanges(); } } }
public void DeleteEventDefinition_CallWebAPI_EventDeleted_NotFail_Test() { EventDefinition eventDef; int organizerId = 0; var manualResetEvent = new ManualResetEvent(false); var exceptionResult = default(Exception); // Get values to test using (var context = new MyEventsContext()) { organizerId = context.RegisteredUsers.First().RegisteredUserId; // Create event to delete eventDef = new EventDefinition(); eventDef.OrganizerId = organizerId; eventDef.Name = Guid.NewGuid().ToString(); eventDef.Description = Guid.NewGuid().ToString(); eventDef.Address = Guid.NewGuid().ToString(); eventDef.City = Guid.NewGuid().ToString(); eventDef.Tags = Guid.NewGuid().ToString(); eventDef.TwitterAccount = Guid.NewGuid().ToString(); eventDef.RoomNumber = 1; eventDef.Date = System.DateTime.Now; eventDef.StartTime = System.DateTime.Now; eventDef.EndTime = System.DateTime.Now.AddDays(1); eventDef.TimeZoneOffset = 2; eventDef.Likes = 0; System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); eventDef.Logo = encoding.GetBytes("sample"); context.EventDefinitions.Add(eventDef); context.SaveChanges(); } string urlPrefix = testContextInstance.Properties[TestContext.AspNetDevelopmentServerPrefix + "webapiserver"].ToString(); var service = new Client.MyEventsClient(urlPrefix); service.SetAccessToken(MyEventsToken.CreateToken(eventDef.OrganizerId)); IAsyncResult ar = service.EventDefinitionService.GetEventDefinitionByIdAsync(eventDef.EventDefinitionId, (Client.EventDefinition getEvent) => { IAsyncResult arUpdate = service.EventDefinitionService.DeleteEventDefinitionAsync(getEvent.EventDefinitionId, (HttpStatusCode statusCode) => { using (var context = new MyEventsContext()) { var actual = context.EventDefinitions.FirstOrDefault(q => q.EventDefinitionId == eventDef.EventDefinitionId); TestHelper.ValidateResult(null, actual, manualResetEvent, ref exceptionResult); } }); }); TestHelper.WaitAll(manualResetEvent, ref exceptionResult); }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="eventDefinition"><see cref="MyEvents.Data.ISessionRepository"/></param> public void UpdateRoomImage(EventDefinition eventDefinition) { using (var context = new MyEventsContext()) { var eventDefinitionToUpdate = context.EventDefinitions .FirstOrDefault(q => q.EventDefinitionId == eventDefinition.EventDefinitionId); eventDefinitionToUpdate.EventDefinitionId = eventDefinition.EventDefinitionId; eventDefinitionToUpdate.MapImage = eventDefinition.MapImage; context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="eventDefinitionId"><see cref="MyEvents.Data.ISessionRepository"/></param> /// <param name="roomNumber"><see cref="MyEvents.Data.ISessionRepository"/></param> public void DeleteRoomPoints(int eventDefinitionId, int roomNumber) { using (var context = new MyEventsContext()) { var roomPoints = context.RoomPoints .Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber == roomNumber) .ToList(); foreach (var roomPoint in roomPoints) context.RoomPoints.Remove(roomPoint); context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUserId"><see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="sessionId"><see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="score"><see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public void AddRegisteredUserScore(int registeredUserId, int sessionId, double score) { using (var context = new MyEventsContext()) { var sessionRegisteredUser = context.SessionRegisteredUsers.FirstOrDefault(q => q.RegisteredUserId == registeredUserId && q.SessionId == sessionId); if (sessionRegisteredUser != null) { sessionRegisteredUser.Rated = true; sessionRegisteredUser.Score = score; context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="roomPoints"><see cref="MyEvents.Data.ISessionRepository"/></param> public void AddRoomPoints(IEnumerable<RoomPoint> roomPoints) { using (var context = new MyEventsContext()) { DeleteRoomPoints(roomPoints.First().EventDefinitionId, roomPoints.First().RoomNumber); foreach (var roomPoint in roomPoints) { context.RoomPoints.Add(roomPoint); } context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="roomPoints"><see cref="MyEvents.Data.ISessionRepository"/></param> public void AddRoomPoints(IEnumerable <RoomPoint> roomPoints) { using (var context = new MyEventsContext()) { DeleteRoomPoints(roomPoints.First().EventDefinitionId, roomPoints.First().RoomNumber); foreach (var roomPoint in roomPoints) { context.RoomPoints.Add(roomPoint); } context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="eventDefinitionId"><see cref="MyEvents.Data.ISessionRepository"/></param> /// <param name="roomNumber"><see cref="MyEvents.Data.ISessionRepository"/></param> public void DeleteRoomPoints(int eventDefinitionId, int roomNumber) { using (var context = new MyEventsContext()) { var roomPoints = context.RoomPoints .Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber == roomNumber) .ToList(); foreach (var roomPoint in roomPoints) { context.RoomPoints.Remove(roomPoint); } context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="session"><see cref="MyEvents.Data.ISessionRepository"/></param> public void Update(Session session) { CheckAndFixTwitterAccount(session); using (var context = new MyEventsContext()) { var sessionToUpdate = context.Sessions.FirstOrDefault(q => q.SessionId == session.SessionId); context.Entry <Session>(sessionToUpdate) .CurrentValues .SetValues(session); context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUserId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="eventDefinitionId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public void DeleteRegisteredUserFromEvent(int registeredUserId, int eventDefinitionId) { using (var context = new MyEventsContext()) { var eventDefinition = context.EventDefinitions.Include("RegisteredUsers").FirstOrDefault(q => q.EventDefinitionId == eventDefinitionId); if (eventDefinition != null) { var registerUser = eventDefinition.RegisteredUsers.FirstOrDefault(s => s.RegisteredUserId == registeredUserId); if (registerUser != null) { eventDefinition.RegisteredUsers.Remove(registerUser); context.SaveChanges(); } } } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUser"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public int Add(RegisteredUser registeredUser) { using (var context = new MyEventsContext()) { var user = Get(registeredUser.FacebookId); if (user == null) { context.RegisteredUsers.Add(registeredUser); context.SaveChanges(); return(registeredUser.RegisteredUserId); } else { return(user.RegisteredUserId); } } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUser"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public int Add(RegisteredUser registeredUser) { using (var context = new MyEventsContext()) { var user = Get(registeredUser.FacebookId); if (user == null) { context.RegisteredUsers.Add(registeredUser); context.SaveChanges(); return registeredUser.RegisteredUserId; } else { return user.RegisteredUserId; } } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUserId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="eventDefinitionId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public void AddRegisteredUserToEvent(int registeredUserId, int eventDefinitionId) { using (var context = new MyEventsContext()) { var eventDefinition = context.EventDefinitions.Include("RegisteredUsers").FirstOrDefault(q => q.EventDefinitionId == eventDefinitionId); if (eventDefinition != null) { if (!eventDefinition.RegisteredUsers.Any(s => s.RegisteredUserId == registeredUserId)) { var registeredUser = context.RegisteredUsers.FirstOrDefault(q => q.RegisteredUserId == registeredUserId); if (registeredUser != null) { eventDefinition.RegisteredUsers.Add(registeredUser); context.SaveChanges(); } } } } }
/// <summary> /// <see cref="MyEvents.Data.IRegisteredUserRepository"/> /// </summary> /// <param name="registeredUserId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> /// <param name="sessionId"> <see cref="MyEvents.Data.IRegisteredUserRepository"/></param> public void AddRegisteredUserToSession(int registeredUserId, int sessionId) { using (var context = new MyEventsContext()) { var registeredUser = context.RegisteredUsers.FirstOrDefault(q => q.RegisteredUserId == registeredUserId); var session = context.Sessions.FirstOrDefault(q => q.SessionId == sessionId); if (registeredUser != null && session != null) { context.SessionRegisteredUsers.Add(new SessionRegisteredUser() { SessionId = sessionId, RegisteredUserId = registeredUserId, FacebookId = registeredUser.FacebookId }); context.SaveChanges(); } } }
/// <summary> /// <see cref="MyEvents.Data.IEventDefinitionRepository"/> /// </summary> /// <param name="eventDefinition"><see cref="MyEvents.Data.IEventDefinitionRepository"/></param> public void Update(EventDefinition eventDefinition) { using (var context = new MyEventsContext()) { var eventDefinitionToUpdate = context.EventDefinitions .FirstOrDefault(q => q.EventDefinitionId == eventDefinition.EventDefinitionId); eventDefinitionToUpdate.EventDefinitionId = eventDefinition.EventDefinitionId; eventDefinitionToUpdate.OrganizerId = eventDefinition.OrganizerId; eventDefinitionToUpdate.Name = eventDefinition.Name; eventDefinitionToUpdate.Description = eventDefinition.Description; eventDefinitionToUpdate.Address = eventDefinition.Address; eventDefinitionToUpdate.ZipCode = eventDefinition.ZipCode; eventDefinitionToUpdate.City = eventDefinition.City; eventDefinitionToUpdate.Tags = eventDefinition.Tags; eventDefinitionToUpdate.TwitterAccount = eventDefinition.TwitterAccount; eventDefinitionToUpdate.TimeZoneOffset = eventDefinition.TimeZoneOffset; eventDefinitionToUpdate.RoomNumber = eventDefinition.RoomNumber; eventDefinitionToUpdate.Date = eventDefinition.Date; // Be sure that the starttime and endtime is in the same day of the event eventDefinitionToUpdate.StartTime = new DateTime(eventDefinition.Date.Year, eventDefinition.Date.Month, eventDefinition.Date.Day, eventDefinition.StartTime.Hour, eventDefinition.StartTime.Minute, 0); eventDefinitionToUpdate.EndTime = new DateTime(eventDefinition.Date.Year, eventDefinition.Date.Month, eventDefinition.Date.Day, eventDefinition.EndTime.Hour, eventDefinition.EndTime.Minute, 0); eventDefinitionToUpdate.Likes = eventDefinition.Likes; eventDefinitionToUpdate.Logo = eventDefinition.Logo; eventDefinitionToUpdate.Latitude = eventDefinition.Latitude; eventDefinitionToUpdate.Longitude = eventDefinition.Longitude; CheckAndFixTwitterAccount(eventDefinitionToUpdate); context.SaveChanges(); // After update eventdefinition we have to clean the room number of the sessions to be sure that all room numbers exist CleanRooms(eventDefinition.EventDefinitionId, eventDefinition.RoomNumber); } }
/// <summary> /// After update eventdefinition we have to clean the room number of the sessions to be sure that all room numbers exist /// </summary> /// <param name="eventDefinitionId">eventDefinitionId</param> /// <param name="roomNumber">Actual room number</param> private void CleanRooms(int eventDefinitionId, int roomNumber) { using (var context = new MyEventsContext()) { // Clean Sessions var sessions = context.Sessions .Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber > roomNumber).ToList(); foreach (var session in sessions) { session.RoomNumber = 0; } // Delete room points of delete rooms var roomPoints = context.RoomPoints.Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber > roomNumber).ToList(); foreach (var roomPoint in roomPoints) { context.RoomPoints.Remove(roomPoint); } context.SaveChanges(); } }
/// <summary> /// <see cref="MyEvents.Data.ISessionRepository"/> /// </summary> /// <param name="session"><see cref="MyEvents.Data.ISessionRepository"/></param> public void Update(Session session) { CheckAndFixTwitterAccount(session); using (var context = new MyEventsContext()) { var sessionToUpdate = context.Sessions.FirstOrDefault(q => q.SessionId == session.SessionId); context.Entry<Session>(sessionToUpdate) .CurrentValues .SetValues(session); context.SaveChanges(); } }
/// <summary> /// After update eventdefinition we have to clean the room number of the sessions to be sure that all room numbers exist /// </summary> /// <param name="eventDefinitionId">eventDefinitionId</param> /// <param name="roomNumber">Actual room number</param> private void CleanRooms(int eventDefinitionId, int roomNumber) { using (var context = new MyEventsContext()) { // Clean Sessions var sessions = context.Sessions .Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber > roomNumber).ToList(); foreach (var session in sessions) session.RoomNumber = 0; // Delete room points of delete rooms var roomPoints = context.RoomPoints.Where(q => q.EventDefinitionId == eventDefinitionId && q.RoomNumber > roomNumber).ToList(); foreach (var roomPoint in roomPoints) context.RoomPoints.Remove(roomPoint); context.SaveChanges(); } }
public static void Seed(MyEventsContext context) { context.Database.EnsureCreated(); if (context.Events.Any() || context.Attendees.Any() || context.Organizers.Any()) { Console.WriteLine("Database already seeded."); return; } var attendee = new Attendee[] { new Attendee { Name = "TestUser", Email = "*****@*****.**", PhoneNumber = "0855063258" } }; context.AddRange(attendee); context.SaveChanges(); var organizers = new Organizer[] { new Organizer { Name = "JeMa IT AB", Email = "*****@*****.**", PhoneNumber = "0798123445" }, new Organizer { Name = "Music Gruop", Email = "*****@*****.**", PhoneNumber = "0700654987" }, new Organizer { Name = "Sports & Stuff", Email = "*****@*****.**", PhoneNumber = "0715972345" }, new Organizer { Name = "Event Maker", Email = "*****@*****.**", PhoneNumber = "0713465798" } }; context.AddRange(organizers); context.SaveChanges(); var events = new Event[] { new Event { Title = "Metallica", Organizer = organizers[1], Description = "Concert", Venue = "Globen", Address = "Storgatan 2", Date = DateTime.Parse("2021-03-14"), TicketsAvailable = 30245 }, new Event { Title = "Rock Around", Organizer = organizers[1], Description = "Festival", Venue = "Gröna fältet", Address = "Okänd", Date = DateTime.Parse("2021-09-14"), TicketsAvailable = 20231 }, new Event { Title = "Lär dig koda rätt", Organizer = organizers[0], Description = "Lär dig koda på rätt sätt. Vi går igenom objekt orienterad programmering.", Venue = "Tältets konferansrum", Address = "Mittigatan 2", Date = DateTime.Parse("2021-07-29"), TicketsAvailable = 200 }, new Event { Title = "AIK - Hammarby", Organizer = organizers[2], Description = "Fotbolls match", Venue = "Stora Plan", Address = "Långgatan 123", Date = DateTime.Parse("2021-07-30"), TicketsAvailable = 1200 } }; context.AddRange(events); context.SaveChanges(); }