private void btnMoveEPP_Click(object sender, EventArgs e)
        {
            OperationResult     objOperationResult     = new OperationResult();
            SystemParameterBL   objSystemParameterBL   = new SystemParameterBL();
            SystemParameterList objSystemParameterList = new SystemParameterList();
            TypeOfEEPList       objTypeOfEEP           = new TypeOfEEPList();

            if (treeViewEPP.SelectedNode == null)
            {
                return;
            }

            //Si la lista temporal es null se la setea con una lista vacia
            if (_TempTypeOfEEPList == null)
            {
                _TempTypeOfEEPList = new List <TypeOfEEPList>();
            }

            int ParameterId = int.Parse(treeViewEPP.SelectedNode.Name.ToString());

            History.frmOtroEPP frmOtroEpp = new History.frmOtroEPP();
            string             OtroEpp    = "";

            if (ParameterId == 16)
            {
                frmOtroEpp.ShowDialog();

                OtroEpp = frmOtroEpp.EppName;
                objSystemParameterList = objSystemParameterBL.GetParentNameSystemParameter(ref objOperationResult, frmOtroEpp.ParameterId);
            }
            else
            {
                objSystemParameterList = objSystemParameterBL.GetParentNameSystemParameter(ref objOperationResult, ParameterId);
            }


            History.frmEppPercentage frm = new History.frmEppPercentage(objSystemParameterList.v_Value1, 0);
            frm.ShowDialog();

            if (frm.DialogResult == System.Windows.Forms.DialogResult.OK)
            {
                if (objSystemParameterList != null)
                {
                    TypeOfEEPList findResult = new TypeOfEEPList();
                    //Busco en la lista temporal si ya se agrego el item seleccionado
                    if (ParameterId == 16)
                    {
                        findResult = _TempTypeOfEEPList.Find(p => p.i_TypeofEEPId == frmOtroEpp.ParameterId);
                    }
                    else
                    {
                        findResult = _TempTypeOfEEPList.Find(p => p.i_TypeofEEPId == ParameterId);
                    }



                    if (findResult == null)
                    {
                        objTypeOfEEP.v_TypeofEEPId = Guid.NewGuid().ToString();

                        if (ParameterId == 16)
                        {
                            objTypeOfEEP.i_TypeofEEPId   = frmOtroEpp.ParameterId;
                            objTypeOfEEP.v_TypeofEEPName = OtroEpp;
                        }
                        else
                        {
                            objTypeOfEEP.i_TypeofEEPId   = ParameterId;
                            objTypeOfEEP.v_TypeofEEPName = objSystemParameterList.v_Value1;
                        }


                        objTypeOfEEP.r_Percentage   = frm._Porcentage;
                        objTypeOfEEP.i_RecordStatus = (int)RecordStatus.Agregado;
                        objTypeOfEEP.i_RecordType   = (int)RecordType.Temporal;
                        _TempTypeOfEEPList.Add(objTypeOfEEP);
                    }
                    else
                    {
                        if (findResult.i_RecordStatus == (int)RecordStatus.EliminadoLogico)
                        {
                            if (findResult.i_RecordType == (int)RecordType.NoTemporal)// El registro Tiene in ID de BD
                            {
                                findResult.i_TypeofEEPId   = ParameterId;
                                findResult.v_TypeofEEPName = objSystemParameterList.v_Value1;
                                findResult.r_Percentage    = frm._Porcentage;
                                findResult.i_RecordStatus  = (int)RecordStatus.Grabado;
                            }
                            else if (findResult.i_RecordType == (int)RecordType.Temporal) // El registro tiene un ID temporal [GUID]
                            {
                                findResult.i_TypeofEEPId   = ParameterId;
                                findResult.v_TypeofEEPName = objSystemParameterList.v_Value1;
                                findResult.r_Percentage    = frm._Porcentage;
                                findResult.i_RecordStatus  = (int)RecordStatus.Agregado;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Por favor seleccione otro item. ya existe", "Error de validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                    }
                    var dataList = _TempTypeOfEEPList.FindAll(p => p.i_RecordStatus != (int)RecordStatus.EliminadoLogico);

                    // Cargar grilla
                    grdDataEPP.DataSource = new TypeOfEEPList();
                    grdDataEPP.DataSource = dataList;
                    grdDataEPP.Refresh();
                }
            }
        }
        private void btnMoveDanger_Click(object sender, EventArgs e)
        {
            OperationResult     objOperationResult     = new OperationResult();
            SystemParameterBL   objSystemParameterBL   = new SystemParameterBL();
            SystemParameterList objSystemParameterList = new SystemParameterList();

            WorkstationDangersList objWorkstationDangers = new WorkstationDangersList();

            if (treeViewDangers.SelectedNode == null)
            {
                return;
            }
            //Si la lista temporal es null se la setea con una lista vacia
            if (_TempWorkstationDangersList == null)
            {
                _TempWorkstationDangersList = new List <WorkstationDangersList>();
            }

            int ParameterId = int.Parse(treeViewDangers.SelectedNode.Name.ToString());

            History.frmOtroPeligro frmOtroPeligro = new History.frmOtroPeligro();
            string OtroDangrer = "";

            if (ParameterId == 35)
            {
                frmOtroPeligro.ShowDialog();


                OtroDangrer            = frmOtroPeligro.DangerName;
                objSystemParameterList = objSystemParameterBL.GetParentNameSystemParameter(ref objOperationResult, frmOtroPeligro.ParameterId, 145);
            }
            else
            {
                objSystemParameterList = objSystemParameterBL.GetParentNameSystemParameter(ref objOperationResult, ParameterId, 145);
            }


            History.frmRuidoPopup frm = new History.frmRuidoPopup();

            if (objSystemParameterList != null)
            {
                WorkstationDangersList findResult = new WorkstationDangersList();
                //Busco en la lista temporal si ya se agrego el item seleccionado
                if (ParameterId == 35)
                {
                    findResult = _TempWorkstationDangersList.Find(p => p.i_DangerId == frmOtroPeligro.ParameterId);
                }
                else
                {
                    findResult = _TempWorkstationDangersList.Find(p => p.i_DangerId == ParameterId);
                }


                if (findResult == null)
                {
                    // Levantar popup para registrar datos propios de ruido
                    if (ParameterId == (int)PeligrosEnElPuesto.Ruido)
                    {
                        frm.ShowDialog();

                        if (frm.DialogResult == DialogResult.Cancel)
                        {
                            return;
                        }

                        objWorkstationDangers.v_TimeOfExposureToNoise = frm.FuenteRuido;
                        objWorkstationDangers.i_NoiseLevel            = frm.NivelRuidoId;
                        objWorkstationDangers.i_NoiseSource           = frm.TiempoExposicionRuidoId;
                    }

                    objWorkstationDangers.v_WorkstationDangersId = Guid.NewGuid().ToString();

                    objWorkstationDangers.v_ParentName = objSystemParameterList.v_Value1;
                    if (ParameterId == 35)
                    {
                        objWorkstationDangers.v_DangerName = OtroDangrer;
                        objWorkstationDangers.i_DangerId   = frmOtroPeligro.ParameterId;
                    }
                    else
                    {
                        objWorkstationDangers.i_DangerId   = ParameterId;
                        objWorkstationDangers.v_DangerName = treeViewDangers.SelectedNode.Text.ToString();
                    }

                    objWorkstationDangers.i_RecordStatus = (int)RecordStatus.Agregado;
                    objWorkstationDangers.i_RecordType   = (int)RecordType.Temporal;
                    _TempWorkstationDangersList.Add(objWorkstationDangers);
                }
                else
                {
                    // Levantar popup para registrar datos propios de ruido
                    if (ParameterId == (int)PeligrosEnElPuesto.Ruido)
                    {
                        if (findResult.i_RecordStatus == (int)RecordStatus.EliminadoLogico)
                        {
                            frm.ShowDialog();

                            if (frm.DialogResult == DialogResult.Cancel)
                            {
                                return;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Por favor seleccione otro item. ya existe", "Error de validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                    }

                    if (findResult.i_RecordStatus == (int)RecordStatus.EliminadoLogico)
                    {
                        if (findResult.i_RecordType == (int)RecordType.NoTemporal)// El registro Tiene in ID de BD
                        {
                            findResult.i_DangerId   = ParameterId;
                            findResult.v_DangerName = objSystemParameterList.v_Value1;
                            findResult.v_DangerName = treeViewDangers.SelectedNode.Text.ToString();

                            findResult.v_TimeOfExposureToNoise = frm.FuenteRuido;
                            findResult.i_NoiseLevel            = frm.NivelRuidoId;
                            findResult.i_NoiseSource           = frm.TiempoExposicionRuidoId;

                            findResult.i_RecordStatus = (int)RecordStatus.Grabado;
                        }
                        else if (findResult.i_RecordType == (int)RecordType.Temporal) // El registro tiene un ID temporal [GUID]
                        {
                            findResult.i_DangerId   = ParameterId;
                            findResult.v_DangerName = objSystemParameterList.v_Value1;
                            findResult.v_DangerName = treeViewDangers.SelectedNode.Text.ToString();

                            findResult.v_TimeOfExposureToNoise = frm.FuenteRuido;
                            findResult.i_NoiseLevel            = frm.NivelRuidoId;
                            findResult.i_NoiseSource           = frm.TiempoExposicionRuidoId;

                            findResult.i_RecordStatus = (int)RecordStatus.Agregado;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Por favor seleccione otro item. ya existe", "Error de validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                }
                var dataList = _TempWorkstationDangersList.FindAll(p => p.i_RecordStatus != (int)RecordStatus.EliminadoLogico);
                //var peopleInOrder = people.OrderBy(person => person.LastName);

                // Cargar grilla
                grdDataDangers.DataSource = new WorkstationDangersList();
                grdDataDangers.DataSource = dataList;
                grdDataDangers.Refresh();
            }
        }