protected void btn_mudarestado_Click(object sender, EventArgs e) { try { int estado = int.Parse(dp_estados.SelectedValue.ToString()); int id_estafeta = int.Parse(Session["id_user"].ToString()); DataTable dados = Orders.GetEstafetaOrder(id_estafeta); if (dados == null) { return; } int id_order = int.Parse(dados.Rows[0]["id"].ToString()); if (estado == 3 || estado == 4) { if (Orders.IsOrderMenusCompleted(id_order)) { Orders.ToggleState(id_order, estado); if (estado == 4) { Pagamento pagamento = new Pagamento(); pagamento.valor = 2.5; pagamento.PagarEstafeta(id_estafeta); ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Pagamento Recebido','Recebeste o valor de 2,50€ na tua conta.', 'success')", true); DataTable dados2 = OrdersMenus.getOrdersMenusFromOrder(id_order); foreach (DataRow row in dados2.Rows) { int id_restaurante = int.Parse(row["id_restaurante"].ToString()); double preco = double.Parse(row["preco"].ToString()); pagamento.valor = preco / 1.6; pagamento.PagarRestaurante(id_restaurante); } } } else { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Por Favor Aguarde','Os menus ainda não estão finalizados, aguarde!', 'error')", true); } } else { Orders.ToggleState(id_order, estado); } AtualizarPedidoInfo(); AtualizarGrid(); } catch (Exception) { AtualizarPedidoInfo(); AtualizarGrid(); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["perfil"] == null || Session["perfil"].ToString() != "0") { Response.Redirect("~/index.aspx"); } int id_pedido = -1; if (Request["pedido"] == null || !int.TryParse(Request["pedido"].ToString(), out id_pedido)) { Response.Redirect("~/index.aspx"); } if (IsPostBack) { return; } DataTable dados = OrdersMenus.getOrdersMenusFromOrder(id_pedido); dgv_pedidos.Columns.Clear(); dgv_pedidos.DataSource = null; dgv_pedidos.DataBind(); dgv_pedidos.DataSource = dados; dgv_pedidos.AutoGenerateColumns = false; BoundField bfID = new BoundField(); bfID.HeaderText = "ID"; bfID.DataField = "id"; dgv_pedidos.Columns.Add(bfID); BoundField bfMenu = new BoundField(); bfMenu.HeaderText = "Menu"; bfMenu.DataField = "title"; dgv_pedidos.Columns.Add(bfMenu); BoundField bfQuantidade = new BoundField(); bfQuantidade.HeaderText = "Quantidade"; bfQuantidade.DataField = "quantity"; dgv_pedidos.Columns.Add(bfQuantidade); BoundField bfEstado = new BoundField(); bfEstado.HeaderText = "Estado"; bfEstado.DataField = "estado"; dgv_pedidos.Columns.Add(bfEstado); dgv_pedidos.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { if (Session["perfil"] == null || Session["perfil"].ToString() != "0") { Response.Redirect("~/index.aspx"); } int id_user = 0; if (Request["user"] == null || !int.TryParse(Request["user"].ToString(), out id_user)) { Response.Redirect("~/index.aspx"); } if (IsPostBack) { return; } DataTable dados = Orders.GetOrdersFromUser(id_user); foreach (DataRow row in dados.Rows) { int id_order = int.Parse(row["id"].ToString()); int state = int.Parse(row["state"].ToString()); DateTime createDate = DateTime.Parse(row["createDate"].ToString()); TreeNode root = new TreeNode("Pedido Num." + id_order); tree_pedidos.Nodes.Add(root); DataTable dados2 = OrdersMenus.getOrdersMenusFromOrder(id_order); foreach (DataRow row2 in dados2.Rows) { string title = row2["title"].ToString(); int quantidade = int.Parse(row2["quantity"].ToString()); root.ChildNodes.Add(new TreeNode(title + " : " + quantidade)); } } }
protected void btn_submit_Click(object sender, EventArgs e) { try { int id_order = int.Parse(Request["id"].ToString()); var dp_restaurantes = (Page.Master.FindControl("dp_restaurantes") as DropDownList); int id_restaurante = int.Parse(dp_restaurantes.SelectedValue.ToString()); int id_user = int.Parse(Session["id_user"].ToString()); if (!Restaurant.UserOwnsRestaurant(id_restaurante, id_user)) { Response.Redirect("~/restaurant/dashboard.aspx"); } if (!Restaurant.OwnsOrderMenu(id_restaurante, id_order)) { Response.Redirect("~/restaurant/dashboard.aspx"); } int estado = int.Parse(radius_list.SelectedValue); if (estado <= 0 || estado > 3) { throw new Exception("Estado inválido"); } OrdersMenus order = new OrdersMenus(id_order); order.AlterarEstado(estado); } catch (Exception erro) { } finally { Response.Redirect("~/restaurant/dashboard.aspx"); } }
protected void btn_confirmar_Click(object sender, EventArgs e) { int morada = -1; if (Request.Cookies["morada"] == null || !int.TryParse(Request.Cookies["morada"].Value.ToString(), out morada)) { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Erro','Selecione uma morada válida', 'error')", true); return; } Request.Cookies["morada"].Expires = DateTime.Now.AddDays(-1); int id_user = int.Parse(Session["id_user"].ToString()); Models.User user = new User(id_user); if (!user.IsAddressFromUser(morada)) { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Erro','Selecione uma morada válida', 'error')", true); return; } double usersaldo = user.getSaldo(); DataTable dados = ShoppingCart.GetCarrinhoFromUser(id_user); if (dados == null || dados.Rows.Count <= 0) { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Erro','Sem produtos no carrinho', 'error')", true); return; } double totalcarrinho = ShoppingCart.GetCarrinhoValue(id_user); if (usersaldo < totalcarrinho) { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowNotification('Erro','Saldo insuficiente', 'error')", true); return; } Pagamento pagamento = new Pagamento(); pagamento.user = id_user; pagamento.valor = totalcarrinho; pagamento.saldo = usersaldo; int id_order = Orders.CriarPedido(id_user, morada); pagamento.order = id_order; pagamento.PagarOrder(); OrdersMenus ordersMenus = new OrdersMenus(); foreach (DataRow row in dados.Rows) { int id_menu = int.Parse(row["MenuId"].ToString()); int quantidade = int.Parse(row["Quantidade"].ToString()); ordersMenus.menu = id_menu; ordersMenus.quantity = quantidade; ordersMenus.CriarOrderMenu(id_order); } ShoppingCart.DeleteCarrinho(id_user); ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MostrarNotificação", "ShowCartNotification('Sucesso','Compra efetuada com sucesso', 'success')", true); }
private void AtualizarPedidoInfo() { int id_estafeta = int.Parse(Session["id_user"].ToString()); DataTable dados = Orders.GetEstafetaOrder(id_estafeta); if (dados == null) { div_pedidoaceite.Visible = false; return; } int id_order = int.Parse(dados.Rows[0]["id"].ToString()); int estadonum = int.Parse(dados.Rows[0]["estadonum"].ToString()); string cliente = dados.Rows[0]["Cliente"].ToString(); string Estado = dados.Rows[0]["Estado"].ToString(); string Cidade = dados.Rows[0]["Cidade"].ToString(); string CP = dados.Rows[0]["CP"].ToString(); string Morada = dados.Rows[0]["Morada"].ToString(); DateTime Data = DateTime.Parse(dados.Rows[0]["Data"].ToString()); dp_estados.SelectedValue = estadonum.ToString(); lb_cliente.InnerText = cliente; lb_estado.InnerText = Estado; lb_city.InnerText = Cidade; lb_cp.InnerText = CP; lb_morada.InnerText = Morada; lb_data.InnerText = Data.ToString(); div_pedidoaceite.Visible = true; DataTable dados2 = OrdersMenus.getOrdersMenusFromOrder(id_order); dgv_pedidoinfo.Columns.Clear(); dgv_pedidoinfo.DataSource = null; dgv_pedidoinfo.DataBind(); dgv_pedidoinfo.DataSource = dados2; dgv_pedidoinfo.AutoGenerateColumns = false; BoundField bfID = new BoundField(); bfID.HeaderText = "ID"; bfID.DataField = "id"; dgv_pedidoinfo.Columns.Add(bfID); BoundField bfMenu = new BoundField(); bfMenu.HeaderText = "Menu"; bfMenu.DataField = "title"; dgv_pedidoinfo.Columns.Add(bfMenu); BoundField bfRestaurante = new BoundField(); bfRestaurante.HeaderText = "Restaurante"; bfRestaurante.DataField = "nome_restaurante"; dgv_pedidoinfo.Columns.Add(bfRestaurante); BoundField bfMoradaRestaurante = new BoundField(); bfMoradaRestaurante.HeaderText = "Morada Restaurante"; bfMoradaRestaurante.DataField = "morada_restaurante"; dgv_pedidoinfo.Columns.Add(bfMoradaRestaurante); BoundField bfCpRestaurante = new BoundField(); bfCpRestaurante.HeaderText = "CP Restaurante"; bfCpRestaurante.DataField = "cp_restaurante"; dgv_pedidoinfo.Columns.Add(bfCpRestaurante); BoundField bfCidade = new BoundField(); bfCidade.HeaderText = "Cidade Restaurante"; bfCidade.DataField = "cidade_restaurante"; dgv_pedidoinfo.Columns.Add(bfCidade); BoundField bfQuantidade = new BoundField(); bfQuantidade.HeaderText = "Quantidade"; bfQuantidade.DataField = "quantity"; dgv_pedidoinfo.Columns.Add(bfQuantidade); BoundField bfEstado = new BoundField(); bfEstado.HeaderText = "Estado"; bfEstado.DataField = "estado"; dgv_pedidoinfo.Columns.Add(bfEstado); dgv_pedidoinfo.DataBind(); }