public void Put(int id, Event eventToUpdate)
 {
     if (!_eventService.Update(id, eventToUpdate))
     {
         throw new HttpResponseException(HttpStatusCode.NotFound);
     }
 }
        public HttpResponseMessage Put(Event eventToSave)
        {
            eventToSave.Id = _eventService.Save(eventToSave);

            return string.IsNullOrEmpty(User.Identity.Name)
                       ? Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Please log in.")
                       : Request.CreateResponse(HttpStatusCode.OK, eventToSave);
        }
        public void AddEvent_EmptyDB_ShouldReturnOneEvent()
        {
            var eventToSave = new Event
                             {
                                 Name = "sadlaskd",
                                 StartDate = DateTime.Now,
                                 EndDate = DateTime.Now.AddHours(4),
                                 Address = "City",
                                 GroupId = 1
                             };

            _eventRepository.Save(eventToSave);
            IList<Event> events = _eventRepository.GetAll();

            Assert.Greater(events.Count, 0);
        }
        public Event AddEvent()
        {
            var @event = new Event
                {
                    Name = "sadlaskd",
                    StartDate = DateTime.Now,
                    EndDate = DateTime.Now.AddHours(1),
                    Address = "City",
                    GroupId = 1
                };

            long eventId = _eventRepository.Save(@event);
            @event.Id = eventId;

            return @event;
        }
        public long Save(Event eventToSave)
        {
            using (var connection = OpenConnection())
            {
                const string sql = "INSERT INTO [Events] ([Name], StartDate, EndDate, Address, GroupId) VALUES (@Name, @StartDate, @EndDate, @Address, @GroupId);" +
                    "SELECT cast(scope_identity() as int)";

                return connection.Execute(sql,
                                   new
                                       {
                                           eventToSave.Name,
                                           eventToSave.StartDate,
                                           eventToSave.EndDate,
                                           eventToSave.Address,
                                           eventToSave.GroupId
                                       });
            }
        }
        private void PopulateWithSampleData(IContainer container)
        {
            using (var connection =
                    new SqlConnection(ConfigurationManager.ConnectionStrings["EventOrganizerDb"].ConnectionString))
            {
                var sql = "DELETE FROM [Events]; DELETE FROM [Users]; DELETE FROM [Groups]; DELETE FROM [UsersEvents]; DELETE FROM [UsersGroups]";
                var command = connection.CreateCommand();
                command.CommandText = sql;
                command.CommandType = CommandType.Text;
                connection.Open();
                command.ExecuteNonQuery();
            }

            var userRepo = container.Resolve<IUserRepository>();
            var groupsRepo = container.Resolve<IGroupRepository>();
            var eventsRepo = container.Resolve<IEventRepository>();

            var eventMemberId = userRepo.Save(new User
                {
                    Email = "*****@*****.**",
                    Password = "******",
                    Name = "Paweł",
                    Surname = "Bejger"
                });

            var groupId = groupsRepo.Save(new Group
                {
                    Name = "Goyello integration",
                    OwnerId = eventMemberId,
                    Description = "Party hard!!"
                });

            var eventToSave = new Event
                {
                    GroupId = groupId,

                    Name = "Laser-tag nite!",
                    StartDate = DateTime.Now.AddDays(2),
                    EndDate = DateTime.Now.AddDays(2).AddHours(2),
                    Address = "Gdańsk",
                };
            var eventId = eventsRepo.Save(eventToSave);
            userRepo.AddEventMember(eventId, eventMemberId);
        }
        public bool Update(int id, Event eventToUpdate)
        {
            using (var connection = OpenConnection())
            {
                const string sql =
                "UPDATE [Events] SET [Name] = @Name, StartDate = @StartDate, EndDate = @EndDate, Address = @Address, Description = @Description WHERE Id = @Id";

                connection.Execute(sql, new
                    {
                        Id = id,
                        eventToUpdate.Name,
                        eventToUpdate.Description,
                        eventToUpdate.StartDate,
                        eventToUpdate.EndDate,
                        eventToUpdate.Address
                    });

                return true;
            }
        }
 public bool Update(int id, Event eventToUpdate)
 {
     return _eventRepository.Update(id, eventToUpdate);
 }
 public long Save(Event eventToSave)
 {
     return _eventRepository.Save(eventToSave);
 }
        public HttpResponseMessage Post(Event eventToSave)
        {
            eventToSave.Id = _eventService.Save(eventToSave);

            return Request.CreateResponse(HttpStatusCode.OK, eventToSave);
        }