Exemplo n.º 1
0
        public async Task <CustomResponse <ArtistaViewModel> > PostArtistaAsync(ArtistaViewModel artistaViewModel)
        {
            var artista = JsonSerializer.Serialize(artistaViewModel, JsonSerializerOptions);

            var conteudo = new StringContent(artista, Encoding.UTF8, "application/json");
            var resposta = await _httpClient.PostAsync("", conteudo);

            var json = await resposta.Content.ReadAsStringAsync();

            return(JsonSerializer.Deserialize <CustomResponse <ArtistaViewModel> >(json, JsonSerializerOptions));
        }
        public async Task <ActionResult <ArtistaViewModel> > Add(ArtistaViewModel artistaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _artistaService.Adicionar(_mapper.Map <Artista>(artistaViewModel));

            return(CustomResponse(artistaViewModel));
        }
Exemplo n.º 3
0
        public async Task <ArtistaViewModel> Remover(Guid id)
        {
            var artista  = new ArtistaViewModel();
            var response = await _httpClient.DeleteAsync($"artistas/{id}");

            if (!TratarErrosResponse(response))
            {
                artista.ResponseResult = await DeserializarResponse <ResponseResult>(response);
            }

            return(artista);
        }
        public async Task <IActionResult> Adicionar(ArtistaViewModel artistaViewModel)
        {
            await _artistaService.Adicionar(_mapper.Map <Artista>(artistaViewModel));

            await Commit(_artistaRepository);

            if (!OperacaoValida())
            {
                return(CustomBadRequest());
            }

            return(CreatedAtRoute("ArtistaPorId", new { id = artistaViewModel.Id }, artistaViewModel));
        }
Exemplo n.º 5
0
        // GET: Artistas
        public async Task <IActionResult> Index()
        {
            IEnumerable <Artista> lista = await _repository.FindAll();

            var lista_vm = new List <ArtistaViewModel>();

            foreach (Artista a in lista)
            {
                var vm = new ArtistaViewModel(a);
                lista_vm.Add(vm);
            }
            return(View(lista_vm));
        }
        public async Task <IEnumerable <ArtistaViewModel> > GetArtistas()
        {
            IEnumerable <Artista> lista = await _repository.FindAll();

            var lista_vm = new List <ArtistaViewModel>();

            foreach (var artista in lista)
            {
                var vm = new ArtistaViewModel(artista);
                lista_vm.Add(vm);
            }
            return(lista_vm);
        }
Exemplo n.º 7
0
        public async Task <ArtistaViewModel> Atualizar(Guid id, ArtistaViewModel artistaViewModel)
        {
            var artista        = new ArtistaViewModel();
            var artistaContent = ObterConteudo(artistaViewModel);

            var response = await _httpClient.PutAsync($"artistas/{id}", artistaContent);

            if (!TratarErrosResponse(response))
            {
                artista.ResponseResult = await DeserializarResponse <ResponseResult>(response);
            }

            return(artista);
        }
Exemplo n.º 8
0
        public ActionResult Create(ArtistaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var artistaCrear = new Artista(viewModel, db);
                new Repositorio <Artista>(db).Crear(artistaCrear);

                return(RedirectToAction("Index"));
            }

            viewModel.RegenerarVista(db);

            return(View(viewModel));
        }
Exemplo n.º 9
0
        public async Task <ArtistaViewModel> Adicionar(ArtistaViewModel artistaViewModel)
        {
            var artistaContent = ObterConteudo(artistaViewModel);

            var response = await _httpClient.PostAsync("artistas", artistaContent);

            if (!TratarErrosResponse(response))
            {
                return(new ArtistaViewModel
                {
                    ResponseResult = await DeserializarResponse <ResponseResult>(response)
                });
            }

            return(await DeserializarResponse <ArtistaViewModel>(response));
        }
Exemplo n.º 10
0
        public ActionResult Edit(ArtistaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Artista artista = new Repositorio <Artista>(db).Traer(viewModel.Id);

                artista.Modificar(viewModel, db);
                new Repositorio <Artista>(db).Modificar(artista);

                return(RedirectToAction("Index"));
            }

            viewModel.RegenerarVista(db);

            return(View(viewModel));
        }
        public async Task <IActionResult> Atualizar(Guid id, ArtistaViewModel artistaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(artistaViewModel));
            }

            var artistaResponse = await _artistaService.Atualizar(id, artistaViewModel);

            if (ResponsePossuiErros(artistaResponse.ResponseResult))
            {
                return(View(artistaResponse));
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 12
0
        // GET: Artistas/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var artista = await _repository.Get(id.Value);

            if (artista == null)
            {
                return(NotFound());
            }
            var vm = new ArtistaViewModel(artista);

            return(View(vm));
        }
        public async Task <IActionResult> Novo(ArtistaViewModel artistaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(artistaViewModel));
            }

            var resposta = await _artistaApiClient.PostArtistaAsync(artistaViewModel);

            if (resposta.Errors != null)
            {
                ModelState.AddModelError("Erro", resposta.Errors.FirstOrDefault());
                return(View(artistaViewModel));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 14
0
        public async Task <ActionResult <ArtistaViewModel> > Update(int id, ArtistaViewModel artistaViewModel)
        {
            if (id != artistaViewModel.ArtistaId)
            {
                NotifyError("O id informado não é o mesmo que foi informado na query");
                return(CustomResponse(artistaViewModel));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _artistaService.Atualizar(_mapper.Map <Artista>(artistaViewModel));

            return(CustomResponse(artistaViewModel));
        }
        public async Task <IActionResult> GetArtista([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Artista artista = await _repository.Get(id);

            ArtistaViewModel vm = new ArtistaViewModel(artista);

            if (artista == null)
            {
                return(NotFound());
            }

            return(Ok(vm));
        }
        public async Task <IActionResult> Atualizar(Guid id, ArtistaViewModel artistaViewModel)
        {
            if (id != artistaViewModel.Id)
            {
                return(BadRequest());
            }

            await _artistaService.Atualizar(_mapper.Map <Artista>(artistaViewModel));

            await Commit(_artistaRepository);

            if (!OperacaoValida())
            {
                return(CustomBadRequest());
            }

            return(NoContent());
        }
Exemplo n.º 17
0
        // GET: Artistas/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var artista = await _repository.Get(id.Value);

            if (artista == null)
            {
                return(NotFound());
            }
            ArtistaViewModel vm = new ArtistaViewModel(artista);

            ViewBag.FilePath = vm.ImagemPath;
            ViewBag.Alt      = vm.Nome;
            return(View(vm));
        }
Exemplo n.º 18
0
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Artista artistaModificar = new Repositorio <Artista>(db).Traer(id.Value);

            if (artistaModificar == null)
            {
                return(HttpNotFound());
            }

            var artistaViewModel = new ArtistaViewModel(artistaModificar, db);

            artistaViewModel.RegenerarVista(db);

            return(View(artistaViewModel));
        }
Exemplo n.º 19
0
        public async Task <IActionResult> Create([Bind("Id,Biografia,DataAtuacao,FacebookUrl,Nome,Palco,SpotifyUrl,TwitterUrl,FilePath")] ArtistaViewModel vm, IFormFile Imagem)
        {
            Artista new_artista = new Artista();

            if (ModelState.IsValid && Imagem != null && Imagem.Length > 0 && FilesHelper.VerifyFileSize(Imagem) && FilesHelper.VerifyFileExtension(Imagem.FileName))
            {
                var upload = Path.Combine(_env.WebRootPath, "imagens", "artistas");

                // guardar imagem
                using (var fileStream = new FileStream(Path.Combine(upload, Imagem.FileName), FileMode.Create))
                {
                    await Imagem.CopyToAsync(fileStream);
                }
                // guardar imagem thumbnail
                var thumbnail = Path.GetFileNameWithoutExtension(Path.Combine(upload, Imagem.FileName));
                thumbnail += "_tb";
                using (var stream = new FileStream(Path.Combine(upload, Imagem.FileName), FileMode.Open))
                    using (var output = new FileStream(Path.Combine(upload, thumbnail + ".jpg"), FileMode.OpenOrCreate))
                    {
                        Image image = new Image(stream);
                        image.Resize(image.Width / 2, image.Height / 2)
                        .Save(output);
                    }

                new_artista.Nome        = vm.Nome;
                new_artista.Biografia   = vm.Biografia;
                new_artista.DataAtuacao = DateTime.Parse(vm.DataAtuacao);
                new_artista.FacebookUrl = vm.FacebookUrl;
                new_artista.TwitterUrl  = vm.TwitterUrl;
                new_artista.SpotifyUrl  = vm.SpotifyUrl;
                new_artista.Palco       = vm.Palco;
                new_artista.ImagemPath  = "\\imagens\\artistas\\" + Imagem.FileName;
                new_artista.ImagemUrl   = HttpContext.Request.Host.Host + "/imagens/artistas/" + Imagem.FileName;
                await _repository.Save(new_artista);

                return(RedirectToAction("Index"));
            }
            return(View(vm));
        }
        public async Task <IActionResult> Editar(int id, ArtistaViewModel artistaViewModel)
        {
            if (id != artistaViewModel.ArtistaId)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(artistaViewModel));
            }

            var resposta = await _artistaApiClient.PutArtistaAsync(id, artistaViewModel);

            if (resposta.Errors != null)
            {
                ModelState.AddModelError("Erro", resposta.Errors.FirstOrDefault());
                return(View(artistaViewModel));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 21
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Biografia,DataAtuacao,FacebookUrl,Nome,Palco,SpotifyUrl,TwitterUrl,ImagemPath,ImagemUrl")] ArtistaViewModel vm, IFormFile Imagem)
        {
            if (id != vm.Id)
            {
                return(NotFound());
            }
            Artista artista = await _repository.Get(id);

            if (ModelState.IsValid)
            {
                try
                {
                    // editar imagem
                    if (Imagem != null && Imagem.Length > 0 && FilesHelper.VerifyFileSize(Imagem) && FilesHelper.VerifyFileExtension(Imagem.FileName))
                    {
                        var upload = Path.Combine(_env.WebRootPath, "imagens", "artistas");

                        // guardar imagem tamanho normal
                        using (var fileStream = new FileStream(Path.Combine(upload, Imagem.FileName), FileMode.Create))
                        {
                            await Imagem.CopyToAsync(fileStream);
                        }
                        // guardar imagem thumbnail
                        var thumbnail = Path.GetFileNameWithoutExtension(Path.Combine(upload, Imagem.FileName));
                        thumbnail += "_tb";
                        using (var stream = new FileStream(Path.Combine(upload, Imagem.FileName), FileMode.Open))
                            using (var output = new FileStream(Path.Combine(upload, thumbnail + ".jpg"), FileMode.OpenOrCreate))
                            {
                                Image image = new Image(stream);
                                image.Resize(image.Width / 2, image.Height / 2)
                                .Save(output);
                            }

                        // apagar imagem antiga
                        var path    = _env.WebRootPath + vm.ImagemPath;
                        var tb_path = _env.WebRootPath + "\\imagens\\artistas\\" + Path.GetFileNameWithoutExtension(artista.ImagemPath);
                        tb_path += "_tb.jpg";
                        if (System.IO.File.Exists(path) && System.IO.File.Exists(tb_path))
                        {
                            System.IO.File.Delete(path);
                            System.IO.File.Delete(tb_path);
                        }
                        artista.ImagemPath = "\\imagens\\artistas\\" + Imagem.FileName;
                        artista.ImagemUrl  = HttpContext.Request.ToString() + "/imagens/artistas/" + Imagem.FileName;
                    }

                    artista.Nome        = vm.Nome;
                    artista.Biografia   = vm.Biografia;
                    artista.DataAtuacao = DateTime.Parse(vm.DataAtuacao);
                    artista.FacebookUrl = vm.FacebookUrl;
                    artista.TwitterUrl  = vm.TwitterUrl;
                    artista.SpotifyUrl  = vm.SpotifyUrl;
                    artista.Palco       = vm.Palco;

                    await _repository.Update(artista);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ArtistaExists(artista.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(vm));
        }
Exemplo n.º 22
0
 public Artista(ArtistaViewModel viewModel, ApplicationDbContext db) : base(viewModel, db)
 {
     Bandas = new List <Banda>();
 }
Exemplo n.º 23
0
        internal void Modificar(ArtistaViewModel viewModel, ApplicationDbContext db)
        {
            ModificarArchivos(viewModel.ArchivosId, db);

            Nombre = viewModel.Nombre;
        }
Exemplo n.º 24
0
 public ArtistaBase(ArtistaViewModel viewModel, ApplicationDbContext db)
 {
     Modificar(viewModel, db);
 }