public EmpresaPOCO ValidaEmpresaSIRCE(EmpresaPOCO empresa) { EmpresaDAT empresaDAT = new EmpresaDAT(contextoSIRCE); EmpresasSIRCE empresaSIRCE = empresaDAT.ConsultarEmpresaDNE(empresa); if (empresaSIRCE != null) { empresa.empresaSIRCEID = empresaSIRCE.EmpresaSIRCEID; } else { empresaSIRCE = new EmpresasSIRCE(); empresaSIRCE.EmpresaID = empresa.empresaID; empresaSIRCE.ConsecutivoLista = 1; empresaDAT.GuardarEmpresaDNE(empresaSIRCE); Save(); empresa.empresaSIRCEID = empresaSIRCE.EmpresaSIRCEID; } Dispose(); return(empresa); }
/// <summary> /// Método para obtener las constancias. /// </summary> /// <param name="entidad"></param> /// <returns></returns> public List <ConstanciaPOCO> ConsultarConstancias(ListaCentrosTrabajo entidad, int EmpresaSIRCEID) { List <ConstanciaPOCO> lista = new List <ConstanciaPOCO>(); try { //Obtengo todos los trabajadores y sus centros de trabajos ConstanciaDAT datos = new ConstanciaDAT(contextoSIRCE); lista = datos.ConsultarConstancias(entidad, EmpresaSIRCEID); if (lista.Count == 0) { return(lista); } //Obtengo la clave original de los centros de trabajo del DNE var centrosTrabajoSIRCE = (from lt in lista select new { CentroTrabajoID = lt.CentroTrabajoID, CentroTrabajoSIRCEID = lt.CentroTrabajoSIRCEID }).Distinct().ToList(); List <int> listCentrosTrabajos = new List <int>(); Dictionary <int, int> dCentrosTrabajo = new Dictionary <int, int>(); foreach (var item in centrosTrabajoSIRCE) { listCentrosTrabajos.Add(item.CentroTrabajoID); dCentrosTrabajo.Add(item.CentroTrabajoSIRCEID, item.CentroTrabajoID); } //Obtengo la clave de la empresa del DNE. EmpresaDAT empresaDAT = new EmpresaDAT(contextoSIRCE); int empresaID = empresaDAT.ConsultarEmpresaSIRCE(EmpresaSIRCEID); //Recupero la descripción de los centros de trabajo del DNE List <CentroTrabajoPOCO> listCentroTrabajoPOCO = new List <CentroTrabajoPOCO>(); if (listCentrosTrabajos.Count == 0) { return(lista); } listCentroTrabajoPOCO = new UtileriaDAT().ConsultarCentrosTrabajoPorEstablecimiento(empresaID, listCentrosTrabajos); foreach (var item in lista) { CatalogoCompuestoPOCO catalogoCompuestoPOCO = new CatalogoCompuestoPOCO(); string descripcionCentroTrabajo = string.Empty; //Recupero la descripción del Centro de Trabajo del DNE foreach (KeyValuePair <int, int> centroTrabajoSIRCEID in dCentrosTrabajo) { if (item.CentroTrabajoSIRCEID == centroTrabajoSIRCEID.Key) { descripcionCentroTrabajo = listCentroTrabajoPOCO.FirstOrDefault(x => x.centroTrabajoID == centroTrabajoSIRCEID.Value).centroTrabajoNombre; break; } } item.TrabajadorDescripcion = string.Format("{0} - {1} {2} {3} / {4}", item.CURP, item.Nombre, item.ApellidoPaterno, item.ApellidoMaterno, descripcionCentroTrabajo); item.centroTrabajoNombre = descripcionCentroTrabajo; } } catch (Exception ex) { Log.SetLog(ex); throw; } return(lista); }