public async Task <IActionResult> AdicionarBancada(ModeloBancadaViewModel bancadaViewModel, Guid id)
        {
            var modeloBancada = _mapper.Map <ModeloBancadaViewModel>(await _contexto.ObterPorId(id));


            bancadaViewModel.Metodo = modeloBancada.Metodo;
            //var pecas = _mapper.Map<List<Peca>>(bancadaViewModel.Pecas);


            Bancada bancada = new Bancada
            {
                Metodo  = modeloBancada.Metodo,
                Frontao = bancadaViewModel.Frontao,
                Saia    = bancadaViewModel.Saia,
                //Pecas = _mapper.Map<List<Peca>>(bancadaViewModel.Pecas),
                QuantidadePecas = bancadaViewModel.QuantidadePecas
            };

            bancada.Pecas = new List <Peca>();
            foreach (var p in bancadaViewModel.Pecas)
            {
                bancada.Pecas.Add(new Peca()
                {
                    LarguraPeca = p.LarguraPeca, ComprimentoPeca = p.ComprimentoPeca
                });
            }

            _bancadaService.DefinirTipoBancada("Reta", bancada);

            //if (!OperacaoValida()) return PartialView("_AtualizarEndereco", clienteViewModel);


            return(Json(bancadaViewModel));
        }
        public async Task <IActionResult> Create(ModeloBancadaViewModel modeloViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(modeloViewModel));
            }

            //Criação vai ser pela classe de serviço.
            var modelo = _mapper.Map <ModeloBancada>(modeloViewModel);

            var imgPrefixo = Guid.NewGuid() + "_";

            if (!await UploadArquivo(modeloViewModel.ImagemUpload, imgPrefixo))
            {
                return(View(modeloViewModel));
            }

            modelo.Imagem     = imgPrefixo + modeloViewModel.ImagemUpload.FileName;
            modelo.Categoria += 1;
            await _modeloBancadaService.Adicionar(modelo);

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Edit(Guid id, [Bind("Id,Categoria,Frontao,Saia,Metodo,Imagem,QuantidadePecas,MetroQuadrado")] ModeloBancadaViewModel modeloViewModel)
        {
            if (id != modeloViewModel.Id)
            {
                return(NotFound());
            }

            var modeloAtualizacao = await _contexto.ObterPorId(id);

            modeloViewModel.Imagem = modeloAtualizacao.Imagem;
            if (!ModelState.IsValid)
            {
                return(View(modeloViewModel));
            }

            if (modeloViewModel.ImagemUpload != null)
            {
                var imgPrefixo = Guid.NewGuid() + "_";
                if (!await UploadArquivo(modeloViewModel.ImagemUpload, imgPrefixo))
                {
                    return(View(modeloViewModel));
                }

                modeloAtualizacao.Imagem = imgPrefixo + modeloViewModel.ImagemUpload.FileName;
            }


            modeloAtualizacao.QuantidadePecas = modeloViewModel.QuantidadePecas;



            await _contexto.Atualizar(_mapper.Map <ModeloBancada>(modeloAtualizacao));


            return(RedirectToAction("Index"));
        }