Пример #1
0
 public HttpResponseMessage SetPlaylistAccessibilty(int id, Accessibilty accessibilty)
 {
     try
     {
         _playlistService.SetAccessibilty(id, accessibilty);
         return Request.CreateResponse(HttpStatusCode.OK);
     }
     catch (BadRequestException ex)
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
     }
 }
Пример #2
0
        public long CreatePlaylist(string name, Accessibilty accessibilty)
        {
            long playlistId = -1;

            if (!Enum.IsDefined(typeof(Accessibilty), accessibilty))
            {
                throw new BadRequestException("Accessibilty not correct");
            }

            using (var unitOfWork = _unitOfWorkFactory.NewUnitOfWork())
            {
                var playlistRepo = unitOfWork.GetRepository<Playlist>();
                if (playlistRepo.GetOne(s => (s.Name == name) && 
                                             (s.Creator.Id == AzimuthIdentity.Current.UserCredential.Id)) != null)
                {
                    throw new BadRequestException("Playlist with this name already exists");
                }

                //get current user
                var userRepo = unitOfWork.GetRepository<User>();
                var user = userRepo.GetOne(s => (s.Id == AzimuthIdentity.Current.UserCredential.Id));

                var playlist = new Playlist
                {
                    Accessibilty = accessibilty,
                    Name = name,
                    Creator = user
                };

                playlistRepo.AddItem(playlist);
                playlistId = playlist.Id;

                var notification = _notificationService.CreateNotification(Notifications.PlaylistCreated, user, recentlyPlaylist: playlist);

                playlist.Notifications.Add(notification);
                unitOfWork.NotificationRepository.AddItem(notification);

                unitOfWork.Commit();
            }


            return playlistId;
        }
Пример #3
0
 public HttpResponseMessage CreatePlaylist(string name, Accessibilty accessibilty)
 {
     try
     {
         long playlistId = _playlistService.CreatePlaylist(name, accessibilty);
         return Request.CreateResponse(HttpStatusCode.OK, playlistId);
     }
     catch (BadRequestException ex)
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
     }
 }
Пример #4
0
        public void SetAccessibilty(int id, Accessibilty accessibilty)
        {
            using (var unitOfWork = _unitOfWorkFactory.NewUnitOfWork())
            {
                if (!Enum.IsDefined(typeof(Accessibilty), accessibilty))
                {
                    throw new BadRequestException("Accessibilty not correct");
                }
                var playlist = unitOfWork.PlaylistRepository.GetOne(s => s.Id == id);
                if (playlist == null)
                {
                    throw new BadRequestException("playlist with specified id does not exist");
                }
                playlist.Accessibilty = accessibilty;

                var notification = _notificationService.CreateNotification(Notifications.ChangedPlaylistAccessebilty, playlist.Creator, recentlyPlaylist: playlist);

                playlist.Notifications.Add(notification);
                unitOfWork.NotificationRepository.AddItem(notification);

                unitOfWork.Commit();
            }
        }