예제 #1
0
        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;
            }
        }
예제 #2
0
        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);
            }
        }