//Botón con el que transferimos tiempo private void button6_Click(object sender, EventArgs e) { if (dataGridView4.SelectedRows.Count != 0) //Si hay alguna fila seleccionada (Multiselect = false) { DataGridViewRow fila = this.dataGridView4.SelectedRows[0]; //Obtenemos la fila seleccionada (FullRowSelect) Movimiento m = new Movimiento(); m.id_movimiento = RandomString(10); m.usuario_origen = usuarioLogeado.id_usuario; //Obtenemos el objeto servicio a través del titulo de la oferta var tituloOferta = fila.Cells["titulo"].Value.ToString(); Servicio servicioDeMovimiento = GestorBBDD.buscarServPorNombre(tituloOferta); m.usuario_destino = servicioDeMovimiento.id_usuario; m.concepto = servicioDeMovimiento.id_servicio; using (var transferirTiempoForm = new TransferirTiempo()) //Abrimos formulario hijo TransferirTiempo { var resultado = transferirTiempoForm.ShowDialog(); if (resultado == DialogResult.OK) //Si el formulario hijo devuelve una respuesta... { m.comentarios = transferirTiempoForm.comentario; m.horas = transferirTiempoForm.hora; m.fecha = DateTime.Now; GestorBBDD.agregarMovimiento(m); //Obtenemos los objetos de los usuarios origen y destino del movimiento a través de su ID Usuario usuarioOrigen = GestorBBDD.buscarUsuario(m.usuario_origen); Usuario usuarioDestino = GestorBBDD.buscarUsuario(m.usuario_destino); //Restamos al saldo del usuario autenticado el importe establecido usuarioOrigen.balance = Decimal.Subtract(Convert.ToDecimal(usuarioOrigen.balance), Convert.ToDecimal(m.horas)); //Sumamos al saldo del usuario destinatario el importe establecido usuarioDestino.balance = Decimal.Add(Convert.ToDecimal(usuarioDestino.balance), Convert.ToDecimal(m.horas)); //Actualizamos los registros en la base de datos GestorBBDD.actualizarUsuario(usuarioOrigen); GestorBBDD.actualizarUsuario(usuarioDestino); } } //Refresca el label con la actualización del saldo del usuario autenticado label7.Text = String.Format("Saldo del usuario: {0} h", usuarioLogeado.balance); //Refresca mis movimientos realizados showMisMovimientos(dataGridView3); } }
//Botón con el que aceptaremos o rechazaremos las solicitudes recibidas private void button5_Click(object sender, EventArgs e) { if (dataGridView5.SelectedRows.Count != 0) //Si hay alguna fila seleccionada (Multiselect = false) { DataGridViewRow fila = this.dataGridView5.SelectedRows[0]; //Obtenemos la fila seleccionada (FullRowSelect) //Muestra un mensaje sobre aceptar la solicitud seleccionada al pulsar el botón DialogResult dialogResult = MessageBox.Show("¿Aceptas la solicitud seleccionada?", "Estado de la solicitud recibida", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) //Si pulsas sí... { //Obtenemos el objeto servicio a través del titulo de la oferta var tituloOferta = fila.Cells["titulo"].Value.ToString(); Servicio servicioDeSolicitud = GestorBBDD.buscarServPorNombre(tituloOferta); //Obtenemos el objeto solicitud a través del titulo de la oferta Solicitud sltd = GestorBBDD.buscarSolPorServicio(servicioDeSolicitud); sltd.aceptada = true; //Aceptamos la solicitud //Actualizamos el registro en la base de datos GestorBBDD.actualizarSolicitud(sltd); //Refresca las solicitudes recibidas showSolicitudesRecibidas(dataGridView5); } else if (dialogResult == DialogResult.No) //Si pulsas no... { //Obtenemos el objeto servicio a través del titulo de la oferta var tituloOferta = fila.Cells["titulo"].Value.ToString(); Servicio servicioDeSolicitud = GestorBBDD.buscarServPorNombre(tituloOferta); //Obtenemos el objeto solicitud a través del titulo de la oferta Solicitud sltd = GestorBBDD.buscarSolPorServicio(servicioDeSolicitud); sltd.aceptada = false; //Rechazamos la solicitud //Actualizamos el registro en la base de datos GestorBBDD.actualizarSolicitud(sltd); //Refresca las solicitudes recibidas showSolicitudesRecibidas(dataGridView5); } } }
//Botón con el que creamos y mostramos facturas private void button4_Click(object sender, EventArgs e) { if (dataGridView3.SelectedRows.Count != 0) //Si hay alguna fila seleccionada (Multiselect = false) { DataGridViewRow fila = this.dataGridView3.SelectedRows[0]; //Obtenemos la fila seleccionada (FullRowSelect) Factura f = new Factura(); f.id_factura = RandomString(10); f.usuario_emisor = usuarioLogeado.id_usuario; //Obtenemos el objeto servicio a través del titulo de la oferta var tituloOferta = fila.Cells["titulo"].Value.ToString(); Servicio servicioDeFactura = GestorBBDD.buscarServPorNombre(tituloOferta); f.usuario_receptor = servicioDeFactura.id_usuario; f.concepto = servicioDeFactura.id_servicio; //Obtenemos el objeto movimiento a través del ID de la oferta Movimiento movimientoDeFactura = GestorBBDD.buscarMovPorServicio(servicioDeFactura.id_servicio, usuarioLogeado.id_usuario); f.usuario_receptor = movimientoDeFactura.usuario_destino; f.importe = movimientoDeFactura.horas; f.fecha = DateTime.Now; GestorBBDD.agregarFactura(f); //Obtenemos los objetos de los usuarios emisor y receptor de la factura a través de su ID Usuario usuarioEmisor = GestorBBDD.buscarUsuario(f.usuario_emisor); Usuario usuarioReceptor = GestorBBDD.buscarUsuario(f.usuario_receptor); //Asignamos los valores de la factura a las variables públicas que mostraremos en el formulario MostrarFactura MF_id_factura = f.id_factura; MF_usuario_emisor = usuarioEmisor.nombre_usuario; MF_usuario_receptor = usuarioReceptor.nombre_usuario; MF_concepto = servicioDeFactura.titulo; MF_importe = f.importe; MF_fecha = f.fecha; //Mostramos el formulario MostrarFactura mostrarFacturaForm = new MostrarFactura(); mostrarFacturaForm.ShowDialog(); } }
//Botón con el que enviaremos solicitudes private void button3_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count != 0) //Si hay alguna fila seleccionada (Multiselect = false) { DataGridViewRow fila = this.dataGridView1.SelectedRows[0]; //Obtenemos la fila seleccionada (FullRowSelect) Solicitud sltd = new Solicitud(); sltd.id_solicitud = RandomString(10); sltd.id_emisor = usuarioLogeado.id_usuario; //Obtenemos el objeto solicitud a través del titulo de la oferta var tituloOferta = fila.Cells["titulo"].Value.ToString(); Servicio servicioDeSolicitud = GestorBBDD.buscarServPorNombre(tituloOferta); sltd.concepto = servicioDeSolicitud.id_servicio; sltd.fecha_creacion = DateTime.Now; sltd.aceptada = false; //Por defecto las solicitudes se crean como no aceptadas GestorBBDD.agregarSolicitud(sltd); //Refresca las solicitudes enviadas showSolicitudesEnviadas(dataGridView4); } }