private void CargaFamilia() { this.Items = new ObservableCollection <Jerarquia>(); var servicioFamilia = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Familia> >(); var servicioSubFamilia = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Subfamilia> >(); var Familia = servicioFamilia.ObtenerPorId(this.Modelo.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); Jerarquia familia = null; Jerarquia subFamilia = null; if (Familia != null) { familia = new Jerarquia(); familia.Nivel = 0; familia.Id = Familia.Id; familia.Nombre = Familia.Nombre; familia.Codigo = Familia.Codigo; var subFamilias = servicioSubFamilia.ObtenerLista(Familia.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); foreach (var SubFamilia in subFamilias) { subFamilia = new Jerarquia(); subFamilia.Nivel = 2; subFamilia.Id = SubFamilia.Id; subFamilia.Codigo = SubFamilia.Codigo; subFamilia.Nombre = SubFamilia.Nombre; subFamilia.Padre = familia; subFamilia.Nodos = null; familia.Nodos.Add(subFamilia); } Items.Add(familia); } }
public static List <Jerarquia> comboJerarquia() { SqlConnection cn = null; List <Jerarquia> lista = new List <Jerarquia>(); try { cn = new SqlConnection(cadenaConexion); cn.Open(); string sqlText = "SELECT idJerarquia, nombre FROM Jerarquia"; SqlCommand cmd = new SqlCommand(sqlText, cn); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Jerarquia jerarquia = new Jerarquia(); int idJerarquia = dr.GetInt32(dr.GetOrdinal("idJerarquia")); jerarquia.idJerarquia = idJerarquia; String nombre = dr.GetString(dr.GetOrdinal("nombre")); jerarquia.nombre = nombre; lista.Add(jerarquia); } } catch (Exception e) { throw new Exception(e.ToString()); } finally { if (cn != null && cn.State == ConnectionState.Open) { cn.Close(); } } return(lista); }
public static JerarquiaModelo From(Jerarquia categoria) { return(new JerarquiaModelo( id: categoria.Id.AsInt(), denominacion: categoria.Denominacion, valor: categoria.Valor )); }
//retorna verdadero si la ClavePersona coinside con ClavePersona del registro, alguno de los autores o hiperjefes de los autores public async Task <Boolean> EvidenciaDownload(int idRegistro, String ClavePersona) { try { var entitie = await dbGI.DbSetPlanNegocioEvolutivo.AsNoTracking() .Include(x => x.PlanNegocioEvolAutores) .FirstOrDefaultAsync(e => e.PlanNegocioEvolutivoId == idRegistro); if (entitie.TipoAcceso == 1) { //1: publico return(true); } else { if (entitie.ClavePersona.Equals(ClavePersona)) { return(true); } if (entitie != null && entitie.PlanNegocioEvolAutores != null) { var autor = entitie.PlanNegocioEvolAutores.FirstOrDefault(x => x.ClavePersona.Equals(ClavePersona)); if (autor != null) { return(true); } } else { JerarquiaRepository hiper = new JerarquiaRepository(); Jerarquia jer = new Jerarquia(null, ClavePersona, null); jer.JefeHiperonimo = ClavePersona; var autores = entitie.PlanNegocioEvolAutores.Select(x => x.ClavePersona).ToList(); PersonasRepository dbPers = new PersonasRepository(); var personas = await dbPers.GetAllCollectionWithoutStatus(autores); var unidadesClave = personas.Select(x => x.ClaveUnidad).ToList(); if (unidadesClave != null) { foreach (var u in unidadesClave) { jer.UnidadOrganizacionalId = u; if (await hiper.isJefeHiperonimoByUnidadOrganizacionalId(jer)) { return(true); } } } } } return(false); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <Boolean> isJefeHiperonimoByUnidadOrganizacionalId(Jerarquia model) { if (model == null || String.IsNullOrEmpty(model.UnidadOrganizacionalId)) { return(false); } var unidad = await new UORepository().GetById(model.UnidadOrganizacionalId); //excepcion si no hay unidad String claveResponsable = unidad.ClaveResponsable; return(await this.isJefeHiperonimo(new Jerarquia(claveResponsable, model.JefeHiperonimo, null))); }
public override void DeleteAgrupamientos(string Hierarchy) { if (this.Elementos != null) { foreach (CuentaView cv in this.Elementos) { string IdCuenta = cv.IdCuenta; tsa_AgrupCuentasDataset.tsa_AgrupCuentasRow row = businessrules.tsa_AgrupCuentas.NewRow(); row = businessrules.tsa_AgrupCuentas.GetByPk(IdCuenta, Hierarchy); if (row != null) { row.Delete(); businessrules.tsa_AgrupCuentas.Update(row); //Si hay otra agrupcuentas no hay q eliminarla solo actualizarla, si no hay otra directamente borro la de cuentas jerarquia DataSet dataset = businessrules.tsa_AgrupCuentas.GetList(IdCuenta); if (dataset.Tables[0].Rows.Count == 0) { tsa_CuentasJerarquiasDataset.tsa_CuentasJerarquiasRow rowCJ = businessrules.tsa_CuentasJerarquias.GetByPk(IdCuenta); rowCJ.Delete(); businessrules.tsa_CuentasJerarquias.Update(rowCJ); } //Else hay q actualizar la q jerarquia q corresponde = "" else { if (!Jerarquia.Equals(string.Empty)) { CuentasJerarquiaAuxiliar c = new CuentasJerarquiaAuxiliar(); string nomenclatura = c.nomenclaturaReal(Jerarquia); ArrayList aux = mz.erp.systemframework.Util.Parse(Jerarquia, 20); tsa_CuentasJerarquiasDataset.tsa_CuentasJerarquiasRow rowCJ = AddTsa_CuentasJerarquias(IdCuenta); rowCJ[nomenclatura + "a"] = string.Empty; rowCJ[nomenclatura + "b"] = string.Empty; rowCJ[nomenclatura + "c"] = string.Empty; rowCJ[nomenclatura + "d"] = string.Empty; businessrules.tsa_CuentasJerarquias.Update(rowCJ); } } } } } }
public async Task <Boolean> EvidenciaDownload(int idRegistro, String ClavePersona) { try { var entitie = await dbGI.DbSetPropuesta.AsNoTracking() .FirstOrDefaultAsync(e => e.Id == idRegistro); if (entitie.TipoAcceso == 1) { //1: publico return(true); } else { if (entitie.ClaveProponentePrincipal.Equals(ClavePersona)) { return(true); } else if (entitie.ClavePersona.Equals(ClavePersona)) { return(true); } else { JerarquiaRepository hiper = new JerarquiaRepository(); Jerarquia jer = new Jerarquia(null, ClavePersona, null); jer.JefeHiperonimo = ClavePersona; jer.UnidadOrganizacionalId = entitie.UnidadOrganizacionalId; return(await hiper.isJefeHiperonimoByUnidadOrganizacionalId(jer)); } } return(false); } catch (Exception e) { throw new Exception(e.Message, e); } }
private void CargaArea() { this.Items = new ObservableCollection <Jerarquia>(); var servicioArea = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Area> >(); var servicioSector = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Sector> >(); var servicioSubSector = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Subsector> >(); var servicioFamilia = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Familia> >(); var servicioSubFamilia = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <Subfamilia> >(); var Area = servicioArea.ObtenerPorId(this.Modelo.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); //Jerarquia raiz = new Jerarquia(); Jerarquia area = null; Jerarquia sector = null; Jerarquia subSector = null; Jerarquia familia = null; Jerarquia subFamilia = null; if (Area != null) { area = new Jerarquia(); area.Nivel = 0; area.Id = Area.Id; area.Nombre = Area.Nombre; area.Codigo = Area.Codigo; var sectores = servicioSector.ObtenerLista(Area.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); foreach (var Sector in sectores) { sector = new Jerarquia(); sector.Id = Sector.Id; sector.Nivel = 1; sector.Nombre = Sector.Nombre; sector.Codigo = Sector.Codigo; sector.Padre = area; var subSectores = servicioSubSector.ObtenerLista(Sector.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); foreach (var SubSector in subSectores) { subSector = new Jerarquia(); subSector.Nivel = 2; subSector.Id = SubSector.Id; subSector.Nombre = SubSector.Nombre; subSector.Codigo = SubSector.Codigo; subSector.Padre = sector; var familias = servicioFamilia.ObtenerLista(SubSector.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); foreach (var Familia in familias) { familia = new Jerarquia(); familia.Nivel = 3; familia.Id = Familia.Id; familia.Codigo = Familia.Codigo; familia.Nombre = Familia.Nombre; familia.Padre = subSector; var subFamilias = servicioSubFamilia.ObtenerLista(Familia.Id, CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo); foreach (var SubFamilia in subFamilias) { subFamilia = new Jerarquia(); subFamilia.Nivel = 4; subFamilia.Id = SubFamilia.Id; subFamilia.Codigo = SubFamilia.Codigo; subFamilia.Nombre = SubFamilia.Nombre; subFamilia.Padre = familia; subFamilia.Nodos = null; familia.Nodos.Add(subFamilia); } subSector.Nodos.Add(familia); } sector.Nodos.Add(subSector); } area.Nodos.Add(sector); } Items.Add(area); } }
public async Task <Boolean> EvidenciaDownload(int idRegistro, String ClavePersona) { try { var entitie = await dbGI.DbSetIdeaInnovadora.AsNoTracking() .FirstOrDefaultAsync(e => e.IdeaInnovadoraId == idRegistro); if (entitie.TipoAcceso == 1) { //1: publico return(true); } else { var autores = await dbGI.DbSetAutoresIdea.AsNoTracking() .Where(x => x.IdeaInnovadoraId == entitie.IdeaInnovadoraId && ClavePersona.Equals(x.ClavePersona)) .FirstOrDefaultAsync(); if (autores != null) { return(true); } if (entitie.ClavePersona.Equals(ClavePersona)) { return(true); } else { JerarquiaRepository hiper = new JerarquiaRepository(); Jerarquia jer = new Jerarquia(null, ClavePersona, null); jer.JefeHiperonimo = ClavePersona; var autorPrincipal = await dbGI.DbSetAutoresIdea.AsNoTracking() .Where(x => x.IdeaInnovadoraId == entitie.IdeaInnovadoraId && x.ContribucionProponenteId == 0) .FirstOrDefaultAsync(); if (autorPrincipal != null) { var fechaActual = DateTime.Now; var personaRow = await(from persona in dbGI.DbSetPersonas //Investigadores where persona.ClavePersona == autorPrincipal.ClavePersona && persona.FechaEfectiva == dbGI.DbSetPersonas.Where( p => p.FechaEfectiva <= fechaActual && p.ClavePersona == persona.ClavePersona ).Max(e => e.FechaEfectiva) select persona).FirstOrDefaultAsync(); if (personaRow != null) { jer.UnidadOrganizacionalId = personaRow.ClaveUnidad; return(await hiper.isJefeHiperonimoByUnidadOrganizacionalId(jer)); } else { return(false); } } else { return(false); } } } return(false); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> isJefeHiperonimoByUnidadOrganizacionalId(Jerarquia model) { try { /*log.Info(new MDCSet(this.ControllerContext.RouteData));*/ var Jerarquia = await _repository.isJefeHiperonimoByUnidadOrganizacionalId(model); return(Ok(Jerarquia)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
/// <summary> /// Se requiere EmpleadoId, JefeHiperonimo </summary> public async Task <Boolean> isJefeHiperonimo(Jerarquia model) { try { if (model == null || String.IsNullOrEmpty(model.EmpleadoId) || String.IsNullOrEmpty(model.JefeHiperonimo)) { return(false); } if (model.EmpleadoId.Equals(model.JefeHiperonimo)) { return(true); } Personas empleado = await dbP.GetByClave(model.EmpleadoId); if (empleado == null) { return(false); } var idUnidad = empleado.ClaveUnidad; var unidad = await dbP.GetUnidadOrgByClaveWithoutStatus(idUnidad); if (unidad == null) { return(false); } var responsable = await dbP.GetResponsableByClaveUnidadWithoutStatus(unidad); if (responsable == null) { return(false); } if (responsable.ClavePersona == model.JefeHiperonimo) { return(true); } if (String.IsNullOrEmpty(unidad.padre)) { return(false); } //unidad padre: -------------------------------------- var unidadPadre = await dbP.GetUnidadOrgByClaveWithoutStatus(unidad.padre); if (unidadPadre == null) { return(false); } var responsablePadre = await dbP.GetResponsableByClaveUnidadWithoutStatus(unidadPadre); if (responsablePadre == null) { return(false); } if (responsablePadre.ClavePersona == model.JefeHiperonimo) { return(true); } if (String.IsNullOrEmpty(unidadPadre.padre)) { return(false); } return(await isJefeHiperonimo(new Jerarquia(responsablePadre.ClavePersona, model.JefeHiperonimo, null))); } catch (Exception e) { throw new Exception(e.Message, e); } }