Exemplo n.º 1
0
        public ActionResult NovaOrdem(OrdemViewModels ordemViewModels)
        {
            ordemViewModels = Session["OrdemViewModels"] as OrdemViewModels;

            var cliente = new Customizar {
                Nome = "Selecione um cliente"
            };
            var clientes = new List <Customizar>();

            clientes.Add(cliente);
            clientes.AddRange(db.Customizars.ToList().OrderBy(x => x.NomeCompleto));
            ViewBag.Clientes = new SelectList(clientes, "CustomizarId", "NomeCompleto");

            if (Request["Clientes"] == null)
            {
                ViewBag.Error = "É necessário adicionar um produto";
                return(View());
            }

            var clienteId = int.Parse(Request["Clientes"]);

            if (clienteId == 0)
            {
                ViewBag.Error = "Selecione um cliente";
                return(View(ordemViewModels));
            }

            //if(ordemViewModels.ProdutosOrdem.Count == 0)
            //{
            //    ViewBag.Clientes = new SelectList(clientes, "CustomizarId", "NomeCompleto", clienteId);

            //    ViewBag.Error = "É necessário adicionar um produto";
            //    return View();
            //}

            var ordemId = 0;

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var novaOrdem = new Ordem
                    {
                        DataOrdem    = DateTime.Now,
                        CustomizarId = clienteId,
                        OrdemStatus  = OrdemStatus.Criada
                    };

                    db.Ordem.Add(novaOrdem);
                    db.SaveChanges();

                    ordemId = db.Ordem.Select(x => x.OrdemId).Max();

                    if (ordemId > 0)
                    {
                        foreach (var item in ordemViewModels.ProdutosOrdem)
                        {
                            var novaOrdemDetalhe = new OrdemDetalhe
                            {
                                OrdemId    = ordemId,
                                ProdutoId  = item.ProdutoId,
                                Descricao  = item.Descricao,
                                Preco      = item.Preco,
                                Quantidade = item.Quantidade,
                            };

                            db.OrdemDetalhe.Add(novaOrdemDetalhe);
                            db.SaveChanges();
                        }
                    }

                    transaction.Commit();
                    ViewBag.Error = string.Format("Ordem N°:{0}, criada com sucesso! ", ordemId);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    ViewBag.Error = "Falha ao criar a Ordem. " + ex.Message;
                }
            }

            return(View(ordemViewModels));
        }
Exemplo n.º 2
0
        public ActionResult NovaOrdem(OrdemView ordemView)
        {
            ordemView = Session["ordemView"] as OrdemView;
            var customizarId = int.Parse(Request["CustomizarId"]);

            if (customizarId == 0)
            {
                var lista = db.Customizars.ToList();
                lista.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione...]"
                });
                lista = lista.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(lista, "CustomizarId", "NomeCompleto");

                //Tratamento de erro
                ViewBag.Error = "Selecione um Cliente.";

                return(View(ordemView));
            }

            var cliente = db.Produtoes.Find(customizarId);

            if (cliente == null)
            {
                var lista = db.Customizars.ToList();
                lista.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione...]"
                });
                lista = lista.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(lista, "CustomizarId", "NomeCompleto");

                //Tratamento de erro
                ViewBag.Error = "O cliente não existe.";

                return(View(ordemView));
            }

            if (ordemView.Produtos.Count == 0)
            {
                var lista = db.Customizars.ToList();
                lista.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione...]"
                });
                lista = lista.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(lista, "CustomizarId", "NomeCompleto");

                return(View(ordemView));
            }

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    //Salvando uma ordem
                    var ordem = new Ordem
                    {
                        CustomizarId = customizarId,
                        OrdemData    = DateTime.Now,
                        OrdemStatus  = OrdemStatus.Criada
                    };

                    db.Ordem.Add(ordem);
                    db.SaveChanges();

                    //Salvando ordem detalhes
                    var ordemId = db.Ordem.ToList().Select(o => o.OrdemId).Max();

                    foreach (var item in ordemView.Produtos)
                    {
                        var ordemDetalhes = new OrdemDetalhe
                        {
                            ProdutoId  = item.ProdutoId,
                            OrdemId    = ordemId,
                            Descricao  = item.Descricao,
                            Preco      = item.Preco,
                            Quantidade = item.Quantidade
                        };

                        db.OrdemDetalhe.Add(ordemDetalhes);
                        db.SaveChanges();
                    }

                    //Commit para acetiar a transação
                    transaction.Commit();
                    ViewBag.Sucesso = string.Format("Ordem: {0}, foi salva com sucesso.", ordemId);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    ViewBag.Erro = "Erro " + ex.ToString();
                }
            }



            var lista2 = db.Customizars.ToList();

            lista2.Add(new Customizar {
                CustomizarId = 0, Nome = "[Selecione...]"
            });
            lista2 = lista2.OrderBy(c => c.NomeCompleto).ToList();
            ViewBag.CustomizarId = new SelectList(lista2, "CustomizarId", "NomeCompleto");

            ordemView            = new OrdemView();
            ordemView.Customizar = new Customizar();
            ordemView.Produtos   = new List <ProdutoOrdem>();
            Session["ordemView"] = ordemView;

            return(View());
        }
Exemplo n.º 3
0
        public ActionResult NovaOrdem(OrdemView ordemView)
        {
            ordemView = Session["ordemView"] as OrdemView;
            var customizarId = int.Parse(Request["CustomizarId"]);
            var list         = db.Customizars.ToList();

            if (customizarId == 0)
            {
                list = db.Customizars.ToList();
                list.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione um Cliente]"
                });
                list = list.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(list, "CustomizarId", "NomeCompleto");
                ViewBag.Error        = "Selecione um cliente";



                return(View(ordemView));
            }

            var cliente = db.Customizars.Find(customizarId);

            if (cliente == null)
            {
                list = db.Customizars.ToList();
                list.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione um Cliente]"
                });
                list = list.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(list, "CustomizarId", "NomeCompleto");
                ViewBag.Error        = "Selecione um cliente";

                return(View(ordemView));
            }

            if (ordemView.Produtos.Count == 0)
            {
                list = db.Customizars.ToList();
                list.Add(new Customizar {
                    CustomizarId = 0, Nome = "[Selecione um Cliente]"
                });
                list = list.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.CustomizarId = new SelectList(list, "CustomizarId", "NomeCompleto");
                ViewBag.Error        = "Selecione um Produto";
                return(View(ordemView));
            }

            int ordemId = 0;

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var ordem = new Ordem
                    {
                        CustomizarId = customizarId,
                        OrdemData    = DateTime.Now,
                        OrdemStatus  = OrdemStatus.Criada
                    };

                    db.Ordem.Add(ordem);
                    db.SaveChanges();

                    ordemId = db.Ordem.ToList().Select(o => o.OrdemId).Max();
                    foreach (var item in ordemView.Produtos)
                    {
                        var ordemDetalhes = new OrdemDetalhe
                        {
                            ProdutoId  = item.ProdutoId,
                            Descricao  = item.Descricao,
                            Quantidade = item.Quantidade,
                            Preco      = item.Preco,
                            OrdemId    = ordemId
                        };
                        db.OrdemDetalhe.Add(ordemDetalhes);
                        db.SaveChanges();
                    }
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    ViewBag.Error = "Error" + ex.Message;
                    return(View(ordemView));
                }
            }
            ViewBag.Mensagem = string.Format("Ordem: {0}, foi salva com sucesso", ordemId);


            list = db.Customizars.ToList();
            list.Add(new Customizar {
                CustomizarId = 0, Nome = "[Selecione um Cliente]"
            });
            list = list.OrderBy(c => c.NomeCompleto).ToList();
            ViewBag.CustomizarId = new SelectList(list, "CustomizarId", "NomeCompleto");
            ViewBag.Error        = "Selecione um cliente";

            ordemView            = new OrdemView();
            ordemView.Customizar = new Customizar();
            ordemView.Produtos   = new List <ProdutoOrdem>();
            Session["ordemView"] = ordemView;

            return(View(ordemView));
        }
Exemplo n.º 4
0
        public ActionResult NovaOrdem(OrdemView ordemView)
        {
            ordemView = Session["OrdemView"] as OrdemView;
            var IDCustomizar = int.Parse(Request["IDCustomizar"]);
            var List         = db.Customizars.ToList();

            if (IDCustomizar == 0)
            {
                List.Add(new Customizar {
                    IDCustomizar = 0, Nome = "[Selecione um Cliente]"
                });
                List = List.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.IDCustomizar = new SelectList(List, "CustomizarID", "NomeCompleto");
                ViewBag.Error        = "Selecione um Cliente";

                return(View(ordemView));
            }

            var Cliente = db.Customizars.Find(IDCustomizar);

            if (Cliente == null)
            {
                List.Add(new Customizar {
                    IDCustomizar = 0, Nome = "[Selecione um Cliente]"
                });
                List = List.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.IDCustomizar = new SelectList(List, "CustomizarID", "NomeCompleto");
                ViewBag.Error        = "Não existe o Cliente Selecionado";

                return(View(ordemView));
            }

            if (ordemView.Produtos.Count == 0)
            {
                List.Add(new Customizar {
                    IDCustomizar = 0, Nome = "[Selecione um Cliente]"
                });
                List = List.OrderBy(c => c.NomeCompleto).ToList();
                ViewBag.IDCustomizar = new SelectList(List, "CustomizarID", "NomeCompleto");
                ViewBag.Error        = "Selecione um Produto";

                return(View(ordemView));
            }

            var ordem = new Ordem
            {
                IDCustomizar = IDCustomizar,
                OrdemData    = DateTime.Now,
                OrdemStatus  = OrdemStatus.Criada
            };

            db.Ordem.Add(ordem);
            db.SaveChanges();

            var ordemID = db.Ordem.ToList().Select(o => o.IDOrdem).Max();

            foreach (var item in ordemView.Produtos)
            {
                var ordemDetalhe = new OrdemDetalhe
                {
                    IDProduto  = item.IDProduto,
                    Descricao  = item.Descricao,
                    Quantidade = item.Quantidade,
                    Preco      = item.Preco,
                    IDOrdem    = ordemID
                };

                db.OrdemDetalhe.Add(ordemDetalhe);
                db.SaveChanges();
            }

            ViewBag.Mensagem = string.Format("Ordem: {0}, Salva com Sucesso!", ordemID);

            List.Add(new Customizar {
                IDCustomizar = 0, Nome = "[Selecione um Cliente]"
            });
            List = List.OrderBy(c => c.NomeCompleto).ToList();
            ViewBag.IDCustomizar = new SelectList(List, "CustomizarID", "NomeCompleto");

            ordemView            = new OrdemView();
            ordemView.Customizar = new Customizar();
            ordemView.Produtos   = new List <ProdutoOrdem>();

            Session["OrdemView"] = ordemView;

            return(View());
        }