private void obtenerDatosComandaActual() { Comanda comanda = new Comanda(); comanda = ComandaLN.SeleccionarComandaSegunMesaAsignada((string)Session["mesa_id"]); if (comanda != null) { comanda.estadoComanda = EstadoComandaLN.SeleccionarEstadoComanda(comanda.estadoComanda.estadoComanda_id); comanda.mesa = MesaLN.SeleccionarMesa(comanda.mesa.mesa_id); comanda.estadoCuenta = EstadoCuentaLN.SeleccionarEstadoCuenta(comanda.estadoCuenta.estadoCuenta_id); asignarDatosSegunComanda(comanda); } establecerSesionComandaActual(); }
/// <summary> /// Finalizar la comanda con la facturacion del dinero relacionado con la comanda. /// </summary> /// <param name="comanda"></param> private void cancelarCuenta(Comanda comanda) { if (comanda.estadoCuenta.estadoCuenta_id.Equals("CXP")) { //update comanda foreach (PagoCuenta item in comanda.obtenerDetallePagos()) { try { //Actualiza y guarda el pago de la comanda con su respectivo monto PagoCuentaLN.Nuevo(comanda.comanda_id, item); //Actualiza el estado de la cuenta //crea un nuevo objeto 'EstadoCuenta' EstadoCuenta estadoCuenta = new EstadoCuenta(); //Selecciona el objeto desde la base de datos estadoCuenta = EstadoCuentaLN.SeleccionarEstadoCuenta("C-SUCCESS"); //Se agrega el objeto a la comanda actual comanda.estadoCuenta = estadoCuenta; //Actualiza el estado de la comanda a finalizada comanda.estadoComanda = EstadoComandaLN.SeleccionarEstadoComanda("FIN"); //Actualiza el estado de la cuenta a nivel de datos ComandaLN.Modificar(comanda); //Liberar la mesa liberarMesa(comanda); lblErrorMessage.Text = "La comanda has sido cancelada satisfactoriamente. Espere unos segundos y será redirigido a la página principal de comandas."; lblErrorMessage.CssClass = "alert alert-success"; Response.AppendHeader("Refresh", "2;url=reporteFactura.aspx"); } catch (Exception ex) { lblErrorMessage.Text = "Ha ocurrido un error al procesar el pago de la comanda.\n" + "Código de error: " + ex.Message; } } } }
private bool esFacturable(string idMesa) { Comanda comanda = new Comanda(); comanda = ComandaLN.SeleccionarComandaSegunMesaAsignada(idMesa); if (comanda != null) { comanda.estadoComanda = EstadoComandaLN.SeleccionarEstadoComanda(comanda.estadoComanda.estadoComanda_id); comanda.mesa = MesaLN.SeleccionarMesa(comanda.mesa.mesa_id); comanda.estadoCuenta = EstadoCuentaLN.SeleccionarEstadoCuenta(comanda.estadoCuenta.estadoCuenta_id); } if (comanda.estadoComanda.estadoComanda_id.Equals("DE")) { return(true); } return(false); }