Esempio n. 1
0
        /// <summary>
        ///A test for Insert
        ///</summary>
        //[TestMethod()]
        public void InsertTest()
        {
            PedidoRepository target = new PedidoRepository();
            Pedido pedido = new Pedido();

            pedido.IdPedido = 999;
            pedido.IdParceiro = 1;
            pedido.Bairro = "Bairro Test";
            pedido.CEP = "CEP Test";
            pedido.Cidade = "Cidade Test";
            pedido.CPFCNPJ = "CPF Test";
            pedido.Data = DateTime.Now;
            pedido.Endereco = "Endereço Test";
            pedido.FormaPagamento = "FormaPagamento Test";
            pedido.Frete = 999;
            pedido.Nome = "Pedido Test";
            pedido.Status = "Status Test";
            pedido.UF = "RJ";

            pedido.ItensPedido = new List<ItemPedido>();

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[0].IdPedido = 999;
            pedido.ItensPedido[0].IdParceiro = 1;
            pedido.ItensPedido[0].IdItem = 1;
            pedido.ItensPedido[0].Nivel = 1;
            pedido.ItensPedido[0].NomeProduto = "Nome Produto Test 1";
            pedido.ItensPedido[0].Pontos = 99;
            pedido.ItensPedido[0].PrecoUnitario = 99;
            pedido.ItensPedido[0].Quantidade = 9;
            pedido.ItensPedido[0].ValorRebate = 6;

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[1].IdPedido = 999;
            pedido.ItensPedido[1].IdParceiro = 1;
            pedido.ItensPedido[1].IdItem = 2;
            pedido.ItensPedido[1].Nivel = 1;
            pedido.ItensPedido[1].NomeProduto = "Nome Produto Test 2";
            pedido.ItensPedido[1].Pontos = 99;
            pedido.ItensPedido[1].PrecoUnitario = 99;
            pedido.ItensPedido[1].Quantidade = 9;
            pedido.ItensPedido[1].ValorRebate = 6;

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[2].IdPedido = 999;
            pedido.ItensPedido[2].IdParceiro = 1;
            pedido.ItensPedido[2].IdItem = 3;
            pedido.ItensPedido[2].Nivel = 1;
            pedido.ItensPedido[2].NomeProduto = "Nome Produto Test 3";
            pedido.ItensPedido[2].Pontos = 99;
            pedido.ItensPedido[2].PrecoUnitario = 99;
            pedido.ItensPedido[2].Quantidade = 9;
            pedido.ItensPedido[2].ValorRebate = 6;

            target.Insert(pedido);

            Pedido pedidoTest = target.Obter("IdParceiro = " + pedido.IdParceiro + " AND IdPedido = " + pedido.IdPedido);

            Assert.IsNotNull(pedidoTest);
        }
        public ActionResult Create(Pedido pedido)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if(pedido.UserProfile_ID == null)
                        pedido.UserProfile_ID = (WebSecurity.CurrentUserId);

                    if (pedido.EstadoPedido_ID == null)
                        pedido.EstadoPedido_ID = _EstadoPedidoService.GetIdEstadoInicial();

                    _PedidoService.Create(pedido);
                    pedido = _PedidoService.GetById(pedido.ID);
                    return Json(new { status = true, msg = "Pedido creado <b>exitosamente</b>", contenido = RenderPartialViewToString("_PedidoDetalle", pedido), url = Url.Action("Details", "Pedido", new { id = pedido.ID }) });
                   
                }
                else
                    throw new Exception("Detalle: El pedido posee valores incorrectos."); 
            }
            catch (Exception e)
            {
                PedidoViewModel pedidoVM = new PedidoViewModel();
                pedidoVM.Clientes = _ClienteService.GetAll();
                return View(pedidoVM);
            }
        }
Esempio n. 3
0
        public void ProcessarPedido(Carrinho carrinho, Pedido pedido)
        {
            // Realizar pagamento (Integração com algum meio de pagamento)

            String body = ProcessarCorpoEmail(carrinho, pedido);
            new Thread( () => EnviarEmail(pedido.Email, body) ).Start();
        }
Esempio n. 4
0
        private void btnVerDetalle_Click(object sender, EventArgs e)
        {
            TransaccionClient proxy = new TransaccionClient();

            Pedido pe = new Pedido();

            dataGridView2.DataSource = proxy.ListarxPedido(dataGridView1.CurrentRow.Cells[5].Value.ToString());
        }
Esempio n. 5
0
        public void ObterValorTotal()
        {
            Pedido pedido = new Pedido();

            pedido.Total = 1000.0;
            pedido.Desconto = 50;

            Assert.AreEqual(500, pedido.ObterValorTotal(0));
        }
Esempio n. 6
0
        public void ObterValorTotal_QuandoTotalProdutosZerado_DispararException()
        {
            Pedido pedido = new Pedido();

            pedido.Total = 0;
            pedido.Desconto = 50;

            pedido.ObterValorTotal(0);
        }
Esempio n. 7
0
        public void FazendoUmPedido()
        {
            var pedido = new Pedido(new Produto("Batata", 10m), new[] {new Cliente("gabriel")});

            var mesa = new Mesa("test", "senha");

            mesa.AdicionarPedido(pedido);

            Assert.AreEqual(pedido.Id,mesa.Pedidos.ToArray()[0].Id);
        }
Esempio n. 8
0
 public ActionResult Crear(Pedido nuevoPedido, int CodCliente, int CodEmpleado)
 {
     var proxy = new TransaccionClient();
     var codcliente = proxy.ObtenerCliente(CodCliente);
     nuevoPedido.CodCliente = codcliente;
     var codempleado = proxy.ObtenerEmpleado(CodEmpleado);
     nuevoPedido.CodEmpleado = codempleado;
     proxy.CrearPedido(nuevoPedido);
     return RedirectToAction("Index");
 }
Esempio n. 9
0
 public ActionResult Actualizar(Pedido pedido, int CodCliente, int CodEmpleado)
 {
     var proxy = new TransaccionClient();
     var codcliente = proxy.ObtenerCliente(CodCliente);
     pedido.CodCliente = codcliente;
     var codempleado = proxy.ObtenerEmpleado(CodEmpleado);
     pedido.CodEmpleado = codempleado;
     proxy.ModificarPedido(pedido);
     return RedirectToAction("Index");
 }
Esempio n. 10
0
        public HttpResponseMessage PostPedido(string mesaId, Pedido pedido)
        {
            var mesa = _ravenSession.Load<Mesa>(mesaId);

            mesa.AdicionarPedido(pedido);

            _ravenSession.Store(mesa);
            _ravenSession.SaveChanges();

            return Request.CreateResponse(HttpStatusCode.OK, mesa, "application/json");
        }
Esempio n. 11
0
 public Cadastro()
 {
     InitializeComponent();
     
     novoPedido = new Pedido();
     novoPedido.Produtos = new List<ProdutoPedido>();
     novoPedido.Receber = new List<Receber>();
     
     ControleVendedor cv = new ControleVendedor();
     listVendedores.ItemsSource = cv.buscar("");
 }
Esempio n. 12
0
        public void OsClientesQueJaForamAdicionadosNãoPodemRepetir()
        {
            var mesa = new Mesa("test", "senha");

            var pedido = new Pedido(new Produto("Batata", 10m), new[] { new Cliente("gabriel") });
            var pedido2 = new Pedido(new Produto("Abobora", 15m), new[] { new Cliente("gabriel") });

            mesa.AdicionarPedido(pedido);
            mesa.AdicionarPedido(pedido2);

            Assert.IsTrue(mesa.Clientes.Count(x=>x.Nome == "gabriel") == 1,"Tem mais de um cliente");
        }
Esempio n. 13
0
        public void ObtendoValorTotalAPagarPorCliente()
        {
            var mesa = new Mesa("test", "senha");

            var pedido = new Pedido(new Produto("Batata", 10m), new[] { new Cliente("gabriel"), new Cliente("natalia") });
            var pedido2 = new Pedido(new Produto("Abobora", 15m), new[] { new Cliente("gabriel") });

            mesa.AdicionarPedido(pedido);
            mesa.AdicionarPedido(pedido2);

            var cliente1 = mesa.Clientes.FirstOrDefault(x=>x.Nome=="gabriel");
            var cliente2 = mesa.Clientes.FirstOrDefault(x=>x.Nome=="natalia");

            Assert.AreEqual(20m,cliente1.Total);
            Assert.AreEqual(5m,cliente2.Total);
        }
Esempio n. 14
0
		public string ConstruirTablaCliente(Pedido pedido){
			return string.Format(@"<table border=""0"" cellpadding=""1"" cellspacing=""1"" style=""width: 100%; "">
			<tbody>
				<tr>
					<td style=""width: 50%; "">
						{0}
					</td>
					<td style=""width: 50%; "">
						{1}
					</td>
				</tr>
			</tbody>
		</table>
", ConstruirSolicitadoPor(pedido), ConstruirDestinatario(pedido));

		}
Esempio n. 15
0
        public void ClientePagouConta()
        {
            var mesa = new Mesa("test", "senha");

            var pedido = new Pedido(new Produto("Batata", 10m), new[] { new Cliente("gabriel"), new Cliente("natalia") });
            var pedido2 = new Pedido(new Produto("Abobora", 15m), new[] { new Cliente("gabriel") });

            mesa.AdicionarPedido(pedido);
            mesa.AdicionarPedido(pedido2);

            mesa.RegistrarPagamento(new Cliente("gabriel"){Pago = true});

            var cliente = mesa.Clientes.FirstOrDefault(x => x.Nome == "gabriel");

            Assert.IsTrue(cliente.Pago);
        }
Esempio n. 16
0
        public ViewResult FecharPedido(Carrinho carrinho, Pedido pedido)
        {
            EmailPedido emailPedido = new EmailPedido(GetEmailConfiguration());

            if (!carrinho.ItensCarrinhos.Any())
            {
                ModelState.AddModelError("", "Não foi possível concluir o pedido, seu carrinho está vazio!");
            }

            if (ModelState.IsValid)
            {
                emailPedido.ProcessarPedido(carrinho, pedido);
                carrinho.LimparCarrinho();
                return View("PedidoConcluido");
            }

            return View(pedido);
        }
Esempio n. 17
0
        public void AdicionaPedidoTest()
        {
            while(new Produto().Obter("12312312",new Repositorio<Produto>()).Estoque > 0)
            {
                var pedid = new Pedido()
                {
                    TipoVenda = TipoVenda.Rapida
                };

                pedid.AdicionaCliente(new Cliente { Nome = "Venda Rápida" });

                if (pedid.ValidarProdutos("12312312"))
                {
                    pedid.AdicionaProduto(new Produto().Obter("12312312", new Repositorio<Produto>()), 2);
                }
                pedid.RealizarVenda(new Repositorio<Pedido>(), new Repositorio<Produto>());
            }
        }
Esempio n. 18
0
        private String ProcessarCorpoEmail(Carrinho carrinho, Pedido pedido)
        {
            StringBuilder body = new StringBuilder()
                .AppendLine("Novo Pedido")
                .Append(Environment.NewLine)

                .AppendLine("Informações do destinatário")

                .AppendFormat("Cliente: {0}", pedido.NomeCliente)
                .AppendLine(String.Empty)
                .AppendFormat("Email: {0}", pedido.Email)
                .AppendLine(String.Empty)
                .AppendFormat("Logradouro: {0}, {1}", pedido.Logradouro, pedido.Numero)
                .AppendLine(String.Empty)
                .AppendFormat("Complemento: {0}", pedido.Complemento ?? "Não informado")
                .AppendLine(String.Empty)
                .AppendFormat("Bairro: {0}", pedido.Bairro)
                .AppendLine(String.Empty)
                .AppendFormat("Cidade: {0}", pedido.Cidade)
                .AppendLine(String.Empty)
                .AppendFormat("Estado: {0}", pedido.Estado)
                .AppendLine(Environment.NewLine)

                .AppendLine("Itens:");

            foreach (var item in carrinho.ItensCarrinhos)
            {
                var subTotal = item.Produto.Preco * item.Quantidade;
                body.AppendFormat("{0} - {1} x {2:c}, subtotal: {3:c}" + Environment.NewLine,
                    item.Produto.Nome, item.Quantidade, item.Produto.Preco, subTotal);
            }

            body.Append(Environment.NewLine)
                .AppendFormat("Valor total do pedido: {0:c}", carrinho.ObterValorTotal())
                .Append(Environment.NewLine)
                .AppendFormat("Embulhar para presente: {0}", pedido.EmbrulharPresente ? "Sim" : "Não")
                .AppendLine(Environment.NewLine)
                .AppendLine("Obrigado por escolher a Loja Virtual Benz!")
                .AppendLine("Caso precise nos contactar, abaixo os nossos contatos")
                .AppendFormat("SAC: {0} - {1}", _emailConfig.TelefoneSAC, _emailConfig.EmailSAC);

            return body.ToString();
        }
Esempio n. 19
0
        public void IniciaPedido()
        {
            pedido = new Pedido()
            {
                TipoVenda = TipoVenda.Rapida,
                DataPedido = DateTime.Now
            };

            pedido.AdicionaCliente(new Cliente { Nome = "Venda Rápida" });

            if (pedido.ValidarProdutos("12312312"))
            {
                pedido.AdicionaProduto(new Produto().Obter("12312312", new Repositorio<Produto>()), 10);
            }
            if (pedido.ValidarProdutos("12312312"))
            {
                pedido.AdicionaProduto(new Produto().Obter("12312312",new Repositorio<Produto>()), 1);
            }
        }
Esempio n. 20
0
        public ActionResult Index(Author author)
        {
            int id;
            try
            {
                using (ProvaEntities db = new ProvaEntities())
                {

                    Pedido ped = new Pedido();
                    ped.cep = author.cep;
                    ped.cidade = author.cidade;
                    ped.complemento = author.complemento;
                    ped.cpf = author.cpf;
                    ped.data = author.data;
                    ped.endereco = author.endereco;
                    ped.uf = author.uf;
                    db.Pedido.Add(ped);
                    db.SaveChanges();
                    Pedido p = db.Pedido.FirstOrDefault(u => u.cpf == author.cpf);
                    id = p.id_pedido;
                }
                foreach (var itens in author.Books)
                {
                    using (ProvaEntities db = new ProvaEntities())
                    {
                        ItemPedido ped = new ItemPedido();
                        ped.id_pedido = id;
                        ped.id_produto = itens.id_prod;
                        ped.qtde = itens.qtde;
                        ped.subtotal = itens.subtotal;
                        db.ItemPedido.Add(ped);
                        db.SaveChanges();
                    }
                }

                return RedirectToAction("Index", "Home");
            }
            catch (Exception ex)
            {
                return View();
            }
        }
Esempio n. 21
0
        public List<Pedido> SelecionarTodosPedido()
        {
            List<Pedido> pedidos = new List<Pedido>();
            IDbCommand Comando = Connection.CreateCommand();
            Comando.CommandText = "SELECT * FROM PEDIDO";
            Connection.Open();
            IDataReader leitor = Comando.ExecuteReader();

            while (leitor.Read())
            {
                Pedido pedido = new Pedido();

                pedido.Codigo = Convert.ToInt32(leitor.GetValue(0));
                pedido.Comentarios = Convert.ToString(leitor.GetValue(9));

                pedidos.Add(pedido);
            }
            Connection.Close();
            return pedidos;
        }
Esempio n. 22
0
		public string ConstruirHtmlReport(Empresa empresa, User user,
		                                  Pedido pedido, List<PedidoItem> items,
		                                  string textoInicial=default(string)){

			return string.Format(@"<!DOCTYPE html>
<html lang=""es"">
	<head>
		<meta http-equiv=""Content-Type"" content=""text/html"" charset=""utf-8"" />
	</head>
	<body>
    <div style=""font-size:95%; font-family:Century Gothic, Arial, Helvetica, sans-serif;"">
		{0}{1}{2}{3}{4}
	</div>
	</body>
</html>",
			                            ConstruirEncabezado(empresa, pedido, textoInicial),
			                            ConstruirTablaCliente(pedido),
			                            ItemsToTable(items),
			                            ConstruirResumen(pedido, items),
										ConstruirCondiciones(empresa,pedido,user));
		}
Esempio n. 23
0
        public JsonResult Cadastrar(Pedido pedido)
        {
            var Result = 0;
            try
            {
                if (ModelState.IsValid)
                {
                    using (ProvaEntities db = new ProvaEntities())
                    {

                        Pedido ped = new Pedido();
                        ped.cep = pedido.cep;
                        ped.cidade = pedido.cidade;
                        ped.complemento = pedido.complemento;
                        ped.cpf = pedido.cpf;
                        ped.data = pedido.data;
                        ped.endereco = pedido.endereco;
                        ped.uf = pedido.uf;
                        db.Pedido.Add(ped);
                        db.SaveChanges();
                        Pedido p = db.Pedido.FirstOrDefault(u => u.cpf == pedido.cpf);
                        Result = p.id_pedido;
                    }
                }
                return Json(new { Result }, JsonRequestBehavior.AllowGet);
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                                validationError.PropertyName,
                                                validationError.ErrorMessage);
                    }
                }
                return Json(new { Result = "Erro" }, JsonRequestBehavior.AllowGet);
            }
        }
Esempio n. 24
0
        private void carregarPedido(string id)
        {
            ControlePedido cp = new ControlePedido();
            novoPedido = cp.buscarPorId(id);

            tbNumero.Text = novoPedido.Id;
            dpEmissao.Value = novoPedido.DataEmissao;
            listVendedores.SelectedIndex = (new List<Vendedor>(listVendedores.ItemsSource.Cast<Vendedor>())).FindIndex(x => x.Id == novoPedido.IdVendedor);

            ControleCliente cc = new ControleCliente();
            Cliente cliente = cc.buscarPorId(novoPedido.IdCliente);
            btSelecionarCliente.Content = cliente.Nome;

            ControleProduto cpr = new ControleProduto();

            decimal tValor = 0;
            foreach (ProdutoPedido item in novoPedido.Produtos)
            {
                item.Produto = cpr.buscarPorId(item.IdProduto.ToString());
                tValor += item.Valor * item.Quantidade;
            }
            tbTotalValor.Text = tValor.ToString("0.00");
            tbTotalRestante.Text = (tValor - (string.IsNullOrWhiteSpace(tbTotalReceber.Text)
                ? 0 : Convert.ToDecimal(tbTotalReceber.Text))).ToString("0.00");

            tValor = 0;
            foreach (Receber item in novoPedido.Receber)
            {
                tValor += item.Valor;
            }
            tbTotalReceber.Text = tValor.ToString("0.00");
            tbTotalRestante.Text = ((string.IsNullOrWhiteSpace(tbTotalValor.Text)
                ? 0 : Convert.ToDecimal(tbTotalValor.Text)) - tValor).ToString("0.00");

            listProdutos.ItemsSource = novoPedido.Produtos;
            listVencimentos.ItemsSource = novoPedido.Receber;

            tbObservacoes.Text = novoPedido.Observacoes;
        }
Esempio n. 25
0
        public int CriaPedido(Pedido pedido)
        {
            decimal pedidoTotal = 0;
            var cestaItens = GetItensDaCesta();

            foreach (var item in cestaItens)
            {
                var pedidoDetalhe = new PedidoDetalhe()
                {
                    ProdutoId = item.ProdutoId,
                    PedidoId = pedido.PedidoId,
                    PrecoUnitario = item.Produto.Preco,
                    Quantidade = item.Contador
                };
                pedidoTotal += (item.Contador * item.Produto.Preco);
               // Database.PedidoDetalhes.Add(pedidoDetalhe);
            }

            pedido.Total = pedidoTotal;
               // Database.SaveChanges();
            EsvaziaCesta();

            return pedido.PedidoId;
        }
Esempio n. 26
0
		public string ConstruirSolicitadoPor(Pedido pedido){
			var filas = new List<Fila>(
				new Fila[]{
				new Fila{Value=pedido.NombreCliente.ValueOrHtmlSpace()},
				new Fila{Value=pedido.NitCliente.ValueOrHtmlSpace()},
				new Fila{Value=pedido.NombreContacto.ValueOrHtmlSpace()},
				new Fila{Value=pedido.MailContacto.ValueOrHtmlSpace()},
				new Fila{Value=Extensions.HtmlSpace},
				new Fila{Value=Extensions.HtmlSpace},
				new Fila{Value=Extensions.HtmlSpace}
			});

			return string.Format(@"							<table style=""margin: 0.5em; border-collapse: collapse; width: 100%; height: 200px; "">
																<thead>
																	<tr>
																		<th colspan=""2"" style=""padding: .3em; border: 1px #ccc solid;"">Solicitado por:</th>
																	</tr>
																</thead>	
								<tbody style=""margin: 0.5em; border-collapse: collapse;  border: 1px #ccc solid; "">
									{0}
								</tbody>
							</table>",
			                     ConstruirFilasSolicitadoPor(filas));
		}
 public void Adicionar(Pedido pedido)
 {
     _context.Pedidos.Add(pedido);
 }
Esempio n. 28
0
        private string PrepararRegistroCSV(Pedido pedido)
        {
            ulong id = pedido.Id == 0 ? CONT : pedido.Id;

            return($"id={id};clienteNome={pedido.Cliente.Nome};clienteEmail={pedido.Cliente.Email};hamburguerNome={pedido.Produto.Nome};hamburguerPreco={pedido.Produto.Preco};dataPedido={pedido.DataPedido};precoTotal={pedido.PrecoTotal}+\n");
        }
        protected override void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session["idPedido"] = null;
                if (!string.IsNullOrEmpty(Request.QueryString["idPedido"]))
                {
                    pedido.ID = Convert.ToInt32(Request.QueryString["idPedido"]);
                    pedido    = commands["CONSULTAR"].execute(pedido).Entidades.Cast <Pedido>().ElementAt(0);

                    switch (pedido.Status.ID)
                    {
                    case 1:
                        pedido.Status.ID++;
                        break;

                    case 2:
                        pedido.Status.ID += 2;
                        break;

                    // o case 3 é feito na hora da validação do pagamento,
                    // caso o pagamento seja REPROVADO, seta-se o status id 3
                    case 4:
                        pedido.Status.ID++;
                        break;

                    case 5:
                        pedido.Status.ID++;
                        break;

                    case 6:
                        pedido.Status.ID++;
                        break;

                    case 7:
                        pedido.Status.ID++;
                        break;

                    default:
                        break;
                    }

                    pedido.CCs = commands["CONSULTAR"].execute(new CartaoCreditoPedido()
                    {
                        IdPedido = pedido.ID
                    }).Entidades.Cast <CartaoCreditoPedido>().ToList();

                    resultado = commands["ALTERAR"].execute(pedido);
                    if (!string.IsNullOrEmpty(resultado.Msg))
                    {
                        Response.Redirect("./ListaPedidos.aspx?resultadoAtualiza=" + resultado.Msg);
                    }
                    else
                    {
                        if (pedido.Status.ID == 8)
                        {
                            Session["idPedido"] = pedido.ID;
                            Response.Redirect("./ReentradaEstoqueTroca.aspx");
                        }
                        Response.Redirect("./ListaPedidos.aspx");
                    }
                }
                else
                {
                    Debug.Fail("ERROR : Nunca devemos chegar ao AtualizaPedido.aspx sem um idPedido.");
                    throw new Exception("ERROR : É ilegal carregar o AtualizaPedido.aspx sem definir um idPedido.");
                }
            }
        }
Esempio n. 30
0
 public void AddItem(string codigo, Pedido pedido)
 {
     pedidoService.AddItem(codigo, pedido);
 }
Esempio n. 31
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                validarIngreso();
                Token   token   = (Token)Session["token"];
                Reserva reserva = (Reserva)Session["reservaCliente"];
                _pedidoService = new PedidoService(token.access_token);

                List <Pedido> pedidos = _pedidoService.Obtener();

                Pedido pedidoCliente = null;
                if (pedidos != null && pedidos.Count > 0)
                {
                    pedidoCliente = pedidos.FirstOrDefault(x => x.IdEstadoPedido != EstadoPedido.cancelado &&
                                                           x.Reserva.Id == reserva.Id &&
                                                           x.FechaHoraInicio.Date == DateTime.Now.Date);
                    if (pedidoCliente != null)
                    {
                        if (pedidoCliente.IdEstadoPedido == EstadoPedido.pagado)
                        {
                            Response.Redirect("/Paginas/Autoservicio/PedidoPagado.aspx");
                            return;
                        }

                        cargarPedido(token, pedidoCliente);
                    }
                }

                List <ArticuloPedido> articulosPedido = new List <ArticuloPedido>();
                if (Session["articulosPedidoCliente"] == null)
                {
                    Session["articulosPedidoCliente"] = articulosPedido;
                }
                else
                {
                    articulosPedido = (List <ArticuloPedido>)Session["articulosPedidoCliente"];
                }

                if (articulosPedido != null && articulosPedido.Count > 0)
                {
                    recargarArticulosPedido(articulosPedido);
                    if (pedidoCliente != null)
                    {
                        btnHacerPedido.Visible = false;
                        if (pedidoCliente.IdEstadoPedido == EstadoPedido.enCurso ||
                            pedidoCliente.IdEstadoPedido == EstadoPedido.cerradoConTarjeta ||
                            (pedidoCliente.IdEstadoPedido == EstadoPedido.cerradoMixto && !PagoTarjetaListo(pedidoCliente.Id)))
                        {
                            btnCerrarCuenta.Visible = true;

                            if (pedidoCliente.IdEstadoPedido == EstadoPedido.cerradoConTarjeta ||
                                pedidoCliente.IdEstadoPedido == EstadoPedido.cerradoMixto)
                            {
                                btnCerrarCuenta.Text = "Ir a pagar";
                            }
                        }

                        if (pedidoCliente.IdEstadoPedido != EstadoPedido.enCurso)
                        {
                            tabMenu.Attributes.Add("class", "nav-link d-none");
                            divMenu.Attributes.Add("class", "tab-pane fade d-none");
                            tabMiOrden.Attributes.Add("class", "nav-link active");
                            divMiOrden.Attributes.Add("class", "tab-pane active show");
                        }
                    }
                    else
                    {
                        btnHacerPedido.Visible  = true;
                        btnCerrarCuenta.Visible = false;
                    }
                }
                upArticulosPedido.Update();
            }
            catch (Exception ex)
            {
                //Nada
            }

            if (!IsPostBack)
            {
                try
                {
                    Token token = (Token)Session["token"];
                    _articuloService = new ArticuloService(token.access_token);
                    List <Articulo> articulos            = _articuloService.Obtener();
                    List <Articulo> articulosDisponibles = articulos.Where(x => x.IdEstadoArticulo == EstadoArticulo.disponible).ToList();
                    articulosDisponibles            = articulosDisponibles.OrderBy(x => x.Nombre).ToList();
                    Session["articulosDisponibles"] = articulosDisponibles;

                    List <Articulo> entradas = articulosDisponibles.Where(x => x.IdTipoConsumo == TipoConsumo.entradas).ToList();
                    listaEntradas.DataSource = entradas;
                    listaEntradas.DataBind();
                    actualizarRepeater(listaEntradas, entradas, listaEntradasVacia);

                    List <Articulo> platosFondo = articulosDisponibles.Where(x => x.IdTipoConsumo == TipoConsumo.platosFondo).ToList();
                    listaPlatosFondo.DataSource = platosFondo;
                    listaPlatosFondo.DataBind();
                    actualizarRepeater(listaPlatosFondo, platosFondo, listaPlatosFondoVacia);

                    List <Articulo> ensaladas = articulosDisponibles.Where(x => x.IdTipoConsumo == TipoConsumo.ensaladas).ToList();
                    listaEnsaladas.DataSource = ensaladas;
                    listaEnsaladas.DataBind();
                    actualizarRepeater(listaEnsaladas, ensaladas, listaEnsaladasVacia);

                    List <Articulo> postres = articulosDisponibles.Where(x => x.IdTipoConsumo == TipoConsumo.postres).ToList();
                    listaPostres.DataSource = postres;
                    listaPostres.DataBind();
                    actualizarRepeater(listaPostres, postres, listaPostresVacia);

                    List <Articulo> bebestibles = articulosDisponibles.Where(x => x.IdTipoConsumo == TipoConsumo.bebestibles).ToList();
                    listaBebestibles.DataSource = bebestibles;
                    listaBebestibles.DataBind();
                    actualizarRepeater(listaBebestibles, bebestibles, listaBebestiblesVacia);

                    _tipoDocumentoPagoService = new TipoDocumentoPagoService(token.access_token);
                    List <TipoDocumentoPago> tiposDocumento = _tipoDocumentoPagoService.Obtener();
                    if (tiposDocumento != null && tiposDocumento.Count > 0)
                    {
                        ddlTipoDocumentoPago.DataSource     = tiposDocumento;
                        ddlTipoDocumentoPago.DataTextField  = "Nombre";
                        ddlTipoDocumentoPago.DataValueField = "Id";
                        ddlTipoDocumentoPago.DataBind();
                        ddlTipoDocumentoPago.Items.Insert(0, new ListItem("Seleccionar", ""));
                        ddlTipoDocumentoPago.SelectedIndex = 0;
                    }
                }
                catch (Exception ex)
                {
                    //Nada
                }
            }
        }
        public Pedido DetallePedido(int idPedido)
        {
            Pedido detallePedido = ObtenerPedidoPorId(idPedido);

            return(detallePedido);
        }
        public async Task <IActionResult> FinalizarCompra()
        {
            // Verifico que haya una sesion activa
            var numeroenstring = HttpContext.Session.GetString("MiSesion");

            if (numeroenstring == null)
            {
                ViewBag.MsjErrorLoginNecesario = "Necesitás loguearte";
                return(RedirectToAction("Carrito", "Tiendas"));
            }

            //var usuario = await _context.Usuarios.FindAsync(IdUsuarioBuscado);


            double precioTotal = 0;

            var listaDeStrings = HttpContext.Session.GetString("MiCarrito");


            // Primero verifico que haya productos en el carrito
            if (listaDeStrings == null)
            {
                ViewBag.MsjErrorNoTenesProdEnCarrito = "No tenés productos en el carrito";
                return(RedirectToAction("Carrito", "Tiendas"));
            }



            var IdUsuarioBuscado = int.Parse(numeroenstring);
            var listaItems       = JsonConvert.DeserializeObject <List <Item> >(listaDeStrings);

            // Recorro la lista de items para obtener el precio total del pedido
            foreach (var Item in listaItems)
            {
                precioTotal += Item.Precio;
            }

            // Creo un nuevo pedido para agregar los valores
            Pedido pedido = new Pedido();

            pedido.IdUsuario   = IdUsuarioBuscado;
            pedido.PrecioTotal = precioTotal;


            //Guardamos el pedido en la BD
            _context.Add(pedido);
            await _context.SaveChangesAsync();

            //Agarramos el ID del pedido que mandamos a la BD que se genero automaticamente.
            //Una vez guardado el objeto en la BD, EF completa el dato del ID generado en la base de datos automaticamente en el objeto que teniamos.
            var IdPedidoGenerado = pedido.IdPedido;


            //Recorro la lista para agregar el numero de pedido a cada item
            foreach (var Item in listaItems)
            {
                Item.IdPedido = IdPedidoGenerado;
            }

            //Agrego la lista de items al pedido.
            pedido.Items = listaItems;

            //Actualizo los datos del pedido en la BD
            _context.Update(pedido);
            await _context.SaveChangesAsync();

            //Hacemos las dos busquedas, pedido e items (funciona como un inner join)
            Pedido pedidoFinalDeBD = await _context.Pedidos.FindAsync(IdPedidoGenerado);

            var ListaItemsDelPedido = _context.Items.Where(i => i.IdPedido == IdPedidoGenerado);

            //Limpio el carrito para sacar los productos de la sesion
            var ListaVacia       = new List <Item>();
            var ListaVaciaString = JsonConvert.SerializeObject(ListaVacia);

            HttpContext.Session.SetString("MiCarrito", ListaVaciaString);

            return(View(pedidoFinalDeBD));
        }
Esempio n. 34
0
 public static PedidoDTO BuildDTO(this Pedido pedido)
 {
     return(AutoMapper.Mapper.Map <PedidoDTO>(pedido));
 }
Esempio n. 35
0
        public ActionResult Compra(PedidoCompraViewModel pedidoViewModel)
        {
            var clienteId = AppHelper.ObterClienteLogado();
            var cliente   = clienteApp.ObterPorId(clienteId.Id);

            var pedido = new Pedido()
            {
                Id      = Guid.NewGuid().ToString(),
                Cliente = new Cliente()
                {
                    Id       = cliente.Id,
                    Nome     = cliente.Nome,
                    Email    = cliente.Email,
                    Senha    = cliente.Senha,
                    CPF      = cliente.CPF,
                    DataNasc = cliente.DataNasc,
                    Sexo     = cliente.Sexo,
                    Telefone = cliente.Telefone,
                    CEP      = cliente.CEP,
                    Endereco = cliente.Endereco,
                    Numero   = cliente.Numero,
                    Bairro   = cliente.Bairro,
                    Cidade   = cliente.Cidade,
                    Estado   = cliente.Estado
                },
                Status        = (PedidoStatus)1,
                ListaProdutos = new List <PedidoItem>()
            };

            var consultaProduto = produtoApp.ObterPorId(pedidoViewModel.Id);

            var produto = new Produto()
            {
                Id           = consultaProduto.Id,
                Categoria    = consultaProduto.Categoria,
                Descricao    = consultaProduto.Descricao,
                Valor        = consultaProduto.Valor,
                FichaTecnica = consultaProduto.FichaTecnica
            };


            var lista = new PedidoItem()
            {
                Id           = Guid.NewGuid().ToString(),
                PedidoId     = pedido.Id,
                NumeroPedido = pedido.Numero,
                Produto      = produto,
                Quantidade   = 2
            };

            lista.Total = produto.Valor * lista.Quantidade;

            var listaPed = new List <PedidoItem>();

            listaPed.Add(lista);

            foreach (var p in listaPed)
            {
                pedido.ValorTotal += p.Total;
            }

            pedido.ListaProdutos.Add(lista);

            pedidoApp.IncluirPedido(pedido);



            var consultaPedido = pedidoApp.ObterPedidoPorId(pedido.Id);

            var pedido2 = new Pedido()
            {
                Numero        = consultaPedido.Numero,
                ListaProdutos = new List <PedidoItem>()
            };

            var produto2 = new Produto()
            {
                Id           = consultaProduto.Id,
                Categoria    = consultaProduto.Categoria,
                Descricao    = consultaProduto.Descricao,
                Valor        = consultaProduto.Valor,
                FichaTecnica = consultaProduto.FichaTecnica
            };


            var lista2 = new PedidoItem()
            {
                Id           = Guid.NewGuid().ToString(),
                PedidoId     = pedido.Id,
                NumeroPedido = consultaPedido.Numero,
                Produto      = produto2,
                Quantidade   = 2
            };

            lista2.Total = produto2.Valor * lista2.Quantidade;

            pedido2.ListaProdutos.Add(lista2);

            pedidoApp.IncluirPedidoItem(pedido2);

            return(RedirectToAction("CompraFinalizada"));
        }
Esempio n. 36
0
 public void ExcluirPedido(Pedido Pedido)
 {
     Connection.Open();
     SqlCommand Comando = new SqlCommand("");
     Connection.Close();
 }
Esempio n. 37
0
		static Ciudad CheckCiudad(DALProxy proxy,  Pedido request)
		{
			if(request.IdCiudadDestinatario==0)
					throw HttpError.Unauthorized("Debe Indicar la ciudad Destino");
			var ciudad = proxy.FirstOrDefaultById<Ciudad>(request.IdCiudadDestinatario);
				if(ciudad==default(Ciudad))
					throw HttpError.NotFound(string.Format("No existe Ciudad con Id: '{0}'", request.IdCiudadDestinatario));
			return ciudad;
		}
Esempio n. 38
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.CacheControl = "no-cache";

        if (Session["NumeroPedido"] == null && Session["PedidoCarrito"] == null)
        {
            Session["Mensaje"] = "¡ERROR! Para acceder a los detalles del pedido debe seleccionar un link de detalles.";
            Response.Redirect("~/Error.aspx");
        }

        try
        {
            Pedido pedido = LogicaPedido.BuscarPedido((int)Session["NumeroPedido"]);

            btnEnviarPedido.Visible = true;

            if (pedido.Enviado)
            {
                btnEnviarPedido.Visible = false;
                lblMensaje.ForeColor    = System.Drawing.Color.Green;
                lblMensaje.Text         = "El pedido ya fue enviado al cliente.";
            }
            else
            {
                btnEnviarPedido.Visible = true;
            }

            if (pedido.Numero == 0)
            {
                List <Pedido> pedidosSolicitados = (List <Pedido>)Application["PedidoSolicitados"];

                foreach (Pedido p in pedidosSolicitados)
                {
                    if (p.Numero == (int)Session["NumeroPedido"])
                    {
                        pedido = p;
                    }
                }

                btnEnviarPedido.Visible = false;
            }

            imgFoto.ImageUrl      = pedido.Registrado.Imagen;
            lblNombreUsuario.Text = pedido.Registrado.NombreCompleto;
            lblCodigoPedido.Text  = "|| Pedido número: " + pedido.Numero + " ||     Solicitado el día : " + pedido.Fecha.ToShortDateString() + "  ||";

            List <LineaPedido> pedidos = pedido.LineasPedidos;

            DataTable dtLineaPedido = new DataTable();
            dtLineaPedido.Columns.Add(new DataColumn("Nombre"));
            dtLineaPedido.Columns.Add(new DataColumn("Cantidad"));
            dtLineaPedido.Columns.Add(new DataColumn("Precio"));
            dtLineaPedido.Columns.Add(new DataColumn("PrecioTotal"));

            double PrecioTotal = 0;

            foreach (LineaPedido lp in pedidos)
            {
                DataRow drwLineaPedido = dtLineaPedido.NewRow();
                drwLineaPedido["Nombre"]      = lp.PArticulo.Nombre;
                drwLineaPedido["Cantidad"]    = lp.Cantidad;
                drwLineaPedido["Precio"]      = lp.PArticulo.Precio;
                drwLineaPedido["PrecioTotal"] = lp.Cantidad * lp.PArticulo.Precio;

                PrecioTotal += lp.Cantidad * lp.PArticulo.Precio;

                dtLineaPedido.Rows.Add(drwLineaPedido);
            }

            lblPrecioTotal.Text = "Precio Final = USD " + PrecioTotal;

            gvDetallePedido.DataSource = dtLineaPedido;
            gvDetallePedido.DataBind();

            AparecerDesaparecerBotones(pedido);
        }
        catch (ApplicationException ex)
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! Al cargar la pagina.";
        }
    }
Esempio n. 39
0
 public void Add(Pedido p)
 {
     _contexto.Pedidos.Add(p);
     _contexto.SaveChanges();
 }
 public void EnviarInvitacionesDesdeUnaListaDeUsuarios(List <Usuario> usuarios, Pedido pedido)
 {
     foreach (Usuario invitado in usuarios)
     {
         Usuario          usuarioEncontrado = ctx.Usuario.SingleOrDefault(x => x.IdUsuario == invitado.IdUsuario);
         Pedido           pedidoEncontrado  = ctx.Pedido.SingleOrDefault(p => p.IdPedido == pedido.IdPedido);
         InvitacionPedido invitacionPedido  = new InvitacionPedido
         {
             Pedido     = pedidoEncontrado,
             Usuario    = usuarioEncontrado,
             Token      = new Guid(new Md5Hash().GetMD5((usuarioEncontrado.Email + pedidoEncontrado.FechaCreacion))),
             Completado = false,
         };
         ctx.InvitacionPedido.Add(invitacionPedido);
         ctx.SaveChanges();
         EmailService.EnviarEmailInvitados(invitacionPedido);
     }
 }
 internal void SalvaPedido(Pedido pedido)
 {
     entitie.SalvaNovoPedido(pedido);
 }
        public Pedido ObtenerPedidoByToken(Guid token)
        {
            Pedido pedido = ctx.InvitacionPedido.Where(i => i.Token == token).Select(p => p.Pedido).FirstOrDefault();

            return(pedido);
        }
Esempio n. 43
0
        public Pedido UpdateCadastro(Pedido pedido, Cadastro cadastro)
        {
            cadastroService.Update(pedido.Id, cadastro);

            return(pedido);
        }
Esempio n. 44
0
 /// <summary>
 /// Cambia el estado de un Pedido
 /// </summary>
 /// <param name="pedido"></param>
 public static void CambiarEstadoPedido(Pedido pedido)
 {
     int estadoNum = (int)pedido.EstadoPedido;
     estadoNum++;
     pedido.EstadoPedido = (EEstadoPedido)estadoNum;
 }
Esempio n. 45
0
        public static void Initialize(PedidosContext context)
        {
            // context.Database.EnsureCreated();

            // Look for any students.
            if (context.Cliente.Any())
            {
                return;   // DB has been seeded
            }

            var clientes = new Cliente[]
            {
                new Cliente {
                    Nome = "Carson", CPF = "97917191010"
                },
                new Cliente {
                    Nome = "Git", CPF = "23937196013"
                },
                new Cliente {
                    Nome = "Good", CPF = "87442646077"
                },
                new Cliente {
                    Nome = "Adriana", CPF = "94842766018"
                },
                new Cliente {
                    Nome = "Yan", CPF = "47188406006"
                }
            };

            foreach (Cliente s in clientes)
            {
                context.Cliente.Add(s);
            }
            context.SaveChanges();

            var produtos = new Produto[]
            {
                new Produto {
                    Descricao = "Iphone", ValorIndividual = 900.00f
                },
                new Produto {
                    Descricao = "Borracha", ValorIndividual = 0.25f
                },
                new Produto {
                    Descricao = "Papel", ValorIndividual = 0.05f
                },
                new Produto {
                    Descricao = "Coelho", ValorIndividual = 69.95f
                },
                new Produto {
                    Descricao = "Aparador", ValorIndividual = 250.00f
                },
                new Produto {
                    Descricao = "Varal", ValorIndividual = 120.50f
                },
                new Produto {
                    Descricao = "Uno", ValorIndividual = 450.99f
                }
            };

            foreach (Produto c in produtos)
            {
                context.Produto.Add(c);
            }
            context.SaveChanges();

            var pedidos = new Pedido[]
            {
                new Pedido {
                    ClienteID = 1, DataPedido = new DateTime(2017, 1, 18)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2015, 3, 30)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2018, 8, 22)
                },
                new Pedido {
                    ClienteID = 5, DataPedido = new DateTime(2018, 8, 25)
                },
                new Pedido {
                    DataPedido = new DateTime(2015, 4, 23)
                },
                new Pedido {
                    DataPedido = new DateTime(2017, 6, 7)
                }
            };

            foreach (Pedido e in pedidos)
            {
                context.Pedido.Add(e);
            }
            context.SaveChanges();
        }
Esempio n. 46
0
        protected void generarPago(int estadoPedido)
        {
            tabMenu.Attributes.Add("class", "nav-link d-none");
            divMenu.Attributes.Add("class", "tab-pane fade d-none");
            validarIngreso();
            Page.Validate("ValidacionTipoDocumento");
            if (!Page.IsValid)
            {
                upModalCerrarCuenta.Update();
                return;
            }
            if (ddlTipoDocumentoPago.SelectedValue == "")
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "documentoPago", "Swal.fire('Debe seleccionar el tipo de documento de pago', '', 'warning');", true);
                return;
            }
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalCerrarCuenta", "$('#modalCerrarCuenta').modal('hide');", true);
            try
            {
                Session["tipoDocumentoPago"] = Convert.ToInt32(ddlTipoDocumentoPago.SelectedValue);

                Pedido pedido = (Pedido)Session["pedidoCliente"];
                List <ArticuloPedido> articulosPedido = (List <ArticuloPedido>)Session["articulosPedidoCliente"];
                if (estadoPedido != EstadoPedido.cerradoMixto)
                {
                    pedido.IdEstadoPedido = estadoPedido;
                }
                var totalPedido = articulosPedido.Sum(x => x.Total);
                pedido.Total        = totalPedido;
                pedido.Reserva      = null;
                pedido.EstadoPedido = null;

                Token token = (Token)Session["token"];
                _pedidoService = new PedidoService(token.access_token);
                bool editar = _pedidoService.Modificar(pedido, pedido.Id);

                if (!editar)
                {
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "cerrarCuenta", "Swal.fire('Error al cerrar la cuenta', '', 'error');", true);
                }
                Session["pedidoCliente"] = pedido;
                btnHacerPedido.Visible   = false;

                switch (estadoPedido)
                {
                case EstadoPedido.cerradoConEfectivo:
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "pagarPedido", "Swal.fire('Por favor espere. Un garzón acudirá para realizar el pago', '', 'warning');", true);
                    btnCerrarCuenta.Visible = false;
                    break;

                case EstadoPedido.cerradoConTarjeta:
                    Response.Redirect("/Paginas/Autoservicio/PagoTarjeta.aspx");
                    btnCerrarCuenta.Visible = false;
                    break;

                case EstadoPedido.cerradoMixto:
                    lblTotalPagarCuenta.Text = string.Format("${0:N0}", pedido.Total);
                    upModalPagoMixto.Update();
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalPagoMixto", "$('#modalPagoMixto').modal('show');", true);
                    break;
                }

                limpiarTabs();
                tabMiOrden.Attributes.Add("class", "nav-link active");
                divMiOrden.Attributes.Add("class", "tab-pane active show");
            }
            catch (Exception ex)
            {
                string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true);
                return;
            }
        }
 public void Incluir(Pedido pedido)
 {
     pedidoRepository.Incluir(pedido);
 }
Esempio n. 48
0
        private void AbrePedido(int codpedido)
        {
            var U = new Pedido();

            U.UpdateStatus(codpedido, "ABERTO");
        }
Esempio n. 49
0
        public static void InserirDadosDb(SmartStoreDbContext context)
        {
            Console.WriteLine("Aplicando Migrations...");
            context.Database.Migrate();

            if (!context.Produtos.Any())
            {
                Console.WriteLine("Criando dados...");

                List <Produto> produtos = new List <Produto>();
                var            prodSmartphoneSamsung = new Produto {
                    Id = Guid.NewGuid(), Tag = "1971C36E", Marca = "Samsung", Modelo = "Smartphone A10s", Descricao = "Memória RAM: 2GB", Valor = 949.00m
                };
                var prodSmartphoneLG = new Produto {
                    Id = Guid.NewGuid(), Tag = "E12B6320", Marca = "LG", Modelo = "Smartphone K50s", Descricao = "Memória RAM: 3GB", Valor = 989.00m
                };
                produtos.Add(prodSmartphoneSamsung);
                produtos.Add(prodSmartphoneLG);

                var categoriaTelefonia = new Categoria {
                    Id = Guid.NewGuid(), Nome = "Telefonia"
                };

                var pedido = new Pedido {
                    Id = Guid.NewGuid(), Instante = DateTime.Now
                };

                List <ItemPedido> itemPedidos = new List <ItemPedido>();
                var itemPedido1 = new ItemPedido {
                    Id = Guid.NewGuid(), PedidoId = pedido.Id, ProdutoId = prodSmartphoneSamsung.Id, Desconto = 0.00, Quantidade = 1, Produto = prodSmartphoneSamsung, Pedido = pedido, Valor = prodSmartphoneSamsung.Valor
                };
                var itemPedido2 = new ItemPedido {
                    Id = Guid.NewGuid(), PedidoId = pedido.Id, ProdutoId = prodSmartphoneLG.Id, Desconto = 0.00, Quantidade = 1, Produto = prodSmartphoneLG, Pedido = pedido, Valor = prodSmartphoneLG.Valor
                };
                itemPedidos.Add(itemPedido1);
                itemPedidos.Add(itemPedido2);

                pedido.Itens = itemPedidos;
                pedido.Total = itemPedidos.Sum(x => x.Valor);

                List <ProdutoCategoria> telefoniaProdutoCategorias = new List <ProdutoCategoria>();
                var produtoCategoria1 = new ProdutoCategoria {
                    Id = Guid.NewGuid(), ProdutoId = prodSmartphoneSamsung.Id, CategoriaId = categoriaTelefonia.Id, Produto = prodSmartphoneSamsung, Categoria = categoriaTelefonia
                };
                var produtoCategoria2 = new ProdutoCategoria {
                    Id = Guid.NewGuid(), ProdutoId = prodSmartphoneLG.Id, CategoriaId = categoriaTelefonia.Id, Produto = prodSmartphoneLG, Categoria = categoriaTelefonia
                };
                telefoniaProdutoCategorias.Add(produtoCategoria1);
                telefoniaProdutoCategorias.Add(produtoCategoria2);

                categoriaTelefonia.Produtos = telefoniaProdutoCategorias;

                context.Produtos.AddRange(produtos);
                context.Categorias.AddRange(categoriaTelefonia);
                context.Pedidos.AddRange(pedido);
                context.ItemPedidos.AddRange(itemPedidos);
                context.ProdutoCategorias.AddRange(telefoniaProdutoCategorias);
                context.SaveChanges();
            }
            else
            {
                Console.WriteLine("Dados já existem...");
            }
        }
Esempio n. 50
0
        public string ConstruirEncabezado(Empresa empresa, Pedido pedido,
                                          string textoInicial = default(string))
        {
            var filas = new List <Fila>(
                new Fila[] {
                new Fila {
                    Label = "Oferta No:", Value = pedido.Consecutivo.ToString().PadLeft(8, '0')
                },
                new Fila {
                    Label = "Fecha Envio:", Value = pedido.FechaEnvio.HasValue?pedido.FechaEnvio.Value.ToString("dd.MM.yyyy"):"Pendiente"
                },
                new Fila {
                    Label = "Válida Hasta:", Value = pedido.VigenteHasta.HasValue? pedido.VigenteHasta.Value.ToString("dd.MM.yyyy"):"Pendiente"
                },
                new Fila {
                    Label = "Forma de Pago:", Value = pedido.DescripcionFormaPago
                },
                new Fila {
                    Label = "Fecha Aceptación:", Value = pedido.FechaAceptacion.HasValue? pedido.FechaAceptacion.Value.ToString("dd.MM.yyyy"):"Pendiente"
                },
                new Fila {
                    Label = "Enviado Por:", Value = pedido.NombreEnviadoPor
                }
            });

            var filasHtml = ConstruirFilasEncabezado(filas);

            var filasFormato = new List <Fila>(
                new Fila[] {
                new Fila {
                    Value = empresa.Formato
                },
                new Fila {
                    Value = empresa.Edicion
                },
                new Fila {
                    Value = string.Empty.ValueOrHtmlSpace()
                },
                new Fila {
                    Value = string.Empty.ValueOrHtmlSpace()
                },
                new Fila {
                    Value = string.Empty.ValueOrHtmlSpace()
                },
                new Fila {
                    Value = string.Empty.ValueOrHtmlSpace()
                }
            });

            var filasFormatoHtml = ConstruirFilasFormato(filasFormato);

            return(string.Format(@"{0}
	<table style=""border-collapse: collapse; width: 100%; "">
		<tbody>
			<tr>
				<td style=""width: 20%;"">
					<table border=""0"" cellpadding=""1"" cellspacing=""1"" style=""width: 100%; "">
						<tbody>
							<tr>
								<td>
									<p><img alt=""{1}"" src=""{2}"" title="""" width=""60%"" /></p>
									<p>	NIT:{3}</p>
								</td>
							</tr>
						</tbody>
					</table>
				</td>
				<td style=""padding: .3em; "">
					<table cellpadding=""1"" cellspacing=""1"" style=""border: 1px #ccc solid; "">
						<tbody>
							{4}
						</tbody>
					</table>
				</td>
				<td style=""padding: .3em; "">
					<table cellpadding=""1"" cellspacing=""1"">
						<tbody>
							{5}
						</tbody>
					</table>
				</td>
			</tr>
		</tbody>
	</table>
<br />
",
                                 textoInicial.IsNullOrEmpty()?"":"<p lang=\"es\">" + textoInicial.Decode() + "</p>",
                                 empresa.Nombre,
                                 empresa.ApplicationHost.IsNullOrEmpty()?"resources/logo.png": empresa.ApplicationHost + "/resources/logo.png",
                                 empresa.Nit,
                                 filasHtml,
                                 filasFormatoHtml));
        }
Esempio n. 51
0
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        if (seleccion)
        {
            try
            {
                Pedido pedido = LogicaPedido.BuscarPedido((int)Session["NumeroPedido"]);

                LogicaPedido.EliminarPedido(pedido);

                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Pedido eliminado exitosamente.!";

                DesactivarBotones();
                btnEliminar.Visible = false;
            }
            catch (ApplicationException ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! Al eliminar el pedido.";
            }
        }
        else
        {
            try
            {
                Pedido pedido = LogicaPedido.BuscarPedido((int)Session["NumeroPedido"]);

                bool   noDuplicar        = false;
                string articuloEliminado = "";

                foreach (LineaPedido lp in pedido.LineasPedidos)
                {
                    if (lp.PArticulo.Eliminado == true)
                    {
                        noDuplicar         = true;
                        articuloEliminado += lp.PArticulo.Nombre;
                    }
                }

                if (noDuplicar)
                {
                    btnDuplicar.Visible = false;
                    btnAceptar.Visible  = false;
                    btnCancelar.Visible = false;
                    throw new ExcepcionPresentacion("No se puede duplicar el pedido porque " + articuloEliminado + " ya no esta/n disponible/s.");
                }
                else
                {
                    pedido.Enviado = false; //duplica pero no lo envia

                    LogicaPedido.AgregarPedido(pedido);

                    lblMensaje.ForeColor = System.Drawing.Color.Green;
                    lblMensaje.Text      = "¡Pedido duplicado exitosamente.!";

                    DesactivarBotones();
                    btnDuplicar.Visible = false;
                }
            }
            catch (ApplicationException ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! Al duplicar el pedido.";
            }
        }
    }
Esempio n. 52
0
        public IActionResult Resumo()
        {
            Pedido pedido = pedidoRepository.GetPedido();

            return(View(pedido));
        }
 public void Atualizar(Pedido pedido)
 {
     _context.Pedidos.Update(pedido);
 }
Esempio n. 54
0
        protected void btnAgregarArticuloPedido_Click(object sender, EventArgs e)
        {
            validarIngreso();
            Page.Validate("ValidacionArticulo");
            if (!Page.IsValid)
            {
                upModalArticulo.Update();
                return;
            }
            try
            {
                int    cantidad    = Convert.ToInt32(txtCantidadArticulo.Text);
                string comentarios = txtComentarioArticulo.Text;
                int    idArticulo  = Convert.ToInt32(txtIdArticulo.Text);

                if (cantidad > 10)
                {
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "erroArticulo", "Swal.fire('La cantidad máxima por pedido es de 10 artículos', '', 'error');", true);
                    return;
                }
                // Info de artículos disponibles para pedir
                List <Articulo> articulosDisponibles = (List <Articulo>)Session["articulosDisponibles"];
                Articulo        articulo             = articulosDisponibles.FirstOrDefault(a => a.Id == idArticulo);
                if (articulo == null)
                {
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "erroArticulo", "Swal.fire('Error al agregar artículo', '', 'error');", true);
                    return;
                }

                List <ArticuloPedido> articulosPedido = (List <ArticuloPedido>)Session["articulosPedidoCliente"];
                Pedido pedidoCliente = (Pedido)Session["pedidoCliente"];

                ArticuloPedido nuevoArticuloPedido = crearArticuloPedido(articulo, cantidad, comentarios);
                articulosPedido.Add(nuevoArticuloPedido);
                if (pedidoCliente != null)
                {
                    guardarArticuloPedido(nuevoArticuloPedido, pedidoCliente.Id);
                }
                else
                {
                    btnHacerPedido.Visible = true;
                }

                recargarArticulosPedido(articulosPedido);

                if (pedidoCliente != null)
                {
                    pedidoCliente.Total = articulosPedido.Sum(x => x.Total);
                    Token token = (Token)Session["token"];
                    _pedidoService             = new PedidoService(token.access_token);
                    pedidoCliente.EstadoPedido = null;
                    pedidoCliente.Reserva      = null;
                    bool editar = _pedidoService.Modificar(pedidoCliente, pedidoCliente.Id);
                }
                limpiarTabsMenu(articulo.IdTipoConsumo);
                Session["pedidoCliente"] = pedidoCliente;

                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalArticulo", "$('#modalArticulo').modal('hide');", true);
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "creacionArticulo", "Swal.fire('Artículo agregado al pedido', '', 'success');", true);
            }
            catch (Exception ex)
            {
                string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true);
                return;
            }
            limpiarTabs();
            tabMiOrden.Attributes.Add("class", "nav-link active");
            divMiOrden.Attributes.Add("class", "tab-pane active show");
        }
        public void GerarNotaFiscal(Pedido pedido)
        {
            NotaFiscal notaFiscal = new NotaFiscal();

            notaFiscal.EmitirNotaFiscal(pedido);
        }
Esempio n. 56
0
 public void CriaPedido(Pedido pedido)
 {
     context.Add(pedido);
     context.SaveChanges();
 }
Esempio n. 57
0
 public void InserirPedido(Pedido Pedido)
 {
     Banco.InserirPedido(Pedido);
 }
 public async Task <ActionResult <Pedido> > PostPedido(Pedido pedido)
 {
     return(await _pedidoFacade.CreatePedidoAsync(pedido));
 }
Esempio n. 59
0
 public void InserirPedido(Pedido Pedido)
 {
     Connection.Open();
     SqlCommand Comando = new SqlCommand("INSERT INTO PEDIDO VALUES ");
     Connection.Close();
 }
Esempio n. 60
0
        public override void Salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Pedido pedido = (Pedido)entidade;

            pst.CommandText = "INSERT INTO tb_pedido(username, total_pedido, status_pedido_fk, end_entrega_fk, frete, dt_cadastro_pedido) " +
                              "VALUES (:1, :2, :3, :4, :5, :6) RETURNING id_pedido ";

            parameters = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", pedido.Usuario),
                new NpgsqlParameter("2", pedido.Total),
                new NpgsqlParameter("3", pedido.Status.ID),
                new NpgsqlParameter("4", pedido.EnderecoEntrega.ID),
                new NpgsqlParameter("5", pedido.Frete),
                new NpgsqlParameter("6", pedido.DataCadastro)
            };

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;
            pedido.ID       = entidade.ID = (int)pst.ExecuteScalar();
            // já executa o comando na linha anterior
            //pst.ExecuteNonQuery();

            // variáveis que conterão os valores do pedido (Subtotal)
            // e também os valores dos cupons para tirar a diferença dos mesmo,
            // se necessário criar outro cupom de troca
            decimal subtotal    = 0;
            decimal valorCupons = 0;

            // salvando os itens do pedido
            PedidoDetalheDAO pedidoDetalheDAO = new PedidoDetalheDAO(connection, false);

            foreach (PedidoDetalhe detalhe in pedido.Detalhes)
            {
                detalhe.IdPedido = pedido.ID;
                pedidoDetalheDAO.Salvar(detalhe);

                if (pedido.Status.ID != 6)
                {
                    // a cada iteração da lista pega a quantidade e valor do item que está sendo iterado
                    subtotal += (decimal)(detalhe.Quantidade * detalhe.ValorUnit);

                    // Dando baixa no estoque
                    Estoque estoque = ((Estoque) new EstoqueDAO().Consultar(new Estoque()
                    {
                        Livro = new Livro()
                        {
                            ID = detalhe.Livro.ID
                        }
                    }).ElementAt(0));
                    estoque.Qtde -= detalhe.Quantidade;
                    new EstoqueDAO(connection, false).Alterar(estoque);
                }
            }

            // salvando os cartões utilizados no pedido
            CCPedidoDAO ccPedidoDAO = new CCPedidoDAO(connection, false);

            foreach (CartaoCreditoPedido cc in pedido.CCs)
            {
                cc.IdPedido = pedido.ID;
                ccPedidoDAO.Salvar(cc);
            }

            // verifica se cupom promocional foi utilizada
            if (pedido.CupomPromocional.ID != 0)
            {
                ClientePF cliente = new ClientePF();
                // passa usuário que é dono do pedido para o e-mail do cliente
                cliente.Email = pedido.Usuario;

                // para trazer o ID do cliente que será utilizado
                cliente = ((ClientePF) new ClientePFDAO().Consultar(cliente).ElementAt(0));

                // contem que o cliente já utilizou o cupom promocional
                PedidoXCupom clienteXCupom = new PedidoXCupom();
                clienteXCupom.ID       = pedido.ID;
                clienteXCupom.Cupom.ID = pedido.CupomPromocional.ID;

                // preparando e salvando no BD
                PedidoXCupomDAO pedidoXCupomDAO = new PedidoXCupomDAO(connection, false);
                pedidoXCupomDAO.Salvar(clienteXCupom);

                // consulta em CupomDAO para pegar o valor do cupom e assim fazer a conta para valor de cupons
                Cupom cupom = new Cupom();
                cupom = ((Cupom) new CupomDAO().Consultar(pedido.CupomPromocional).ElementAt(0));

                // Operação é multiplicação devido ser porcentagem (%)
                valorCupons = subtotal * (decimal)cupom.ValorCupom;
            }

            // alterando status do cupom que o cliente utilizou
            foreach (Cupom cp in pedido.CuponsTroca)
            {
                Cupom cupom = new Cupom();
                cupom          = ((Cupom) new CupomDAO().Consultar(cp).ElementAt(0));
                cupom.IdPedido = pedido.ID;
                cupom.Status   = 'I';
                new CupomDAO(connection, false).Alterar(cupom);

                // adiciona o valor do cupom para variável
                valorCupons += (decimal)cupom.ValorCupom;
            }

            // verifica se o valor dos cupons usados superam o valor do subtotal
            // se sim, criará outro cupom de troca para o cliente poder estar usando
            if (valorCupons > subtotal)
            {
                ClientePF cliente = new ClientePF();
                // passa usuário que é dono do pedido para o e-mail do cliente
                cliente.Email = pedido.Usuario;

                // para trazer o ID do cliente que será utilizado
                cliente = ((ClientePF) new ClientePFDAO().Consultar(cliente).ElementAt(0));

                Cupom cupom = new Cupom();
                cupom.IdCliente   = cliente.ID;
                cupom.Tipo.ID     = 1;  // cupom troca
                cupom.Status      = 'A';
                cupom.ValorCupom  = (float)(valorCupons - subtotal);
                cupom.CodigoCupom = "AUTOMATICO" + cupom.IdCliente + DateTime.Now.ToString("yyyyMMddHHmmss") + "$" + cupom.ValorCupom;
                new CupomDAO(connection, false).Salvar(cupom);
            }

            if (ctrlTransaction == true)
            {
                pst.CommandText = "COMMIT WORK";
                connection.Close();
            }

            return;
        }