/// <summary> /// Retorna HealthInstitution por guid /// </summary> /// <param name="id">HealthInstitution ID</param> /// <returns></returns> public static HealthInstitutionBE GetById_Simplifaied(Guid id) { HealthInstitutionBE wHealthInstitutionBE = null; using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { Health.Back.BE.HealthInstitution wHealthInstitution = dc.HealthInstitutions.Where(s => s.HealthInstitutionId.Equals(id)).FirstOrDefault <Health.Back.BE.HealthInstitution>(); wHealthInstitutionBE = (HealthInstitutionBE)wHealthInstitution; return(wHealthInstitutionBE); } }
/// <summary> /// Retorna HealthInstitutionList filtrando por healttInstId /// /// obtiene la institucion por id mas sus hermanas y padre /// </summary> /// <param name="textToSearh">Filtro</param> /// <returns></returns> public static HealthInstitutionList RetriveHealthInstitution_Relateds(Guid healttInstId) { HealthInstitutionList wHealthInstitutionList = new HealthInstitutionList(); using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { Health.Back.BE.HealthInstitution inst = dc.HealthInstitutions.Where(s => s.HealthInstitutionId.Equals(healttInstId)).FirstOrDefault(); if (inst != null) { wHealthInstitutionList.Add((HealthInstitutionBE)inst); } //Si es padre buscar hijas.. Si no tiene valor es por q es padre if (!inst.HealthInstitutionIdParent.HasValue) { var childs = dc.HealthInstitutions.Where(s => s.HealthInstitutionIdParent.Equals(healttInstId)); foreach (Health.Back.BE.HealthInstitution p in childs) { wHealthInstitutionList.Add((HealthInstitutionBE)p); } } //Buscar hermanas else { var subyasents = dc.HealthInstitutions.Where(s => s.HealthInstitutionIdParent.Equals(inst.HealthInstitutionIdParent)); foreach (Health.Back.BE.HealthInstitution p in subyasents) { wHealthInstitutionList.Add((HealthInstitutionBE)p); } } //Agregar el padre inst = dc.HealthInstitutions.Where(s => s.HealthInstitutionId.Equals(inst.HealthInstitutionIdParent)).FirstOrDefault(); if (inst != null) { wHealthInstitutionList.Add((HealthInstitutionBE)inst); } return(wHealthInstitutionList); } }
/// <summary> /// Crea una Institución /// Establece como profesional owner de pHealthInstitution a pProfesionalId/pUserId /// </summary> /// <param name="pHealthInstitution">Institución</param> /// <param name="pProfesionalId">Profecional</param> /// <param name="pUserId"></param> public static void Create_From_Owner(Health.Back.BE.HealthInstitution pHealthInstitution, Int32 pProfesionalId, Guid pUserId) { Back.BE.HealthInstitution_Profesional wHealthInstitution_Profesional = new Back.BE.HealthInstitution_Profesional(); Back.BE.HealtInstitute_UsersInRoles wHealtInstitute_UsersInRoles = new BE.HealtInstitute_UsersInRoles(); using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { //Busco la institución padre si existe var parentHI = dc.HealthInstitutions.Where(p => !p.HealthInstitutionIdParent.HasValue && p.HealthInstitution_Profesional.Any(prof => prof.ProfesionalId.Equals(pProfesionalId))).FirstOrDefault(); if (parentHI != null) { pHealthInstitution.HealthInstitutionIdParent = parentHI.HealthInstitutionId; } pHealthInstitution.HealthInstitutionId = Guid.NewGuid(); pHealthInstitution.CreatedDate = System.DateTime.Now; dc.HealthInstitutions.AddObject(pHealthInstitution); wHealthInstitution_Profesional.HealthInstitutionId = pHealthInstitution.HealthInstitutionId; wHealthInstitution_Profesional.ProfesionalId = pProfesionalId; wHealthInstitution_Profesional.ActiveFlag = true; wHealthInstitution_Profesional.UserId = pUserId; wHealthInstitution_Profesional.IsLockedOut = false; wHealthInstitution_Profesional.IsOwner = true; dc.HealthInstitution_Profesional.AddObject(wHealthInstitution_Profesional); wHealtInstitute_UsersInRoles.UserId = pUserId; wHealtInstitute_UsersInRoles.HealthInstitutionId = pHealthInstitution.HealthInstitutionId; wHealtInstitute_UsersInRoles.RoleName = "inst_owner"; dc.HealtInstitute_UsersInRoles.AddObject(wHealtInstitute_UsersInRoles); dc.SaveChanges(); } }
/// <summary> /// Retorna HealthInstitution por guid y/o userGuid /// </summary> /// <param name="id">HealthInstitution ID</param> /// <param name="userId">Guid of the user</param> /// <returns></returns> public static HealthInstitutionBE GetById(Guid id, Guid?userId) { HealthInstitution_ProfesionalBE wProfesional = null; HealthInstitutionBE wHealthInstitutionBE = null; using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { Health.Back.BE.HealthInstitution wHealthInstitution = dc.HealthInstitutions.Where(s => s.HealthInstitutionId.Equals(id)).FirstOrDefault <Health.Back.BE.HealthInstitution>(); wHealthInstitutionBE = (HealthInstitutionBE)wHealthInstitution; if (userId.HasValue) { //Si es owner o admin cargo la informacion extra roles y profesionales asociados bool adminOrowner = wHealthInstitution.HealthInstitution_Profesional.Any(p => p.UserId.Equals(userId) && (p.IsOwner || p.IsOwner)); wHealthInstitutionBE.ProfesionalList = new HealthInstitution_ProfesionalList(); foreach (HealthInstitution_Profesional p in wHealthInstitution.HealthInstitution_Profesional) { wProfesional = (HealthInstitution_ProfesionalBE)p; wHealthInstitutionBE.ProfesionalList.Add(wProfesional); wProfesional.FullName = string.Concat(p.Profesional.Persona.Nombre.Trim(), ", ", p.Profesional.Persona.Apellido.Trim()); } if (adminOrowner) { wHealthInstitutionBE.UsersInRoles = new HealtInstitute_UsersInRolesList(); foreach (HealtInstitute_UsersInRoles p in wHealthInstitution.HealtInstitute_UsersInRoles) { wHealthInstitutionBE.UsersInRoles.Add((HealtInstitute_UsersInRolesBE)p); } } } return(wHealthInstitutionBE); } }
/// <summary> /// Deprecated Method for adding a new object to the HealthInstitutions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToHealthInstitutions(HealthInstitution healthInstitution) { base.AddObject("HealthInstitutions", healthInstitution); }
/// <summary> /// Create a new HealthInstitution object. /// </summary> /// <param name="healthInstitutionId">Initial value of the HealthInstitutionId property.</param> /// <param name="createdDate">Initial value of the CreatedDate property.</param> public static HealthInstitution CreateHealthInstitution(global::System.Guid healthInstitutionId, global::System.DateTime createdDate) { HealthInstitution healthInstitution = new HealthInstitution(); healthInstitution.HealthInstitutionId = healthInstitutionId; healthInstitution.CreatedDate = createdDate; return healthInstitution; }