private object[] UpdateMaster(EPersonal entity)
        {
            if (entity == null)
                return null;

            IDOUpdate objDO = new RHDOMnt.Personal();

            if (entity.EntityState == EntityState.Unchanged)
                return null;

            object[] objRet = null;

            switch (entity.EntityState)
            {

                case EntityState.Added:
                    objRet = objDO.Insert(entity);
                    break;

                case EntityState.Modified:
                    if (entity.StAnulado == ConstFlagEstado.DESACTIVADO)
                        objDO.Update(entity);
                    else
                        objDO.Delete(entity);
                    break;

                case EntityState.Deleted:
                    objDO.Delete(entity);
                    break;

            }

            return objRet;
        }
        private void UpdateDetailB(IList<EPerContrato> col, object[] primKey)
        {
            if (col == null)
                return;

            IDOUpdate objDO = new RHDOMnt.PerContrato();
            RHDOMnt.Personal objDOPer = new RHDOMnt.Personal();
            EPersonal NewEPersonal = new EPersonal();

            foreach (EPerContrato objE in col)
            {

                object[] objRet = null;

                if (primKey != null)
                {
                    objE.IdPersonal = primKey[0].ToString();
                }

                switch (objE.EntityState)
                {

                    case EntityState.Added:
                        objRet = objDO.Insert(objE);

                        NewEPersonal.IdEmpresa = objE.IdEmpresa;
                        NewEPersonal.IdPersonal = objE.IdPersonal;
                        NewEPersonal.IdSituEmple = ConstSituacionEmpleado.ACTIVO_SUBSIDIADO;
                        NewEPersonal.IdMotivFin = "";
                        NewEPersonal.FeCese = null;
                        if (objE.StProrroga == ConstFlagEstado.ACTIVADO)
                        {
                            NewEPersonal.FeIngpla = null;
                        }
                        else
                        {
                            NewEPersonal.FeIngpla = objE.FeInicio;
                        }

                        objDOPer.UpdateEstadoFechaCese(NewEPersonal);

                        break;

                    case EntityState.Modified:
                        if (objE.StAnulado == ConstFlagEstado.DESACTIVADO)
                            objDO.Update(objE);
                        if (objE.StContrato == ConstFlagEstado.ACTIVADO)
                        {

                            NewEPersonal.IdEmpresa = objE.IdEmpresa;
                            NewEPersonal.IdPersonal = objE.IdPersonal;
                            NewEPersonal.IdSituEmple = ConstSituacionEmpleado.BAJA;
                            NewEPersonal.FeCese = objE.FeCese;
                            NewEPersonal.FeIngpla = null;
                            NewEPersonal.IdMotivFin = objE.IdMotivFin;
                            objDOPer.UpdateEstadoFechaCese(NewEPersonal);
                        }
                        else
                            objDO.Delete(objE);
                        break;

                }

            }
        }
        private ArrayList BuildParamInterface(EPersonal value)
        {
            ArrayList arrPrm = new ArrayList();

             arrPrm.Add(DataHelper.CreateParameter("@pidEmpresa", SqlDbType.Char, 3, value.IdEmpresa));
             arrPrm.Add(DataHelper.CreateParameter("@pidPersonal", SqlDbType.Char, 7, value.IdPersonal));
             arrPrm.Add(DataHelper.CreateParameter("@pidCliProv", SqlDbType.Char, 7, value.IdCliProv));
             arrPrm.Add(DataHelper.CreateParameter("@pnuFotocheck", SqlDbType.VarChar, 15, value.NuFotocheck));
             arrPrm.Add(DataHelper.CreateParameter("@pidEstable", SqlDbType.Char, 4, value.IdEstable));
             arrPrm.Add(DataHelper.CreateParameter("@pidSexo", SqlDbType.Char, 3, value.IdSexo));
             arrPrm.Add(DataHelper.CreateParameter("@pfeNacimien", SqlDbType.DateTime, value.FeNacimien));
             arrPrm.Add(DataHelper.CreateParameter("@pidNacional", SqlDbType.Char, 6, value.IdNacional));
             arrPrm.Add(DataHelper.CreateParameter("@pnuRUC", SqlDbType.Char, 11, value.NuRUC));
             arrPrm.Add(DataHelper.CreateParameter("@pstEsSalud", SqlDbType.Char, 1, value.StEsSalud));
             arrPrm.Add(DataHelper.CreateParameter("@pstDomiciliado", SqlDbType.Char, 1, value.StDomiciliado));
             arrPrm.Add(DataHelper.CreateParameter("@pidCateTrab", SqlDbType.Char, 3, value.IdCateTrab));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoTrab", SqlDbType.Char, 3, value.IdTipoTrab));
             arrPrm.Add(DataHelper.CreateParameter("@pidCateOcupa", SqlDbType.Char, 3, value.IdCateOcupa));
             arrPrm.Add(DataHelper.CreateParameter("@pidRegLaboral", SqlDbType.Char, 3, value.IdRegLaboral));
             arrPrm.Add(DataHelper.CreateParameter("@pidNivEduc", SqlDbType.Char, 3, value.IdNivEduc));
             arrPrm.Add(DataHelper.CreateParameter("@pidOcupa", SqlDbType.Char, 6, value.IdOcupa));
             arrPrm.Add(DataHelper.CreateParameter("@pstDiscapa", SqlDbType.Char, 1, value.StDiscapa));
             arrPrm.Add(DataHelper.CreateParameter("@pidRegPensi", SqlDbType.Char, 3, value.IdRegPensi));
             arrPrm.Add(DataHelper.CreateParameter("@pfeInscRegPen", SqlDbType.DateTime, (value.FeInscRegPen.HasValue ? (object)value.FeInscRegPen : DBNull.Value)));
             arrPrm.Add(DataHelper.CreateParameter("@pnuCuspp", SqlDbType.Char, 15, value.NuCuspp));
             arrPrm.Add(DataHelper.CreateParameter("@pidSctrSalud", SqlDbType.Char, 3, value.IdSctrSalud));
             arrPrm.Add(DataHelper.CreateParameter("@pidSctrPens", SqlDbType.Char, 3, value.IdSctrPens));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoCont", SqlDbType.Char, 3, value.IdTipoCont));
             arrPrm.Add(DataHelper.CreateParameter("@pstSujRegAlter", SqlDbType.Char, 1, value.StSujRegAlter));
             arrPrm.Add(DataHelper.CreateParameter("@pstJTMaxima", SqlDbType.Char, 1, value.StJTMaxima));
             arrPrm.Add(DataHelper.CreateParameter("@pstJTHoraNoc", SqlDbType.Char, 1, value.StJTHoraNoc));
             arrPrm.Add(DataHelper.CreateParameter("@pstJTAtipico", SqlDbType.Char, 1, value.StJTAtipico));
             arrPrm.Add(DataHelper.CreateParameter("@pstOtrosIng5ta", SqlDbType.Char, 1, value.StOtrosIng5ta));
             arrPrm.Add(DataHelper.CreateParameter("@pstSindical", SqlDbType.Char, 1, value.StSindical));
             arrPrm.Add(DataHelper.CreateParameter("@pidPeriRemu", SqlDbType.Char, 3, value.IdPeriRemu));
             arrPrm.Add(DataHelper.CreateParameter("@pidSegMedi", SqlDbType.Char, 3, value.IdSegMedi));
             arrPrm.Add(DataHelper.CreateParameter("@pidEmpEps", SqlDbType.Char, 3, value.IdEmpEps));
             arrPrm.Add(DataHelper.CreateParameter("@pidSituEmple", SqlDbType.Char, 3, value.IdSituEmple));
             arrPrm.Add(DataHelper.CreateParameter("@pst5taExon", SqlDbType.Char, 1, value.St5taExon));
             arrPrm.Add(DataHelper.CreateParameter("@pidSitEspTrab", SqlDbType.Char, 3, value.IdSitEspTrab));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoRemu", SqlDbType.Char, 3, value.IdTipoRemu));
             arrPrm.Add(DataHelper.CreateParameter("@pfeIngpla", SqlDbType.DateTime, (value.FeIngpla.HasValue ? (object)value.FeIngpla : DBNull.Value)));
             arrPrm.Add(DataHelper.CreateParameter("@pfeCese", SqlDbType.DateTime, (value.FeCese.HasValue ? (object)value.FeCese : DBNull.Value)));
             arrPrm.Add(DataHelper.CreateParameter("@pidMotivFin", SqlDbType.Char, 3, value.IdMotivFin));
             arrPrm.Add(DataHelper.CreateParameter("@pstMadreResp", SqlDbType.Char, 1, value.StMadreResp));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoCenFP", SqlDbType.Char, 3, value.IdTipoCenFP));
             arrPrm.Add(DataHelper.CreateParameter("@pidCentroFP", SqlDbType.Char, 3, value.IdCentroFP));
             arrPrm.Add(DataHelper.CreateParameter("@pidProvDest", SqlDbType.Char, 7, value.IdProvDest));
             arrPrm.Add(DataHelper.CreateParameter("@pidEstaCivil", SqlDbType.Char, 3, value.IdEstaCivil));
             arrPrm.Add(DataHelper.CreateParameter("@pidBcoAbono", SqlDbType.Char, 3, value.IdBcoAbono));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoCtaAbo", SqlDbType.Char, 3, value.IdTipoCtaAbo));
             arrPrm.Add(DataHelper.CreateParameter("@pnuCtaAbono", SqlDbType.VarChar, 30, value.NuCtaAbono));
             arrPrm.Add(DataHelper.CreateParameter("@pstAsigFami", SqlDbType.Char, 1, value.StAsigFami));
             arrPrm.Add(DataHelper.CreateParameter("@pidBcoCts", SqlDbType.Char, 3, value.IdBcoCts));
             arrPrm.Add(DataHelper.CreateParameter("@pnuCtaCts", SqlDbType.VarChar, 30, value.NuCtaCts));
             arrPrm.Add(DataHelper.CreateParameter("@pidUNegocio", SqlDbType.Char, 3, value.IdUNegocio));
             arrPrm.Add(DataHelper.CreateParameter("@pidCCosto", SqlDbType.Char, 15, value.IdCCosto));
             arrPrm.Add(DataHelper.CreateParameter("@pidTipoSangre", SqlDbType.Char, 3, value.IdTipoSangre));
             arrPrm.Add(DataHelper.CreateParameter("@pdsEnfermedad", SqlDbType.VarChar, 50, value.DsEnfermedad));
             arrPrm.Add(DataHelper.CreateParameter("@pdsAlergia", SqlDbType.VarChar, 50, value.DsAlergia));
             arrPrm.Add(DataHelper.CreateParameter("@pdsPriAuxilios", SqlDbType.VarChar, 50, value.DsPriAuxilios));
             arrPrm.Add(DataHelper.CreateParameter("@pnuTalla", SqlDbType.Decimal, value.NuTalla));
             arrPrm.Add(DataHelper.CreateParameter("@pnuPeso", SqlDbType.Decimal, value.NuPeso));
             arrPrm.Add(DataHelper.CreateParameter("@pdsTallaCalza", SqlDbType.VarChar, 10, value.DsTallaCalza));
             arrPrm.Add(DataHelper.CreateParameter("@pdsTallaPanta", SqlDbType.VarChar, 10, value.DsTallaPanta));
             arrPrm.Add(DataHelper.CreateParameter("@pdsTallaCamisa", SqlDbType.VarChar, 10, value.DsTallaCamisa));
             arrPrm.Add(DataHelper.CreateParameter("@pdsClubSoDe", SqlDbType.VarChar, 80, value.DsClubSoDe));
             arrPrm.Add(DataHelper.CreateParameter("@pdsHobby", SqlDbType.VarChar, 50, value.DsHobby));
             arrPrm.Add(DataHelper.CreateParameter("@pdsReligion", SqlDbType.VarChar, 50, value.DsReligion));
             arrPrm.Add(DataHelper.CreateParameter("@pidEstado", SqlDbType.Char, 3, value.IdEstado));
             arrPrm.Add(DataHelper.CreateParameter("@pnuUltGen01", SqlDbType.Int, value.NuUltGen01));
             arrPrm.Add(DataHelper.CreateParameter("@pstAnulado", SqlDbType.Char, 1, value.StAnulado));

             return arrPrm;
        }
        private void DeleteMaster(EPersonal entity)
        {
            IDOUpdate objDO = new RHDOMnt.Personal();

            if (entity.EntityState == EntityState.Unchanged)
                return;

            objDO.Delete(entity);
        }
        private ArrayList BuildParamInterface(EPersonal value)
        {
            ArrayList arrPrm = new ArrayList();

             arrPrm.Add(DataHelper.CreateParameter("@pidEmpresa", SqlDbType.Char, 3, value.IdEmpresa));
             arrPrm.Add(DataHelper.CreateParameter("@pidPersonal", SqlDbType.Char, 7, value.IdPersonal));

             return arrPrm;
        }