Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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));
                }
            }
        }
Exemplo n.º 4
0
        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");
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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();
        }