Exemplo n.º 1
0
        /// <summary>
        /// Método de respuesta al evento de click en el menú tsAltaCliente.
        /// Gestiona la operación de alta de un nuevo cliente.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsAltaCliente_Click(object sender, EventArgs e)
        {
            FClave       fc = new FClave("DNI del cliente: ");
            DialogResult dr = fc.ShowDialog();

            if (dr == DialogResult.OK)
            {
                ClienteDTO1 c = new ClienteDTO1(fc.Clave);
                if (!GestionCliente.existeCliente(c))
                {
                    FAltaCliente fac = new FAltaCliente(c.Dni);
                    fac.ucDatos.tbDni.Text    = fc.Clave; //Establece el valor del campo al introducido anteriormente
                    fac.ucDatos.tbDni.Enabled = false;    //Evita que este valor se pueda cambiar
                    DialogResult dr2 = fac.ShowDialog();
                    if (dr2 == DialogResult.OK)
                    {
                        GestionCliente.altaCliente(fac.Client);
                        MessageBox.Show("El cliente se ha añadido correctamente.", "Cliente añadido", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Ya existe un cliente con DNI " + fc.Clave + ".", "Cliente no encontrado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemplo n.º 2
0
 //PRE: Recibe un clienteDTO1 (tan solo conocemos su dni)
 //POST: devuelve un Cliente con el dni del CLienteDTO1 introducido.
 public static Cliente consultarCliente(ClienteDTO1 c)
 {
     if (existeCliente(c))
     {
         return(BD.ColeccionClientes[c.Dni]);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 3
0
        //PRE: Recibe un clienteDTO1 (tan solo conocemos su dni).
        //POST: devuelve una lista de sus presupuestos.
        public static List <Presupuesto> presupuestosCliente(ClienteDTO1 c)
        {
            List <Presupuesto> presupuestos = new List <Presupuesto>();

            foreach (Presupuesto p in BD.ColeccionPresupuestos)
            {
                if (p.Client.Dni.Equals(c.Dni))
                {
                    presupuestos.Add(p);
                }
            }
            return(presupuestos);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Obtiene todos los presupuestos asociados a un cliente a partir de la clave de éste.
        /// </summary>
        /// <param name="c">Clave del cliente.</param>
        /// <returns>Listado de presupuestos del cliente. Puede ser vacío.</returns>
        public static List <Presupuesto> presupuestosCliente(ClienteDTO1 c)
        {
            List <Presupuesto> lista = new List <Presupuesto>();
            Cliente            cli   = null;

            if (GestionCliente.existeCliente(c))
            {
                cli = GestionCliente.consultarCliente(c);
                foreach (Presupuesto p in BD.ColeccionPresupuestos)
                {
                    if (p.Client.Equals(cli))
                    {
                        lista.Add(p);
                    }
                }
            }
            return(lista);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Método de respuesta al evento de click en el menú tsImporteCliente.
        /// Devuelve un mensaje con el importe del cliente con el DNI introducido.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsImporteCliente_Click(object sender, EventArgs e)
        {
            FClave       fc = new FClave("ID Cliente (DNI):");
            DialogResult dr = fc.ShowDialog();

            if (dr == DialogResult.OK)
            {
                ClienteDTO1 cdto = new ClienteDTO1(fc.Clave);
                if (GestionCliente.existeCliente(cdto))
                {
                    MessageBox.Show("El importe total del cliente " + fc.Clave + " es " + GestionCliente.getPresupuestos(cdto), "Importe total", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("El cliente introducido no existe", "Cliente inexistente", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Método de respuesta al evento de click en el menú tsConsultarCliente.
        /// Gestiona la operación de consulta de un cliente.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsConsultarCliente_Click(object sender, EventArgs e)
        {
            FClave       fc = new FClave("DNI del cliente: ");
            DialogResult dr = fc.ShowDialog();

            if (dr == DialogResult.OK)
            {
                ClienteDTO1 c = new ClienteDTO1(fc.Clave);
                if (GestionCliente.existeCliente(c))
                {
                    FBuscarCliente fbc = new FBuscarCliente(GestionCliente.consultarCliente(c));
                    fbc.ShowDialog();
                }
                else
                {
                    MessageBox.Show("No se ha encontrado el cliente con DNI " + fc.Clave + ".", "Cliente no encontrado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemplo n.º 7
0
        //PRE: Recibe un clienteDTO1 (tan solo conocemos su DNI).
        //POST: devuelve la cantidad del importe de este cliente.
        public static double getPresupuestos(ClienteDTO1 c)
        {
            double sum = 0;
            List <LineaPresupuesto> llp = null;
            List <Presupuesto>      lp  = null;

            if ((lp = GestionPresupuesto.presupuestosCliente(c)) != null) // controlo que el cliente tenga presupuestos. Si los tiene...
            {
                foreach (Presupuesto p in lp)
                {
                    llp = p.Lineas;
                    foreach (LineaPresupuesto pp in llp)
                    {
                        if (pp.EstadoLinea == Estado.Aceptado) // tomo únicamente los valores de las líneas que estén aceptadas, el resto están rechazadas o pendientes
                        {
                            sum = sum + pp.Precio;
                        }
                    }
                }
            }
            return(sum);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Método de respuesta al evento de click en el menú tsBajaCliente.
        /// Gestiona la operación de baja de un cliente.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsBajaCliente_Click(object sender, EventArgs e)
        {
            FClave       fc = new FClave("DNI del cliente: ");
            DialogResult dr = fc.ShowDialog();

            if (dr == DialogResult.OK)
            {
                ClienteDTO1 c = new ClienteDTO1(fc.Clave);
                if (GestionCliente.existeCliente(c))
                {
                    FBajaCliente fbc = new FBajaCliente(GestionCliente.consultarCliente(c));
                    DialogResult dr2 = fbc.ShowDialog();
                    if (dr2 == DialogResult.Yes)
                    {
                        GestionCliente.bajaCliente(fbc.Client);
                        MessageBox.Show("El cliente se ha eliminado correctamente.", "Cliente eliminado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("No se ha encontrado el cliente con DNI " + fc.Clave + ".", "Cliente no encontrado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemplo n.º 9
0
 //PRE: Recibe un clienteDTO1 (tan solo conocemos su dni)
 //POST: devuelve true si dicho cliente está en la BD.
 public static bool existeCliente(ClienteDTO1 c)
 {
     return(BD.ColeccionClientes.Contains(c.Dni));
 }