public frmConfirmTraspaso(Modelos.Activos activoSel, string usuario)
        {
            InitializeComponent();

            this._activoSel = activoSel;
            this._usuario   = usuario;

            this._catalogosNegocio = new CatalogosNegocio();
        }
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            try
            {
                this._activoModif = new Modelos.Activos();

                this._activoModif.accion            = this._activoSel.accion;
                this._activoModif.area              = this._activoSel.area;
                this._activoModif.claveActivo       = this._activoSel.claveActivo;
                this._activoModif.costo             = this._activoSel.costo;
                this._activoModif.descripcion       = this._activoSel.descripcion;
                this._activoModif.fechaAlta         = this._activoSel.fechaAlta;
                this._activoModif.fechaModificacion = this._activoSel.fechaModificacion;
                this._activoModif.idActivo          = this._activoSel.idActivo;
                this._activoModif.idArea            = this._activoSel.idArea;
                this._activoModif.idTipo            = this._activoSel.idTipo;
                this._activoModif.idUsuarioAlta     = this._activoSel.idUsuarioAlta;
                this._activoModif.idUsuarioModifica = this._activoSel.idUsuarioModifica;
                this._activoModif.nombreCorto       = this._activoSel.nombreCorto;
                this._activoModif.numEtiqueta       = this._activoSel.numEtiqueta;
                this._activoModif.seleccionado      = this._activoSel.seleccionado;
                this._activoModif.status            = this._activoSel.status;
                this._activoModif.tipo              = this._activoSel.tipo;

                if (this.cbArea.Checked)
                {
                    // validaciones
                    if (this.cmbArea.SelectedIndex == -1)
                    {
                        throw new Exception("Seleccione un área");
                    }

                    this._activoModif.area   = ((Modelos.Areas) this.cmbArea.SelectedItem).nombre;
                    this._activoModif.idArea = (int)this.cmbArea.SelectedValue;
                }

                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Confirmar Traspaso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        private void btnQuitar_Click(object sender, EventArgs e)
        {
            try
            {
                // validaciones
                if (this.gridView2.GetSelectedRows().Count() == 0)
                {
                    throw new Exception("Seleccione un activo para quitar de la lista de traspasos");
                }

                // obtener el activo seleccionado
                Modelos.Activos activoSel = new Modelos.Activos();

                foreach (int i in this.gridView2.GetSelectedRows())
                {
                    var dr1 = this.gridView2.GetRow(i);

                    activoSel = (Modelos.Activos)dr1;
                }

                var result = this._activos.Where(w => w.idActivo == activoSel.idActivo).ToList();

                if (result.Count == 0)
                {
                    throw new Exception("El activo que intenta quitar pertenece originalmete a la responsiva del traspaso");
                }


                // quita el activo seleccionado
                this._activosT.Remove(activoSel);

                this.gcActivosT.DataSource = null;
                this.gcActivosT.DataSource = this._activosT;

                // cambia el estatus del activo agregado
                List <Modelos.Activos> temp = new List <Modelos.Activos>();
                foreach (Modelos.Activos act in this._activos)
                {
                    temp.Add(new Modelos.Activos
                    {
                        accion            = (act.idActivo == activoSel.idActivo ? string.Empty : act.accion),
                        idActivo          = act.idActivo,
                        area              = act.area,
                        costo             = act.costo,
                        claveActivo       = act.claveActivo,
                        descripcion       = act.descripcion,
                        fechaAlta         = act.fechaAlta,
                        fechaModificacion = act.fechaModificacion,
                        idArea            = act.idArea,
                        idTipo            = act.idTipo,
                        idUsuarioAlta     = act.idUsuarioAlta,
                        idUsuarioModifica = act.idUsuarioModifica,
                        nombreCorto       = act.nombreCorto,
                        numEtiqueta       = act.numEtiqueta,
                        seleccionado      = act.seleccionado,
                        status            = act.status,
                        tipo              = act.tipo
                    });
                }

                this._activos             = null; this._activos = temp;
                this.gcActivos.DataSource = null;
                this.gcActivos.DataSource = this._activos;
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Responsivas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        private void btnAgrega_Click(object sender, EventArgs e)
        {
            try
            {
                // validaciones
                // si ya se selecciono una responsiva
                if (this._idResponsiva == null)
                {
                    throw new Exception("Seleccione una responsiva");
                }

                // si ya se selecciono un usuario para traspaso
                if (this._idUsuarioT == null)
                {
                    throw new Exception("Seleccione una persona para traspaso");
                }

                // que no sean el mismo usuario ni la misma responsiva
                if (this._idResponsiva == this._idResponsivaT && this._idUsuario == this._idUsuarioT)
                {
                    throw new Exception("No se permite el movimiento ya que es la misma persona y la misma responsiva");
                }

                if (this.gridView1.GetSelectedRows().Count() == 0)
                {
                    throw new Exception("Seleccione un activo a traspasar");
                }

                // obtener el activo seleccionado
                Modelos.Activos activoSel = new Modelos.Activos();

                foreach (int i in this.gridView1.GetSelectedRows())
                {
                    var dr1 = this.gridView1.GetRow(i);

                    activoSel = (Modelos.Activos)dr1;
                }

                if (activoSel.status.Equals("REPARACION"))
                {
                    throw new Exception(
                              "No se permite traspasar un activo que se encuentra en REPARACION\n" +
                              "Reingrese el activo para poder traspasarlo");
                }

                // se bloque la seleccion de responsivas y usuario
                if (!this._movimiento)
                {
                    DialogResult dialogResult = MessageBox.Show(
                        "Una vez que comience a realizar movimientos de traspasos no podrá seleccionar otra responsiva u otra persona\n" +
                        "¿Desea continuar con el movimiento?",
                        "Responsivas", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (dialogResult == DialogResult.Yes)
                    {
                        this._movimiento = true;

                        this.btnBuscaUsuario.Enabled    = false;
                        this.btnBuscaResponsiva.Enabled = false;

                        this.panel1.Enabled = false;
                    }
                    else if (dialogResult == DialogResult.No)
                    {
                        return;
                    }
                }

                // valida si el activo ya fue agregado
                if (!string.IsNullOrEmpty(activoSel.accion))
                {
                    throw new Exception("El activo se encuentra en el traspaso");
                }

                frmConfirmTraspaso form = new frmConfirmTraspaso(activoSel, this.tbResponsable.Text);

                var result = form.ShowDialog();

                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    Modelos.Activos acttemp = form._activoModif;

                    // agregar el activo seleccionado al traspaso
                    this._activosT.Add(new Modelos.Activos
                    {
                        accion            = "TRASPASO",
                        idActivo          = acttemp.idActivo,
                        area              = acttemp.area,
                        costo             = acttemp.costo,
                        claveActivo       = acttemp.claveActivo,
                        descripcion       = acttemp.descripcion,
                        fechaAlta         = acttemp.fechaAlta,
                        fechaModificacion = acttemp.fechaModificacion,
                        idArea            = acttemp.idArea,
                        idTipo            = acttemp.idTipo,
                        idUsuarioAlta     = acttemp.idUsuarioAlta,
                        idUsuarioModifica = acttemp.idUsuarioModifica,
                        nombreCorto       = acttemp.nombreCorto,
                        numEtiqueta       = acttemp.numEtiqueta,
                        seleccionado      = acttemp.seleccionado,
                        status            = acttemp.status,
                        tipo              = acttemp.tipo
                    });

                    this.gcActivosT.DataSource = null;
                    this.gcActivosT.DataSource = this._activosT;

                    // cambia el estatus del activo agregado
                    List <Modelos.Activos> temp = new List <Modelos.Activos>();
                    foreach (Modelos.Activos act in this._activos)
                    {
                        temp.Add(new Modelos.Activos
                        {
                            accion            = (act.idActivo == activoSel.idActivo ? "TRASPASO" : act.accion),
                            idActivo          = act.idActivo,
                            area              = act.area,
                            costo             = act.costo,
                            claveActivo       = act.claveActivo,
                            descripcion       = act.descripcion,
                            fechaAlta         = act.fechaAlta,
                            fechaModificacion = act.fechaModificacion,
                            idArea            = act.idArea,
                            idTipo            = act.idTipo,
                            idUsuarioAlta     = act.idUsuarioAlta,
                            idUsuarioModifica = act.idUsuarioModifica,
                            nombreCorto       = act.nombreCorto,
                            numEtiqueta       = act.numEtiqueta,
                            seleccionado      = act.seleccionado,
                            status            = act.status,
                            tipo              = act.tipo
                        });
                    }

                    this._activos             = null; this._activos = temp;
                    this.gcActivos.DataSource = null;
                    this.gcActivos.DataSource = this._activos;
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Responsivas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }