private void btnCambiaResp_Click(object sender, EventArgs e) { // abrir otro formulario frmSeleccionarRespon form = new frmSeleccionarRespon(this._responsivas, false); var res = form.ShowDialog(); if (res == System.Windows.Forms.DialogResult.OK) { // carga los activos y datos del responsable this.gcActivos.DataSource = form._activos; this.tbResponsable.Text = form._responsiva.responsable; this.tbSucursal.Text = form._responsiva.sucursal; this.tbPuesto.Text = form._responsiva.puesto; this.tbFolio.Text = Convert.ToString(form._responsiva.idResponsiva); this._idResponsiva = form._responsiva.idResponsiva; this._activos = form._activos; this._idPersonaAnt = form._responsiva.idPersona; this.btnCambiaResp.Location = new Point(519, 49); this.btnCambiaResp.Visible = true; this.btnBuscaResponsiva.Visible = false; } }
private void btnEliminar_Click(object sender, EventArgs e) { try { // validaciones if (this._idResponsiva == null) { throw new Exception("Seleccione una responsiva"); } if (this._idPersonaNueva == null) { throw new Exception("Seleccione un persona"); } // la misma persona if (this._idPersonaAnt == this._idPersonaNueva) { throw new Exception("Es la misma persona.\nVerifique"); } if (this.tbMotivo.Text.Trim().Length < 10) { this.label4.ForeColor = System.Drawing.Color.Red; this.label4.Text = "Motivo*"; throw new Exception("La longitud miníma permitida para el motivo es de 10 carácteres"); } else { this.label4.ForeColor = System.Drawing.Color.Black; this.label4.Text = "Motivo"; } DialogResult dialogResult = MessageBox.Show( "¿Desea realizar el traspaso de la responsiva?" + (this.gridView1.DataRowCount > 0 ? "\nLos activos pertenecerán a la persona seleccionada" : string.Empty), "Responsivas", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // validaciones if (string.IsNullOrEmpty(this.tbMotivo.Text)) { throw new Exception("Defina un motivo del traspaso"); } string motivo = this.tbMotivo.Text; bool traspaso = this._activos.Where(w => w.status.Equals("REPARACION")).Count() == 0; if (!traspaso) { throw new Exception( "No se permite traspasar la responsiva ya que cuenta con activos en REPARACION\n" + "Reingrese el (los) activo (s) para poder traspasarla"); } bool resultado = this._responsivasNegocio. traspasoResponsiva(this._idResponsiva, this._idPersonaAnt, this._idPersonaNueva, this._activos, motivo); if (resultado) { // agrega a la lista los activos que han sido traspasado this._activosTraspaso.AddRange(this._activos); MessageBox.Show("Responsiva traspasada correctamente", "Responsivas", MessageBoxButtons.OK, MessageBoxIcon.Information); string activos = string.Join(",", this._activos.Select(s => s.idActivo).ToList()); // bitacora this._catalogosNegocio.generaBitacora( "Todos los activos de la responsiva " + this._idResponsiva + " se traspasaron a la persona: " + this._idPersonaNueva + " como una nueva responsiva con los activos: " + activos + " por el motivo '" + motivo + "'", "RESPONSIVAS"); // busca si la persona tiene mas responsivas this._responsivas = this._responsivasNegocio.getRespPersonas(this._idPersonaAnt); if (this._responsivas.Count > 0) { dialogResult = MessageBox.Show( "¿Desea Traspasar otra responsiva de '" + this.tbResponsable.Text + "' a '" + this.tbResponsableT.Text + "'?\n", "Responsivas", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // abrir otro formulario frmSeleccionarRespon form = new frmSeleccionarRespon(this._responsivas, true); var res = form.ShowDialog(); if (res == System.Windows.Forms.DialogResult.OK) { // carga los activos y datos del responsable this.gcActivos.DataSource = form._activos; this.tbResponsable.Text = form._responsiva.responsable; this.tbSucursal.Text = form._responsiva.sucursal; this.tbPuesto.Text = form._responsiva.puesto; this.tbFolio.Text = Convert.ToString(form._responsiva.idResponsiva); this._idResponsiva = form._responsiva.idResponsiva; this._activos = form._activos; this._idPersonaAnt = form._responsiva.idPersona; this.btnCambiaResp.Location = new Point(519, 49); this.btnCambiaResp.Visible = true; this.btnBuscaResponsiva.Visible = false; this.btnCancelar.Visible = true; } else { // MANDAR REPORTE this._imprimeReporte(); this.reinicia(); } } else if (dialogResult == DialogResult.No) { // MANDAR REPORTE this._imprimeReporte(); this.reinicia(); } ; } else { // MANDAR REPORTE this._imprimeReporte(); this.reinicia(); } } else { throw new Exception("Problemas durante el traspaso de la responsiva"); } } else if (dialogResult == DialogResult.No) { return; } } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Responsivas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }