예제 #1
0
 private void FinalizarButton_Click(object sender, RoutedEventArgs e)
 {
     if (ValidarCadenaVacioPermitido(ComentariosClienteTextBlock.Text) &&
         ValidarTelefono(NumeroTelefonicoTextBox.Text) &&
         ValidarNombre(NombreDeClienteTextBox.Text) &&
         ValidarCadena(DireccionClienteTextBlock.Text) &&
         ValidarCadenaVacioPermitido(ComentariosOrdenTextBlock.Text) &&
         Pedido.CantidadAlimentos.Count > 0)
     {
         Pedido.CalcularPrecioTotal();
         Pedido.Comentario      = ComentariosOrdenTextBlock.Text;
         Pedido.Creador         = EmpleadoDeCallCenter.Nombre;
         Pedido.Iva             = Iva.Valor;
         Pedido.FechaDeCreacion = DateTime.Now;
         Cliente.Direcciones.Add(DireccionClienteTextBlock.Text);
         if (Cliente.Id <= 0)
         {
             Cliente.Telefono   = NumeroTelefonicoTextBox.Text;
             Cliente.Comentario = ComentariosClienteTextBlock.Text;
             Cliente.Nombre     = NombreDeClienteTextBox.Text;
             Cliente.Direcciones.Add(DireccionClienteTextBlock.Text);
             Cliente.NombreDelCreador = EmpleadoDeCallCenter.Nombre;
         }
         Cuenta cuenta = new Cuenta()
         {
             Direccion = DireccionClienteTextBlock.Text,
             Clientes  = new List <Cliente>()
             {
                 Cliente
             },
             Estado   = LogicaDeNegocio.Enumeradores.EstadoCuenta.Abierta,
             Empleado = EmpleadoDeCallCenter,
             Pedidos  = new List <Pedido>()
             {
                 Pedido
             }
         };
         Pedido.Cuenta      = cuenta;
         cuenta.PrecioTotal = Pedido.PrecioTotal;
         cuenta.CalcularPrecioTotal();
         CuentaDAO cuentaDAO = new CuentaDAO();
         cuentaDAO.CrearCuentaConPedidos(cuenta);
         Pedido.DescontarIngredientes();
         MessageBox.Show("Pedido realizado con exito", "¡Exito!");
         LimpiarPantalla();
         LimpiarCliente();
     }
     else
     {
         MessageBox.Show("Error, verifique los campos remarcados en rojo y que haya añadido por lo menos un producto al pedido", "Alerta", MessageBoxButton.OK, MessageBoxImage.Error);
         MostrarEstadoDeValidacionCadenaVacioPermitido(ComentariosClienteTextBlock);
         MostrarEstadoDeValidacionTelefono(NumeroTelefonicoTextBox);
         MostrarEstadoDeValidacionNombre(NombreDeClienteTextBox);
         MostrarEstadoDeValidacionCadena(DireccionClienteTextBlock);
         MostrarEstadoDeValidacionCadenaVacioPermitido(ComentariosOrdenTextBlock);
     }
 }