// PRE: cliente != null. // POS: devuelve una lista compuesta por objetos de tipo Presupuesto, cuyo cliente asociado sea el cliente pasado como parámetro. public static List <MD.Presupuesto> GetPresupuestosPorCliente(MD.Cliente cliente) { List <MD.Presupuesto> presupuestos = Persistencia.PersistenciaPresupuesto.GetTodos(); List <MD.Presupuesto> solucion = new List <MD.Presupuesto>(); foreach (MD.Presupuesto presupuesto in presupuestos) { if (presupuesto.Cliente.Equals(cliente)) { solucion.Add(presupuesto); } } return(solucion); }
// PRE: // POS: cuando se selecciona un objeto diferente del ComboBox, es decir, cuando cambia el índice del objeto seleccionado // POS: se actualiza el control de usuario InfoCliente con la información del cliente seleccionado. private void comboDNIs_SelectedIndexChanged(object sender, EventArgs e) { MD.Cliente seleccionado = clientes[comboDNIs.Text]; string[] trozos = seleccionado.Nombre.Split(' '); string nombre = trozos[0]; string apellidos = ""; if (trozos.Length > 1) { for (int i = 1; i < trozos.Length; i++) { apellidos += trozos[i] + " "; } apellidos = apellidos.Trim(); } clienteInfo1.Nombre = nombre; clienteInfo1.Apellidos = apellidos; }
// PRE: // POS: crea un formulario ClienteAltaBaja, que según el parámetro accion será usado para dar de alta a un cliente, // POS: dar de baja o buscar la información almacenada de un cliente mediante su DNI. public ClienteAltaBaja(String DNI, String accion) { InitializeComponent(); this.accion = accion; this.DNI = DNI; txbDNI.Text = DNI; // Alta if (accion.Equals("Alta")) { this.Text = "Alta de un cliente"; txbDNI.ReadOnly = true; } // Baja if (accion.Equals("Baja")) { MD.Cliente cliente = LNCliente.Cliente.GetCliente(this.DNI); this.Text = "Baja de un cliente"; txbNombre.Text = cliente.Nombre; txbTelefono.Text = cliente.Telefono; if (cliente.Categoria.Equals(MD.Categoria.A)) { rbA.Checked = true; } if (cliente.Categoria.Equals(MD.Categoria.B)) { rbB.Checked = true; } if (cliente.Categoria.Equals(MD.Categoria.C)) { rbC.Checked = true; } txbDNI.ReadOnly = true; txbNombre.ReadOnly = true; txbTelefono.ReadOnly = true; rbA.Enabled = false; rbB.Enabled = false; rbC.Enabled = false; } // Busqueda if (accion.Equals("Busqueda")) { MD.Cliente cliente = LNCliente.Cliente.GetCliente(this.DNI); this.Text = "Datos del cliente"; txbNombre.Text = cliente.Nombre; txbTelefono.Text = cliente.Telefono; if (cliente.Categoria.Equals(MD.Categoria.A)) { rbA.Checked = true; } if (cliente.Categoria.Equals(MD.Categoria.B)) { rbB.Checked = true; } if (cliente.Categoria.Equals(MD.Categoria.C)) { rbC.Checked = true; } txbDNI.ReadOnly = true; txbNombre.ReadOnly = true; txbTelefono.ReadOnly = true; rbA.Enabled = false; rbB.Enabled = false; rbC.Enabled = false; btCancelar.Hide(); btAceptar.Location = new Point(117, 249); } }
// PRE: // POS: según la acción pedida por el usuario (alta, baja o búsqueda) el botón aceptar guardará, eliminará o mostrará // POS: respectivamente la información afectada. private void btAceptar_Click(object sender, EventArgs e) { // Alta if (accion.Equals("Alta")) { if (string.IsNullOrEmpty(txbNombre.Text)) { MessageBox.Show("Debes introducir un nombre para el cliente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (txbTelefono.Text.Equals("")) { MessageBox.Show("Debes introducir un telefono para el cliente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (!rbA.Checked && !rbB.Checked && !rbC.Checked) { MessageBox.Show("Debes marcar una categoría", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MD.Categoria cat = MD.Categoria.A; if (rbA.Checked) { cat = MD.Categoria.A; } if (rbB.Checked) { cat = MD.Categoria.B; } if (rbC.Checked) { cat = MD.Categoria.C; } LNCliente.Cliente.AltaCliente(new MD.Cliente(txbDNI.Text, txbNombre.Text, txbTelefono.Text, cat)); btCancelar.PerformClick(); } } } } // Baja if (accion.Equals("Baja")) { DialogResult res = new DialogResult(); res = MessageBox.Show("¿Está seguro que desea dar de baja a ese cliente?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (res == DialogResult.Yes) { MD.Cliente cliente = LNCliente.Cliente.GetCliente(this.DNI); LNCliente.Cliente.BajaCliente(cliente); DialogResult res2 = new DialogResult(); res2 = MessageBox.Show("Cliente eliminado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (res == DialogResult.No) { this.Close(); } this.Close(); } // Busqueda if (accion.Equals("Busqueda")) { this.Close(); } }
// PRE: fecha != null, cliente != null, valoraciones != null. // POS: persiste un nuevo presupuesto en el sistema con los valores facilitados como parámetros. public static void CrearPresupuesto(DateTime fecha, MD.Cliente cliente, Dictionary <MD.Vehiculo, double> valoraciones) { Persistencia.PersistenciaPresupuesto.Añadir(new MD.Presupuesto(fecha, cliente, valoraciones)); }