Exemplo n.º 1
0
        public AdicionarVideoResponse AdicionarVideo(AdicionarVideoRequest request, Guid idUser)
        {
            if (request == null)
            {
                AddNotification("AdicionarVideoRequest", MSG.OBJETO_X0_E_OBRIGATORIO.ToFormat("AdicionarVideoRequest"));
                return(null);
            }

            var user = _repositoryUser.Obter(idUser);

            if (user == null)
            {
                AddNotification("User", MSG.X0_NAO_INFORMADO.ToFormat("Usuário"));
                return(null);
            }

            var canal = _repositoryCanal.Obter(request.IdCanal);

            if (canal == null)
            {
                AddNotification("Canal", MSG.X0_NAO_INFORMADO.ToFormat("Canal"));
                return(null);
            }

            Playlist playList = null;

            if (request.IdPlayList != Guid.Empty)
            {
                playList = _repositoryPlayList.Obter(request.IdPlayList);
                if (playList == null)
                {
                    AddNotification("PlayList", MSG.X0_NAO_INFORMADA.ToFormat("PlayList"));
                    return(null);
                }
            }

            var video = new Video(canal, playList, request.Titulo, request.Descricao, request.Tags, request.OrdemNaPlayList, request.IdVideoYouTube, user);

            AddNotifications(video);

            if (this.IsInvalid())
            {
                return(null);
            }

            _repositoryVideo.AddVideo(video);

            return(new AdicionarVideoResponse(video.Id));
        }