예제 #1
0
        public ActionResult Delete(MercadoriaViewModel mercadoriaViewModel)
        {
            _RepositoryMercadoria.Delete(_RepositoryMercadoria.GetbyId(mercadoriaViewModel.Id));
            var lista = Mapper.Map <List <Mercadoria>, List <MercadoriaViewModel> >(_RepositoryMercadoria.List());

            return(View("Index", lista));
        }
예제 #2
0
        public ActionResult Atualizar([Bind(Include = "Id, Descricao, Status")] MercadoriaViewModel viewModel, int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var mercadoria = _mercadoriaRepositorio.ObterMercadoriaPorId(id.Value);

            if (mercadoria == null)
            {
                RegistroNaoEncontrado();
            }

            mercadoria.Alterar(new Mercadoria(
                                   viewModel.Descricao,
                                   viewModel.Status));

            if (Validar(mercadoria))
            {
                _mercadoriaRepositorio.Atualizar(mercadoria);
                TempData["Sucesso"] = true;

                GravarLogAuditoria(TipoLogAuditoria.UPDATE, mercadoria);
            }

            return(View(viewModel));
        }
예제 #3
0
        public ActionResult Adicionar()
        {
            ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos());
            MercadoriaViewModel mercadoriaViewModel = new MercadoriaViewModel();

            return(View(mercadoriaViewModel));
        }
예제 #4
0
        public ActionResult Edit(MercadoriaViewModel mercadoriaViewModel)
        {
            var context = _RepositoryMercadoria.Context();
            var entity  = Mapper.Map <Mercadoria>(mercadoriaViewModel);

            context.Set <Mercadoria>().Attach(entity); // (or context.Entity.Attach(entity);)
            context.Entry <Mercadoria>(entity).State = EntityState.Modified;
            context.SaveChanges();

            var lista = Mapper.Map <List <Mercadoria>, List <MercadoriaViewModel> >(_RepositoryMercadoria.List());

            return(View("Index", lista));
        }
예제 #5
0
        public ActionResult Cadastrar([Bind(Include = "Descricao, Status")] MercadoriaViewModel viewModel)
        {
            var mercadoria = new Mercadoria(viewModel.Descricao, viewModel.Status);

            if (Validar(mercadoria))
            {
                mercadoria.Id       = _mercadoriaRepositorio.Cadastrar(mercadoria);
                TempData["Sucesso"] = true;

                GravarLogAuditoria(TipoLogAuditoria.INSERT, mercadoria);
            }

            return(View(viewModel));
        }
예제 #6
0
 public ActionResult Create(MercadoriaViewModel mercadoriaViewModel)
 {
     //Criando mercadoria
     ModelState.Remove("Id");
     if (ModelState.IsValid)
     {
         _RepositoryMercadoria.Add(Mapper.Map <MercadoriaViewModel, Mercadoria>(mercadoriaViewModel));
         var lista = Mapper.Map <List <Mercadoria>, List <MercadoriaViewModel> >(_RepositoryMercadoria.List());
         return(View("Index", lista));
     }
     else
     {
         return(View());
     }
 }
예제 #7
0
        public ActionResult Produto(MercadoriaViewModel mercadoriaViewModel, FormCollection form)
        {
            var mercadoria     = repositorioDeMercadorias.Obter(mercadoriaViewModel.Id);
            var merViewModel   = Mapper.Map <Mercadoria, MercadoriaViewModel>(mercadoria);
            var tamDisponiveis = merViewModel.TamanhosDisponiveis();


            if ((tamDisponiveis.Count > 1) && (form["TamanhoEscolhido"] == "nenhum"))
            {
                ViewBag.FalhouTamanho = true;
                ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos());
                return(View(merViewModel));
            }

            var tamanhoEscolhido = string.Empty;

            if (tamDisponiveis.Count == 1)
            {
                tamanhoEscolhido = tamDisponiveis[0];
            }
            else
            {
                for (int i = 0; i < tamDisponiveis.Count; i++)
                {
                    var tam = "tamanho" + i;
                    if (tam != form["TamanhoEscolhido"])
                    {
                        continue;
                    }
                    tamanhoEscolhido = tamDisponiveis[i];
                    break;
                }
            }

            var produto = mercadoria.Produtos.FirstOrDefault(prod => prod.Tamanho == tamanhoEscolhido);

            return(RedirectToAction("AdicionarProduto", "Carrinho", produto));
        }
예제 #8
0
        public ActionResult Atualizar(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var mercadoria = _mercadoriaRepositorio.ObterMercadoriaPorId(id.Value);

            if (mercadoria == null)
            {
                RegistroNaoEncontrado();
            }

            var viewModel = new MercadoriaViewModel
            {
                Id        = mercadoria.Id,
                Descricao = mercadoria.Descricao,
                Status    = mercadoria.Status
            };

            return(View(viewModel));
        }
예제 #9
0
 protected override void OnAppearing()
 {
     vmMercadoria   = new MercadoriaViewModel();
     BindingContext = vmMercadoria;
     base.OnAppearing();
 }
예제 #10
0
 public MainPage()
 {
     vmMercadoria   = new MercadoriaViewModel();
     BindingContext = vmMercadoria;
     InitializeComponent();
 }
 protected override List <Foto> ResolveCore(MercadoriaViewModel mercadoria)
 {
     return(FabricaDeImagem.Instancia().CriarFotos(mercadoria.Imagens));
 }
예제 #12
0
 public MercadoriaWindow()
 {
     vmMercadoria = new MercadoriaViewModel();
     InitializeComponent();
     this.DataContext = vmMercadoria;
 }
 public CadMercadoriaWindow()
 {
     InitializeComponent();
     this.MercadoriaViewModel = new MercadoriaViewModel();
     DataContext = this.MercadoriaViewModel;
 }
예제 #14
0
        public ActionResult Adicionar(MercadoriaViewModel mercadoriaViewModel, FormCollection form,
                                      HttpPostedFileBase file)
        {
            if (form[MercadoriasViewModel.CategoriasSelecionadas] != null)
            {
                var ids = form[MercadoriasViewModel.CategoriasSelecionadas].Split(',');
                mercadoriaViewModel.Categorias = new List <Categoria>();

                foreach (var id in ids)
                {
                    mercadoriaViewModel.Categorias.Add(repositorioDeCategorias.Obter(Guid.Parse(id)));
                }
            }

            if (mercadoriaViewModel.QuantidadeDeTamanhos != null)
            {
                mercadoriaViewModel.Tamanhos = new List <KeyValuePair <string, string> >((int)mercadoriaViewModel.QuantidadeDeTamanhos);
                for (int i = 0; i < mercadoriaViewModel.QuantidadeDeTamanhos; i++)
                {
                    if ((form["tamanho" + (i + 1)] != null) && (form["quantidadeTamanho" + (i + 1)] != null))
                    {
                        mercadoriaViewModel.Tamanhos.Add(new KeyValuePair <string, string>(form["tamanho" + (i + 1)],
                                                                                           form["quantidadeTamanho" + (i + 1)
                                                                                           ]));
                    }
                }
            }

            mercadoriaViewModel.Arquivos = new List <HttpPostedFileWrapper>();
            for (int i = 0; i < Request.Files.Count; i++)
            {
                var imagem = Request.Files[i] as HttpPostedFileWrapper;
                if ((imagem != null) && (imagem.ContentLength > 0))
                {
                    mercadoriaViewModel.Arquivos.Add(imagem);
                }
            }

            mercadoriaViewModel.Imagens.AddRange(FabricaDeImagem.Instancia().CriarImagens(mercadoriaViewModel.Arquivos));

            for (int i = 0; i < MercadoriasViewModel.NumeroDeFotosPermitidas; i++)
            {
                var imagem         = "imagem" + i;
                var nomeImagem     = imagem + "Nome";
                var conteudoImagem = imagem + "Conteudo";
                var tamanhoImagem  = imagem + "Tamanho";
                var formatoImagem  = imagem + "Formato";

                if ((form[imagem] != null) && (form[imagem] != string.Empty))
                {
                    mercadoriaViewModel.Imagens.Add(FabricaDeImagem.Instancia().CriarImagem(form[nomeImagem],
                                                                                            form[formatoImagem],
                                                                                            form[conteudoImagem],
                                                                                            form[tamanhoImagem]));
                }
            }

            if ((mercadoriaViewModel.Categorias == null) || (mercadoriaViewModel.Categorias.Count == 0))
            {
                ModelState.AddModelError("Cat", "* É necessário selecionar pelo menos uma Categoria.");
            }

            if ((mercadoriaViewModel.Cores == null) || (mercadoriaViewModel.Cores.Count == 0))
            {
                ModelState.AddModelError("Cor", "* É necessário selecionar pelo menos uma Cor.");
            }

            foreach (var tamanho in mercadoriaViewModel.Tamanhos)
            {
                int quantidade;

                try
                {
                    quantidade = Convert.ToInt32(tamanho.Value);
                }
                catch
                {
                    ModelState.AddModelError("Tamanho",
                                             "* A quantidade especificada para o tamanho " + tamanho.Key +
                                             " é inválida.");
                    continue;
                }

                if (quantidade < 0)
                {
                    ModelState.AddModelError("Tamanho", "* A quantidade especificada para o tamanho " + tamanho.Key + " deve ser maior que zero.");
                }
            }

            if (mercadoriaViewModel.Imagens.Count == 0)
            {
                ModelState.AddModelError("Foto", "* É necessário carregar pelo menos uma Foto.");
            }

            if (!ModelState.IsValid)
            {
                ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos());
                return(View(mercadoriaViewModel));
            }

            var mercadoria = Mapper.Map <MercadoriaViewModel, Mercadoria>(mercadoriaViewModel);

            FabricaDeMercadoria.Instancia()
            .CriarMercadoria(mercadoria, mercadoriaViewModel.Tamanhos, mercadoriaViewModel.Arquivos);

            bool adicionado = false;

            for (int i = 0; i < mercadoriaViewModel.Categorias.Count; i++)
            {
                var categoria = repositorioDeCategorias.Obter(mercadoriaViewModel.Categorias[i].Id);
                categoria.AdicionarMercadoria(mercadoria);
                if (repositorioDeCategorias.Editar(categoria))
                {
                    adicionado = true;
                }
                else
                {
                    adicionado = false;
                    break;
                }
            }

            if (adicionado)
            {
                return(RedirectToAction("Listar"));
            }

            ViewBag.Errou    = true;
            ViewBag.Mensagem = "Não foi possível cadastrar a Mercadoria. Por favor informe ao administrador do sistema.";
            ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos());
            return(View(mercadoriaViewModel));
        }