/// <summary> /// Retorna lista <see cref="HealthInstitutions_SuscriptionRequestsList"/> con solo id , nombre + datos de la subscripción /// </summary> /// <param name="healthInstituteId"></param> /// <returns></returns> internal static HealthInstitutions_SuscriptionRequestsList Retrive_Subscriptions_SimpleList(Guid healthInstituteId) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var AllProfesionals = from p in dc.HealthInstitutions_SuscriptionRequests from prof in dc.Profesionals where p.HealthInstitutionId.Equals(healthInstituteId) && prof.IdProfesional.Equals(p.Profesional_To) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = prof.IdProfesional, Nombre_To = prof.Persona.Nombre, Apellido_To = prof.Persona.Apellido, RequestSend = p.RequestSend, Status = p.State, Message = p.Message }; wProfesionalsBEList.AddRange(AllProfesionals.ToList <HealthInstitutions_SuscriptionRequestsBE>()); } return(wProfesionalsBEList); }
/// <summary> /// /// </summary> /// <param name="pHealthInstitutionId"></param> /// <param name="pIdProfesional_To"></param> /// <param name="status"></param> public static void Update_Subscriptions_Status(Guid pHealthInstitutionId, int pIdProfesional_To, SubscriptionRequestStatus status) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var wSuscription = dc.HealthInstitutions_SuscriptionRequests.Where(p => p.Profesional_To.Equals(pIdProfesional_To) && p.HealthInstitutionId.Equals(p.HealthInstitutionId)).FirstOrDefault(); wSuscription.State = (int)status; dc.SubmitChanges(); } }
internal static void Remove_SubscriptionReq(Guid pHealthInstitutionId, int pIdProfesional_To) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var wSuscription = dc.HealthInstitutions_SuscriptionRequests.Where(p => p.Profesional_To.Equals(pIdProfesional_To) && p.HealthInstitutionId.Equals(p.HealthInstitutionId)).FirstOrDefault(); dc.HealthInstitutions_SuscriptionRequests.DeleteOnSubmit(wSuscription); dc.SubmitChanges(); } }
/// <summary> /// /// </summary> /// <param name="pHealthInstitutionId"></param> /// <param name="pIdProfesional_To"></param> /// <param name="status"></param> public static void Acept_Subscriptions_Req(Guid pHealthInstitutionId, int pIdProfesional_To, Guid user_guid) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var wSuscription = dc.HealthInstitutions_SuscriptionRequests.Where(p => p.Profesional_To.Equals(pIdProfesional_To) && p.HealthInstitutionId.Equals(p.HealthInstitutionId)).FirstOrDefault(); //Asociar el profecional Profesional_Associate_As_AdminOwner(pHealthInstitutionId, pIdProfesional_To, user_guid, wSuscription.RoleName); //Elimina la subscripcion dc.HealthInstitutions_SuscriptionRequests.DeleteOnSubmit(wSuscription); dc.SubmitChanges(); } }
/// <summary> /// Lista brebe de posibles profecionales para invitar con /// IdProfesional,Nombre,Apellido /// </summary> /// <param name="nombreapellido">Filtro</param> /// <returns>HealthInstitutions_SuscriptionRequestsList</returns> public static HealthInstitutions_SuscriptionRequestsList SearchProfesionals_ToSuscriptionInfo(int profesionalId, Guid healthInstituteId, string nombreapellido) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { ///Busca a los que ya se le enviaron solicitudes var profesionals_pendings = HealthInstitutionDAC.Retrive_Subscriptions_SimpleList(healthInstituteId); ///Profesionales que ya pertenecen a la institución Esta es un alista para quitar var profesionals_exist = from hp in dc.HealthInstitution_Profesional from p in dc.Profesional_FullView where hp.HealthInstitutionId.Equals(healthInstituteId) && hp.ProfesionalId.Equals(p.IdProfesional) && hp.ProfesionalId.Equals(profesionalId) == false select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.IdProfesional, Nombre_To = p.Nombre, Apellido_To = p.Apellido }; Int32[] ids_pendings = (from s in profesionals_pendings select s.Profesional_To).ToArray(); Int32[] ids_exists = (from s in profesionals_exist select s.Profesional_To).ToArray(); var profesionals_All = from p in dc.Profesional_FullView where !(ids_pendings.Contains(p.IdProfesional)) && //excluye profesionals_pendings !(ids_exists.Contains(p.IdProfesional)) && // excluye profesionals_exist (String.IsNullOrEmpty(nombreapellido) || p.Nombre.Contains(nombreapellido) || p.Apellido.Contains(nombreapellido)) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.IdProfesional, Nombre_To = p.Nombre, Apellido_To = p.Apellido, Status = (int)SubscriptionRequestStatus.Null }; wProfesionalsBEList.AddRange(profesionals_pendings.ToList <HealthInstitutions_SuscriptionRequestsBE>()); wProfesionalsBEList.AddRange(profesionals_All.ToList <HealthInstitutions_SuscriptionRequestsBE>()); } return(wProfesionalsBEList); }
/// <summary> /// Lista usada para ver las solicitudes al profecional /// Retorna lista <see cref="HealthInstitutions_SuscriptionRequestsList"/> con solo id , nombre + datos de la subscripción /// Se retorna Nombre y apellido es del usuario que solicita /// </summary> /// <param name="pIdProfesional">Id del profesional que desea ver sus solicitudes pendientes</param> /// <returns></returns> internal static HealthInstitutions_SuscriptionRequestsList Retrive_PendingSubscriptions_SimpleList(int pIdProfesional) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var AllProfesionals = from p in dc.HealthInstitutions_SuscriptionRequests from h in dc.HealthInstitutions from prof_from in dc.Profesionals where p.Profesional_To.Equals(pIdProfesional) && h.HealthInstitutionId.Equals(p.HealthInstitutionId) && prof_from.IdProfesional.Equals(p.ProfesionalId_From) && !p.State.Equals(SubscriptionRequestStatus.Rechazado) && !p.State.Equals(SubscriptionRequestStatus.Expirado) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.Profesional_To, Profesional_From = p.ProfesionalId_From, Nombre_From = prof_from.Persona.Nombre, Apellido_From = prof_from.Persona.Apellido, RequestSend = p.RequestSend, Status = p.State, HealthInsId = h.HealthInstitutionId, HealthInstName = h.RazonSocial, SenderIsOwner = p.SenderIsOwner, Message = p.Message }; wProfesionalsBEList.AddRange(AllProfesionals.ToList <HealthInstitutions_SuscriptionRequestsBE>()); } return(wProfesionalsBEList); }
/// <summary> /// /// </summary> /// <param name="pHealthInstitutionId"></param> /// <param name="pIdProfesional_To"></param> /// <param name="status"></param> public static void Acept_Subscriptions_Req(Guid pHealthInstitutionId, int pIdProfesional_To, Guid user_guid) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var wSuscription = dc.HealthInstitutions_SuscriptionRequests.Where(p => p.Profesional_To.Equals(pIdProfesional_To) && p.HealthInstitutionId.Equals(p.HealthInstitutionId)).FirstOrDefault(); //Asociar el Profesional Profesional_Associate_As_AdminOwner(pHealthInstitutionId, pIdProfesional_To, user_guid, wSuscription.RoleName); //Elimina la subscripcion dc.HealthInstitutions_SuscriptionRequests.DeleteOnSubmit(wSuscription); dc.SubmitChanges(); } }
/// <summary> /// Lista usada para ver las solicitudes al Profesional /// Retorna lista <see cref="HealthInstitutions_SuscriptionRequestsList"/> con solo id , nombre + datos de la subscripción /// Se retorna Nombre y apellido es del usuario que solicita /// </summary> /// <param name="pIdProfesional">Id del profesional que desea ver sus solicitudes pendientes</param> /// <returns></returns> internal static HealthInstitutions_SuscriptionRequestsList Retrive_PendingSubscriptions_SimpleList(int pIdProfesional) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var AllProfesionals = from p in dc.HealthInstitutions_SuscriptionRequests from h in dc.HealthInstitutions from prof_from in dc.Profesionals where p.Profesional_To.Equals(pIdProfesional) && h.HealthInstitutionId.Equals(p.HealthInstitutionId) && prof_from.IdProfesional.Equals(p.ProfesionalId_From) && !p.State.Equals(SubscriptionRequestStatus.Rechazado) && !p.State.Equals(SubscriptionRequestStatus.Expirado) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.Profesional_To, Profesional_From = p.ProfesionalId_From, Nombre_From = prof_from.Persona.Nombre, Apellido_From = prof_from.Persona.Apellido, RequestSend = p.RequestSend, Status = p.State, HealthInsId = h.HealthInstitutionId, HealthInstName = h.RazonSocial, SenderIsOwner = p.SenderIsOwner, Message = p.Message }; wProfesionalsBEList.AddRange(AllProfesionals.ToList<HealthInstitutions_SuscriptionRequestsBE>()); } return wProfesionalsBEList; }
/// <summary> /// Retorna lista <see cref="HealthInstitutions_SuscriptionRequestsList"/> con solo id , nombre + datos de la subscripción /// </summary> /// <param name="healthInstituteId"></param> /// <returns></returns> internal static HealthInstitutions_SuscriptionRequestsList Retrive_Subscriptions_SimpleList(Guid healthInstituteId) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (HealthLinQDataContext dc = new HealthLinQDataContext(Common.CnnString)) { var AllProfesionals = from p in dc.HealthInstitutions_SuscriptionRequests from prof in dc.Profesionals where p.HealthInstitutionId.Equals(healthInstituteId) && prof.IdProfesional.Equals(p.Profesional_To) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = prof.IdProfesional, Nombre_To = prof.Persona.Nombre, Apellido_To = prof.Persona.Apellido, RequestSend = p.RequestSend, Status = p.State, Message = p.Message }; wProfesionalsBEList.AddRange(AllProfesionals.ToList<HealthInstitutions_SuscriptionRequestsBE>()); } return wProfesionalsBEList; }
/// <summary> /// Lista brebe de posibles Profesionales para invitar con /// IdProfesional,Nombre,Apellido /// </summary> /// <param name="nombreapellido">Filtro</param> /// <returns>HealthInstitutions_SuscriptionRequestsList</returns> public static HealthInstitutions_SuscriptionRequestsList SearchProfesionals_ToSuscriptionInfo(int profesionalId, Guid healthInstituteId, string nombreapellido) { HealthInstitutions_SuscriptionRequestsList wProfesionalsBEList = new HealthInstitutions_SuscriptionRequestsList(); using (Health.Back.BE.HealthEntities dc = new Health.Back.BE.HealthEntities(Common.CnnString_Entities)) { ///Busca a los que ya se le enviaron solicitudes var profesionals_pendings = HealthInstitutionDAC.Retrive_Subscriptions_SimpleList(healthInstituteId); ///Profesionales que ya pertenecen a la institución Esta es un alista para quitar var profesionals_exist = from hp in dc.HealthInstitution_Profesional from p in dc.Profesional_FullView where hp.HealthInstitutionId.Equals(healthInstituteId) && hp.ProfesionalId.Equals(p.IdProfesional) && hp.ProfesionalId.Equals(profesionalId) == false select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.IdProfesional, Nombre_To = p.Nombre, Apellido_To = p.Apellido }; Int32[] ids_pendings = (from s in profesionals_pendings select s.Profesional_To).ToArray(); Int32[] ids_exists = (from s in profesionals_exist select s.Profesional_To).ToArray(); var profesionals_All = from p in dc.Profesional_FullView where !(ids_pendings.Contains(p.IdProfesional)) && //excluye profesionals_pendings !(ids_exists.Contains(p.IdProfesional)) &&// excluye profesionals_exist (String.IsNullOrEmpty(nombreapellido) || p.Nombre.Contains(nombreapellido) || p.Apellido.Contains(nombreapellido)) select new HealthInstitutions_SuscriptionRequestsBE { Profesional_To = p.IdProfesional, Nombre_To = p.Nombre, Apellido_To = p.Apellido, Status = (int)SubscriptionRequestStatus.Null }; wProfesionalsBEList.AddRange(profesionals_pendings.ToList<HealthInstitutions_SuscriptionRequestsBE>()); wProfesionalsBEList.AddRange(profesionals_All.ToList<HealthInstitutions_SuscriptionRequestsBE>()); } return wProfesionalsBEList; }