public bool GrabarMatriz_ReuisitoNuevo_Formulaio(Requisitos_Matriz objreqmat)
        {
            try
            {
                dbReqLeg.Tbl_Requisitos_Matriz.Add(objreqmat);   // se guarda el registro en la tabla Tbl_Requisitos_Matriz (contiene el requisito creado desde el formulario)
                dbReqLeg.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
        public bool RelacionarRequisitosMatriz(Requisitos_Matriz objm)
        {
            try
            {
                //Requisitos_Matriz obj = new Requisitos_Matriz();
                //obj.FK_RequisitosLegalesOtros = objmatr.PK_MatrizRequisitosLegales;
                //obj.FK_MatrizRequisitosLegales = objmatr.NombreMatriz;

                dbReqLeg.Tbl_Requisitos_Matriz.Add(objm);
                dbReqLeg.SaveChanges();



                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        /// <summary>
        /// metodo para guardar requisito creado por el formulario -  para agregar a la matriz
        /// </summary>
        /// <param name="objreq"></param>
        /// <returns></returns>
        public bool GrabarRequisitosLegalesOtros_Formulario(RequisitosLegalesOtros objreqformulario, int pk_matriz)
        {
            try
            {
                RequisitosLegalesOtros objreqleg = new RequisitosLegalesOtros();

                //objreq.FK_Empresa = usuarioActual.IdEmpresa;
                objreqformulario.Evidencia_Cumplimiento     = "";
                objreqformulario.FK_Cumplimiento_Evaluacion = 4;
                objreqformulario.Hallazgo = "";
                objreqformulario.FK_Estado_RequisitoslegalesOtros = 4;
                objreqformulario.Responsable = "";
                objreqformulario.Fecha_Seguimiento_Control = DateTime.Now;
                objreqformulario.Fecha_Actualizacion       = DateTime.Now;
                //objreq.FK_Empresa = usuarioActual.IdEmpresa;
                //objreqformulario.FK_Actividad_Economica = pk_ActividadEconomica;

                objreqleg = dbReqLeg.Tbl_Requisitos_legales_Otros.Add(objreqformulario);   // se guarda el requisito legal en Tbl_Requisitos_legales_Otros
                dbReqLeg.SaveChanges();


                Requisitos_Matriz objreqmat = new Requisitos_Matriz();

                objreqmat.FK_RequisitosLegalesOtros  = objreqleg.PK_RequisitosLegalesOtros;
                objreqmat.FK_MatrizRequisitosLegales = pk_matriz;

                //dbReqLeg.Tbl_Requisitos_Matriz.Add(objreqmat);// se guarda el registro en la tabla Tbl_Requisitos_Matriz (contiene el requisito creado desde el formulario)
                //dbReqLeg.SaveChanges();

                GrabarMatriz_ReuisitoNuevo_Formulaio(objreqmat);

                pk_ActividadEconomica = 0;   /*****variable estatica para agregar la pkactividadeconomica*****/

                return(true);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// metodo para eliminar los requisitos legales de la matriz
        /// </summary>
        /// <param name=""></param>
        /// <returns></returns>
        public bool Eliminar_ReqLegalesOtros(int PK_RequisitosLegales)
        {
            try
            {
                RequisitosLegalesOtros ObregLeg = dbReqLeg.Tbl_Requisitos_legales_Otros.Where(g => g.PK_RequisitosLegalesOtros == PK_RequisitosLegales).FirstOrDefault();

                Requisitos_Matriz objreqmat = dbReqLeg.Tbl_Requisitos_Matriz.Where(g => g.FK_RequisitosLegalesOtros == PK_RequisitosLegales).FirstOrDefault();

                dbReqLeg.Tbl_Requisitos_legales_Otros.Remove(ObregLeg);

                dbReqLeg.Tbl_Requisitos_Matriz.Remove(objreqmat);

                dbReqLeg.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// SE GUARDAN LOS NUEVOS REQUISITOS SELECCIONADOS EN LA MATRIZ SELECCIONADA
        /// </summary>
        /// <param name="OtrasInteracciones"></param>
        /// <returns></returns>
        public bool GuardarNuevoRequisitos_SeleccionadosMatriz(RequisitosLegalesOtros objreq, int PKMatriz)
        {
            try
            {
                dbReqLeg.Tbl_Requisitos_legales_Otros.Add(objreq);   //SE GUARDA EL REQUISITO EN LA TABLA Tbl_Requisitos_legales_Otros
                dbReqLeg.SaveChanges();

                //consulta para saber cual es la FK con la que quedo almacenado el requisito en base de datos

                RequisitosLegalesOtros objmat = new RequisitosLegalesOtros();

                RequisitosLegalesOtros objmatreqle = dbReqLeg.Tbl_Requisitos_legales_Otros.Where(g => g.Numero_Norma == objreq.Numero_Norma).FirstOrDefault();
                //MatrizRequisitosLegales objmatreq = dbReqLeg.Tbl_Matriz_RequisitosLegales.Where(g => g.NombreMatriz == varnombrematyriz).FirstOrDefault();



                Requisitos_Matriz objm = new Requisitos_Matriz();


                MatrizRequisitosLegales objmatr = new MatrizRequisitosLegales();

                //se consulta el PK y se almacena en la tabla resquisitosmatriz con su correspondiente matriz

                int requisito;

                objm.FK_RequisitosLegalesOtros  = objreq.PK_RequisitosLegalesOtros; // SE TIENE LA PK ALMACENADA DEL REGISTRO
                objm.FK_MatrizRequisitosLegales = PKMatriz;                         // SE ALMACENA EL NOMBRE DE LA MATRIZ

                RelacionarRequisitosMatriz(objm);


                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
 public bool RelacionarRequisitosMatriz(Requisitos_Matriz objm)
 {
     return(gb.RelacionarRequisitosMatriz(objm));
 }
        /// <summary>
        /// SE GUARDAN LOS REQUISITOS SELECCIONADOS PARA CREAR LA MATRIZ
        /// </summary>
        /// <param name="OtrasInteracciones"></param>
        /// <returns></returns>
        public bool GuardarRequisitos_Seleccionados(RequisitosLegalesOtros objreq, int fkmatriz)
        {
            try
            {
                if (PKMatrizreqlegalea != 0)
                {
                    if (objreq.Numero_Norma == null)
                    {
                        objreq.Numero_Norma = Convert.ToString('-');
                    }

                    dbReqLeg.Tbl_Requisitos_legales_Otros.Add(objreq);
                    dbReqLeg.SaveChanges();

                    //consulta para saber cual es la FK con la que quedo almacenado el requisito en base de datos

                    RequisitosLegalesOtros objmat = new RequisitosLegalesOtros();


                    Requisitos_Matriz objm = new Requisitos_Matriz();


                    MatrizRequisitosLegales objmatr = new MatrizRequisitosLegales();

                    //se consulta el PK y se almacena en la tabla resquisitosmatriz con su correspondiente matriz

                    //int requisito;

                    objm.FK_RequisitosLegalesOtros  = objreq.PK_RequisitosLegalesOtros; // SE TIENE LA PK ALMACENADA DEL REGISTRO
                    objm.FK_MatrizRequisitosLegales = PKMatrizreqlegalea;               // SE ALMACENA EL NOMBRE DE LA MATRIZ

                    RelacionarRequisitosMatriz(objm);
                    objm = null;
                    //PKMatrizreqlegalea = 0;
                    return(true);
                }
                else
                {
                    dbReqLeg.Tbl_Requisitos_legales_Otros.Add(objreq);
                    dbReqLeg.SaveChanges();

                    //consulta para saber cual es la FK con la que quedo almacenado el requisito en base de datos

                    RequisitosLegalesOtros objmat = new RequisitosLegalesOtros();


                    Requisitos_Matriz objm = new Requisitos_Matriz();


                    MatrizRequisitosLegales objmatr = new MatrizRequisitosLegales();

                    //se consulta el PK y se almacena en la tabla resquisitosmatriz con su correspondiente matriz

                    //int requisito;

                    objm.FK_RequisitosLegalesOtros  = objreq.PK_RequisitosLegalesOtros; // SE TIENE LA PK ALMACENADA DEL REGISTRO
                    objm.FK_MatrizRequisitosLegales = fkmatriz;                         // SE ALMACENA EL NOMBRE DE LA MATRIZ

                    RelacionarRequisitosMatriz(objm);
                    objm = null;
                    //PKMatrizreqlegalea = 0;
                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }