Exemplo n.º 1
0
        public async Task <ActionResult> Cadastrar([FromForm] IFormCollection files)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var parametros = Request.Form.ToDictionary(x => x.Key, x => x.Value);
                var arquivos   = Request.Form.Files;

                var user = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value;

                var videoViewModel = await _fileService.FormFileToFileViewModel(arquivos.GetFile("Video"));

                var imageViewModel = await _fileService.FormFileToFileViewModel(arquivos.GetFile("Imagem"));

                var video = new Video(
                    parametros["Nome"],
                    parametros["Sinopse"],
                    parametros["Categoria"],
                    videoViewModel.Base64,
                    parametros["ContentTypeVideo"],
                    imageViewModel.Base64,
                    parametros["ContentTypeImagem"]);

                video.UsuarioId = new Guid(user);

                await _videoRepository.CadastrarVideo(video);

                return(Ok(new { Mensagem = "Video cadastrado com sucesso!" }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { Mensagem = ex.Message }));
            }
        }