Exemplo n.º 1
0
        public List <ServiceComponentList> GetServiceComponents(string pstrServiceId)
        {
            int isDeleted  = (int)SiNo.No;
            int isRequired = (int)SiNo.Si;

            try
            {
                DatabaseContext dbContext = new DatabaseContext();

                var query = (from A in dbContext.ServiceComponent
                             join B in dbContext.SystemParameter on new { a = A.i_ServiceComponentStatusId.Value, b = 127 }
                             equals new { a = B.i_ParameterId, b = B.i_GroupId }
                             join C in dbContext.Component on A.v_ComponentId equals C.v_ComponentId
                             join D in dbContext.SystemParameter on new { a = A.i_QueueStatusId.Value, b = 128 }
                             equals new { a = D.i_ParameterId, b = D.i_GroupId }
                             join E in dbContext.Service on A.v_ServiceId equals E.v_ServiceId
                             join F in dbContext.SystemParameter on new { a = C.i_CategoryId, b = 116 }
                             equals new { a = F.i_ParameterId, b = F.i_GroupId } into F_join
                             from F in F_join.DefaultIfEmpty()

                             where A.v_ServiceId == pstrServiceId &&
                             A.i_IsDeleted == isDeleted &&
                             A.i_IsRequiredId == isRequired

                             select new ServiceComponentList
                {
                    v_ComponentId = A.v_ComponentId,
                    v_ComponentName = C.v_Name,
                    i_ServiceComponentStatusId = A.i_ServiceComponentStatusId.Value,
                    v_ServiceComponentStatusName = B.v_Value1,
                    d_StartDate = A.d_StartDate.Value,
                    d_EndDate = A.d_EndDate.Value,
                    i_QueueStatusId = A.i_QueueStatusId.Value,
                    v_QueueStatusName = D.v_Value1,
                    ServiceStatusId = E.i_ServiceStatusId.Value,
                    v_Motive = E.v_Motive,
                    i_CategoryId = C.i_CategoryId,
                    v_CategoryName = C.i_CategoryId == -1 ? C.v_Name : F.v_Value1,
                    v_ServiceId = E.v_ServiceId,
                    v_ServiceComponentId = A.v_ServiceComponentId,
                });

                var objData = query.AsEnumerable()
                              .Where(s => s.i_CategoryId != -1)
                              .GroupBy(x => x.i_CategoryId)
                              .Select(group => group.First());

                List <ServiceComponentList> obj = objData.ToList();

                obj.AddRange(query.Where(p => p.i_CategoryId == -1));

                return(obj);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        public BoardExamsCustom GetExamsForConsult(BoardExamsCustom data)
        {
            try
            {
                var query = (from A in ctx.ServiceComponent
                             join B in ctx.SystemParameter on new { a = A.i_ServiceComponentStatusId.Value, b = 127 }
                             equals new { a = B.i_ParameterId, b = B.i_GroupId }
                             join C in ctx.Component on A.v_ComponentId equals C.v_ComponentId
                             join D in ctx.SystemParameter on new { a = A.i_QueueStatusId.Value, b = 128 }
                             equals new { a = D.i_ParameterId, b = D.i_GroupId }
                             join E in ctx.Service on A.v_ServiceId equals E.v_ServiceId
                             join F in ctx.SystemParameter on new { a = C.i_CategoryId, b = 116 }
                             equals new { a = F.i_ParameterId, b = F.i_GroupId } into F_join
                             from F in F_join.DefaultIfEmpty()

                             where A.v_ServiceId == data.ServiceId &&
                             A.i_IsDeleted == (int)SiNo.No &&
                             A.i_IsRequiredId == (int)SiNo.Si

                             select new ExamsCustom
                {
                    v_ComponentId = A.v_ComponentId,
                    v_PersonId = E.v_PersonId,
                    v_ComponentName = C.v_Name,
                    i_ServiceComponentStatusId = A.i_ServiceComponentStatusId.Value,
                    v_ServiceComponentStatusName = B.v_Value1,
                    d_StartDate = A.d_StartDate.Value,
                    d_EndDate = A.d_EndDate.Value,
                    i_QueueStatusId = A.i_QueueStatusId.Value,
                    v_QueueStatusName = D.v_Value1,
                    ServiceStatusId = E.i_ServiceStatusId.Value,
                    v_Motive = E.v_Motive,
                    i_CategoryId = C.i_CategoryId,
                    v_CategoryName = C.i_CategoryId == -1 ? C.v_Name : F.v_Value1,
                    v_ServiceId = E.v_ServiceId,
                    v_ServiceComponentId = A.v_ServiceComponentId,
                });

                var objData = query.AsEnumerable()
                              .Where(s => s.i_CategoryId != -1)
                              .GroupBy(x => x.i_CategoryId)
                              .Select(group => group.First());

                List <ExamsCustom> obj = objData.ToList();

                obj.AddRange(query.Where(p => p.i_CategoryId == -1));

                data.List = obj;
                return(data);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemplo n.º 3
0
        private List <ServiceComponentList> obtenerServiceComponentsByServiceId(string serviceId)
        {
            try
            {
                var dbContext = new SigesoftEntitiesModel();

                var query = (from A in dbContext.servicecomponent
                             join C in dbContext.systemuser on A.i_MedicoTratanteId equals C.i_SystemUserId
                             join D in dbContext.person on C.v_PersonId equals D.v_PersonId
                             join B in dbContext.component on A.v_ComponentId equals B.v_ComponentId
                             join F in dbContext.systemparameter on new { a = B.i_CategoryId.Value, b = 116 }
                             equals new { a = F.i_ParameterId, b = F.i_GroupId } into F_join
                             from F in F_join.DefaultIfEmpty()
                             join H in dbContext.service on A.v_ServiceId equals H.v_ServiceId
                             join I in dbContext.protocol on H.v_ProtocolId equals I.v_ProtocolId
                             join G in dbContext.plan on new { a = I.v_ProtocolId, b = A.v_IdUnidadProductiva }
                             equals new { a = G.v_ProtocoloId, b = G.v_IdUnidadProductiva }
                             where A.v_ServiceId == serviceId &&
                             A.i_IsDeleted == 0 &&
                             A.i_IsRequiredId == 1 &&
                             (A.d_SaldoPaciente.Value > 0 || A.d_SaldoAseguradora.Value > 0)

                             select new ServiceComponentList
                {
                    v_ServiceComponentId = A.v_ServiceComponentId,
                    v_ComponentId = A.v_ComponentId,
                    r_Price = A.r_Price.Value,
                    v_ComponentName = B.v_Name,
                    v_CategoryName = F.v_Value1,
                    MedicoTratante = D.v_FirstName + " " + D.v_FirstLastName + " " + D.v_SecondLastName,
                    d_InsertDate = A.d_InsertDate,
                    d_SaldoPaciente = A.d_SaldoPaciente.Value,
                    d_SaldoAseguradora = A.d_SaldoAseguradora.Value,
                    i_EsDeducible = G.i_EsDeducible.Value,
                    i_EsCoaseguro = G.i_EsCoaseguro.Value,
                    d_Importe = G.d_Importe
                }).ToList();

                return(query);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemplo n.º 4
0
        public static List <Categoria> GetAllComponentsByService(string pstrString)
        {
            int isDeleted  = (int)SiNo.No;
            int isRequired = (int)SiNo.Si;

            try
            {
                // Acá traigo toda mi data que nececeito... mas que todo para los padres
                var query = (from A in ctx.ServiceComponent
                             join B in ctx.SystemParameter on new { a = A.i_ServiceComponentStatusId.Value, b = 127 }
                             equals new { a = B.i_ParameterId, b = B.i_GroupId }
                             join C in ctx.Component on A.v_ComponentId equals C.v_ComponentId
                             join D in ctx.SystemParameter on new { a = A.i_QueueStatusId.Value, b = 128 }
                             equals new { a = D.i_ParameterId, b = D.i_GroupId }
                             join E in ctx.Service on A.v_ServiceId equals E.v_ServiceId
                             join F in ctx.SystemParameter on new { a = C.i_CategoryId, b = 116 }
                             equals new { a = F.i_ParameterId, b = F.i_GroupId } into F_join
                             from F in F_join.DefaultIfEmpty()

                             // Usuario Medico Evaluador / Medico Aprobador ****************************
                             join me in ctx.SystemUser on A.i_ApprovedUpdateUserId equals me.i_SystemUserId into me_join
                             from me in me_join.DefaultIfEmpty()

                             join pme in ctx.Professional on me.v_PersonId equals pme.v_PersonId into pme_join
                             from pme in pme_join.DefaultIfEmpty()


                             where A.v_ServiceId == pstrString &&
                             A.i_IsDeleted == isDeleted &&
                             A.i_IsRequiredId == isRequired

                             select new ServiceComponentList
                {
                    v_ComponentId = A.v_ComponentId,
                    v_ComponentName = C.v_Name,
                    i_ServiceComponentStatusId = A.i_ServiceComponentStatusId.Value,
                    v_ServiceComponentStatusName = B.v_Value1,
                    d_StartDate = A.d_StartDate.Value,
                    d_EndDate = A.d_EndDate.Value,
                    i_QueueStatusId = A.i_QueueStatusId.Value,
                    v_QueueStatusName = D.v_Value1,
                    ServiceStatusId = E.i_ServiceStatusId.Value,
                    v_Motive = E.v_Motive,
                    i_CategoryId = C.i_CategoryId,
                    v_CategoryName = C.i_CategoryId == -1 ? C.v_Name : F.v_Value1,
                    v_ServiceId = E.v_ServiceId,
                    v_ServiceComponentId = A.v_ServiceComponentId,
                    ApprovedUpdateUser = me.v_UserName
                });

                // acá lleno mi entidad padre con la consulta de arriba
                List <Categoria> xxx        = new List <Categoria>();
                Categoria        oCategoria = null;
                foreach (var item in query)
                {
                    oCategoria = new Categoria();
                    oCategoria.v_ComponentId   = item.v_ComponentId;
                    oCategoria.v_ComponentName = item.v_ComponentName;
                    oCategoria.i_CategoryId    = item.i_CategoryId;
                    oCategoria.v_CategoryName  = item.v_CategoryName;// item.i_CategoryId.Value == -1 ? item.v_CategoryName : item.v_ServiceComponentStatusName;
                    oCategoria.v_ServiceComponentStatusName = item.v_ServiceComponentStatusName;
                    oCategoria.v_QueueStatusName            = item.v_QueueStatusName;
                    oCategoria.i_ServiceComponentStatusId   = item.i_ServiceComponentStatusId.Value;
                    oCategoria.ApprovedUpdateUser           = item.ApprovedUpdateUser;
                    xxx.Add(oCategoria);
                }

                //en mi caso hago un groupby porque mi data se repite
                var objData = xxx.AsEnumerable()
                              .Where(s => s.i_CategoryId != -1)
                              .GroupBy(x => x.i_CategoryId)
                              .Select(group => group.First());

                List <Categoria> obj = objData.ToList();

                Categoria        objCategoriaList;
                List <Categoria> Lista = new List <Categoria>();

                //acá recorreo los padres para poder llenar los hijos
                for (int i = 0; i < obj.Count(); i++)
                {
                    objCategoriaList = new Categoria();

                    objCategoriaList.i_CategoryId   = obj[i].i_CategoryId.Value;
                    objCategoriaList.v_CategoryName = obj[i].v_CategoryName;
                    objCategoriaList.v_ServiceComponentStatusName = obj[i].v_ServiceComponentStatusName;
                    objCategoriaList.v_QueueStatusName            = obj[i].v_QueueStatusName;
                    objCategoriaList.i_ServiceComponentStatusId   = obj[i].i_ServiceComponentStatusId;
                    objCategoriaList.ApprovedUpdateUser           = obj[i].ApprovedUpdateUser;
                    // en esta variable x obtengo los hijos de un padre (cada bucle me da un padre y con ese id busco sus hijos)
                    var x = query.ToList().FindAll(p => p.i_CategoryId == obj[i].i_CategoryId.Value);

                    x.Sort((z, y) => z.v_ComponentName.CompareTo(y.v_ComponentName));
                    ComponentDetailList        objComponentDetailList;
                    List <ComponentDetailList> ListaComponentes = new List <ComponentDetailList>();
                    //recorro los hijos y los agrego dentro del padre
                    foreach (var item in x)
                    {
                        objComponentDetailList = new ComponentDetailList();

                        objComponentDetailList.v_ComponentId        = item.v_ComponentId;
                        objComponentDetailList.v_ComponentName      = item.v_ComponentName;
                        objComponentDetailList.v_ServiceComponentId = item.v_ServiceComponentId;
                        objComponentDetailList.StatusComponentId    = item.i_ServiceComponentStatusId.Value;
                        objComponentDetailList.ApprovedUpdateUser   = item.ApprovedUpdateUser;
                        objComponentDetailList.StatusComponent      = item.v_ServiceComponentStatusName;
                        ListaComponentes.Add(objComponentDetailList);
                    }
                    objCategoriaList.Componentes = ListaComponentes;

                    Lista.Add(objCategoriaList);
                }


                //retorno lista jerarquizada

                return(Lista);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemplo n.º 5
0
        public List <TramasList> GettramasPageAndFilteredPartos(ref OperationResult pobjOperationResult, int?pintPageIndex, int?pintResultsPerPage, string pstrSortExpression, string pstrFilterExpression, DateTime?pdatBeginDate, DateTime?pdatEndDate)
        {
            try
            {
                SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

                var query = from A in dbContext.tramas

                            join C in dbContext.systemuser on A.i_InsertUserId equals C.i_SystemUserId
                            join D in dbContext.person on C.v_PersonId equals D.v_PersonId
                            join E in dbContext.systemuser on new { i_UpdateUserId = A.i_UpdateUserId.Value }
                equals new { i_UpdateUserId = E.i_SystemUserId } into E_join
                from E in E_join.DefaultIfEmpty()

                join F in dbContext.person on new { v_PersonId = E.v_PersonId }
                equals new { v_PersonId = F.v_PersonId } into F_join
                from F in F_join.DefaultIfEmpty()

                join G in dbContext.systemparameter on new { a = A.i_TipoParto.Value, b = 350 }
                equals new { a = G.i_ParameterId, b = G.i_GroupId } into G_join                 // TIPO PARTO DETAIL
                from G in G_join.DefaultIfEmpty()

                join H in dbContext.systemparameter on new { a = A.i_TipoNacimiento.Value, b = 351 }
                equals new { a = H.i_ParameterId, b = H.i_GroupId } into H_join                 // NACIMIENTO DETAIL
                from H in H_join.DefaultIfEmpty()

                join I in dbContext.systemparameter on new { a = A.i_TipoComplicacion.Value, b = 352 }
                equals new { a = I.i_ParameterId, b = I.i_GroupId } into I_join                 // COMPLICACION DETAIL
                from I in I_join.DefaultIfEmpty()

                where A.i_IsDeleted == 0 && A.v_TipoRegistro == "Partos"

                select new TramasList
                {
                    v_TramaId                = A.v_TramaId,
                    v_TipoRegistro           = A.v_TipoRegistro,
                    d_FechaIngreso           = A.d_FechaIngreso.Value,
                    tipoParto_Detail         = G.v_Value1,
                    tipoNacimiento_Detail    = H.v_Value1,
                    tipoCompliacacion_Detail = I.v_Value1,
                    d_InsertDate             = A.d_InsertDate.Value,
                    d_UpdateDate             = A.d_UpdateDate.Value,
                    User_Crea                = D.v_FirstName + " " + D.v_FirstLastName + " " + D.v_SecondLastName,
                    User_Act = E.i_SystemUserId == null ? "---" : F.v_FirstName + " " + F.v_FirstLastName + " " + F.v_SecondLastName,
                };
                #region
                if (!string.IsNullOrEmpty(pstrFilterExpression))
                {
                    query = query.Where(pstrFilterExpression);
                }
                if (pdatBeginDate.HasValue && pdatEndDate.HasValue)
                {
                    query = query.Where("d_FechaIngreso >= @0 && d_FechaIngreso <= @1", pdatBeginDate.Value, pdatEndDate.Value);
                }
                if (!string.IsNullOrEmpty(pstrSortExpression))
                {
                    query = query.OrderBy(pstrSortExpression);
                }
                if (pintPageIndex.HasValue && pintResultsPerPage.HasValue)
                {
                    int intStartRowIndex = pintPageIndex.Value * pintResultsPerPage.Value;
                    query = query.Skip(intStartRowIndex);
                }
                if (pintResultsPerPage.HasValue)
                {
                    query = query.Take(pintResultsPerPage.Value);
                }
                #endregion
                List <TramasList> objData = query.ToList();
                var tramasdetalle         = (from a in objData
                                             select new TramasList
                {
                    v_TramaId = a.v_TramaId,
                    v_TipoRegistro = a.v_TipoRegistro,
                    d_FechaIngreso = a.d_FechaIngreso,
                    tipoParto_Detail = a.tipoParto_Detail,
                    tipoNacimiento_Detail = a.tipoNacimiento_Detail,
                    tipoCompliacacion_Detail = a.tipoCompliacacion_Detail,
                    User_Crea = a.User_Crea,
                    User_Act = a.User_Act,
                    d_InsertDate = a.d_InsertDate,
                    d_UpdateDate = a.d_UpdateDate,
                }).ToList();
                pobjOperationResult.Success = 1;
                return(tramasdetalle);
            }
            catch (Exception e)
            {
                pobjOperationResult.Success          = 0;
                pobjOperationResult.ExceptionMessage = Common.Utils.ExceptionFormatter(e);
                return(null);
                //Console.WriteLine(e);
                //throw;
            }
        }
Exemplo n.º 6
0
        public List <TramasList> GettramasPageAndFilteredHospitalizacion(ref OperationResult pobjOperationResult, int?pintPageIndex, int?pintResultsPerPage, string pstrSortExpression, string pstrFilterExpression, DateTime?pdatBeginDate, DateTime?pdatEndDate)
        {
            try
            {
                SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

                var query = from A in dbContext.tramas

                            join B in dbContext.systemparameter on new { a = A.i_GrupoEtario.Value, b = 347 }
                equals new { a = B.i_ParameterId, b = B.i_GroupId } into B_join                 // GRUPO ETARIO
                from B in B_join.DefaultIfEmpty()

                join C in dbContext.systemuser on A.i_InsertUserId equals C.i_SystemUserId
                join D in dbContext.person on C.v_PersonId equals D.v_PersonId
                join E in dbContext.systemuser on new { i_UpdateUserId = A.i_UpdateUserId.Value }
                equals new { i_UpdateUserId = E.i_SystemUserId } into E_join
                from E in E_join.DefaultIfEmpty()

                join F in dbContext.person on new { v_PersonId = E.v_PersonId }
                equals new { v_PersonId = F.v_PersonId } into F_join
                from F in F_join.DefaultIfEmpty()

                join G in dbContext.systemparameter on new { a = A.i_UPS.Value, b = 349 }
                equals new { a = G.i_ParameterId, b = G.i_GroupId } into G_join                 // UPS DETAIL
                from G in G_join.DefaultIfEmpty()

                where A.i_IsDeleted == 0 && A.v_TipoRegistro == "Hospitalización"

                select new TramasList
                {
                    v_TramaId       = A.v_TramaId,
                    v_TipoRegistro  = A.v_TipoRegistro,
                    d_FechaIngreso  = A.d_FechaIngreso.Value,
                    i_Genero        = A.i_Genero,
                    GrupoEtario     = B.v_Value1,
                    v_DiseasesName  = A.v_DiseasesName,
                    v_CIE10Id       = A.v_CIE10Id,
                    d_InsertDate    = A.d_InsertDate.Value,
                    d_UpdateDate    = A.d_UpdateDate.Value,
                    User_Crea       = D.v_FirstName + " " + D.v_FirstLastName + " " + D.v_SecondLastName,
                    User_Act        = E.i_SystemUserId == null ? "---" : F.v_FirstName + " " + F.v_FirstLastName + " " + F.v_SecondLastName,
                    d_FechaAlta     = A.d_FechaAlta.Value,
                    i_UPS           = A.i_UPS.Value,
                    i_Procedimiento = A.i_Procedimiento,
                    ups_Detail      = G.v_Value1
                };

                if (!string.IsNullOrEmpty(pstrFilterExpression))
                {
                    query = query.Where(pstrFilterExpression);
                }
                if (pdatBeginDate.HasValue && pdatEndDate.HasValue)
                {
                    query = query.Where("d_FechaIngreso >= @0 && d_FechaIngreso <= @1", pdatBeginDate.Value, pdatEndDate.Value);
                }
                if (!string.IsNullOrEmpty(pstrSortExpression))
                {
                    query = query.OrderBy(pstrSortExpression);
                }
                if (pintPageIndex.HasValue && pintResultsPerPage.HasValue)
                {
                    int intStartRowIndex = pintPageIndex.Value * pintResultsPerPage.Value;
                    query = query.Skip(intStartRowIndex);
                }
                if (pintResultsPerPage.HasValue)
                {
                    query = query.Take(pintResultsPerPage.Value);
                }

                List <TramasList> objData = query.ToList();
                var tramasdetalle         = (from a in objData
                                             select new TramasList
                {
                    v_TramaId = a.v_TramaId,
                    v_TipoRegistro = a.v_TipoRegistro,
                    d_FechaIngreso = a.d_FechaIngreso,
                    Genero = a.i_Genero == 1 ? "MASC" : "FEM",
                    GrupoEtario = a.GrupoEtario,
                    v_DiseasesName = a.v_DiseasesName,
                    v_CIE10Id = a.v_CIE10Id,
                    User_Crea = a.User_Crea,
                    User_Act = a.User_Act,
                    d_InsertDate = a.d_InsertDate,
                    d_UpdateDate = a.d_UpdateDate,

                    d_FechaAlta = a.d_FechaAlta,
                    i_UPS = a.i_UPS,
                    ups_Detail = a.ups_Detail,
                    i_Procedimiento = a.i_Procedimiento,
                    dead_prod = a.i_Procedimiento == 0 ? "NO" : "SI",
                }).ToList();
                pobjOperationResult.Success = 1;
                return(tramasdetalle);
            }
            catch (Exception e)
            {
                pobjOperationResult.Success          = 0;
                pobjOperationResult.ExceptionMessage = Common.Utils.ExceptionFormatter(e);
                return(null);
                //Console.WriteLine(e);
                //throw;
            }
        }
Exemplo n.º 7
0
        public List <TramasList> GettramasPageAndFilteredAmbulatorio(ref OperationResult pobjOperationResult, int?pintPageIndex, int?pintResultsPerPage, string pstrSortExpression, string pstrFilterExpression, DateTime?pdatBeginDate, DateTime?pdatEndDate)
        {
            try
            {
                SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

                var query = from A in dbContext.tramas
                            join B in dbContext.systemparameter on A.i_GrupoEtario equals B.i_ParameterId
                            join C in dbContext.systemuser on A.i_InsertUserId equals C.i_SystemUserId
                            join D in dbContext.person on C.v_PersonId equals D.v_PersonId

                            join E in dbContext.systemuser on new { i_UpdateUserId = A.i_UpdateUserId.Value }
                equals new { i_UpdateUserId = E.i_SystemUserId } into E_join
                from E in E_join.DefaultIfEmpty()

                join F in dbContext.person on new { v_PersonId = E.v_PersonId }
                equals new { v_PersonId = F.v_PersonId } into F_join
                from F in F_join.DefaultIfEmpty()


                where A.i_IsDeleted == 0 && B.i_GroupId == 347 && A.v_TipoRegistro == "Ambulatorio"

                select new TramasList
                {
                    v_TramaId      = A.v_TramaId,
                    v_TipoRegistro = A.v_TipoRegistro,
                    d_FechaIngreso = A.d_FechaIngreso,
                    i_Genero       = A.i_Genero,
                    GrupoEtario    = B.v_Value1,
                    v_DiseasesName = A.v_DiseasesName,
                    v_CIE10Id      = A.v_CIE10Id,
                    d_InsertDate   = A.d_InsertDate,
                    d_UpdateDate   = A.d_UpdateDate,
                    User_Crea      = D.v_FirstName + " " + D.v_FirstLastName + " " + D.v_SecondLastName,
                    User_Act       = E.i_SystemUserId == null ? "---" : F.v_FirstName + " " + F.v_FirstLastName + " " + F.v_SecondLastName
                };

                if (!string.IsNullOrEmpty(pstrFilterExpression))
                {
                    query = query.Where(pstrFilterExpression);
                }
                if (pdatBeginDate.HasValue && pdatEndDate.HasValue)
                {
                    query = query.Where("d_FechaIngreso >= @0 && d_FechaIngreso <= @1", pdatBeginDate.Value, pdatEndDate.Value);
                }
                if (!string.IsNullOrEmpty(pstrSortExpression))
                {
                    query = query.OrderBy(pstrSortExpression);
                }
                if (pintPageIndex.HasValue && pintResultsPerPage.HasValue)
                {
                    int intStartRowIndex = pintPageIndex.Value * pintResultsPerPage.Value;
                    query = query.Skip(intStartRowIndex);
                }
                if (pintResultsPerPage.HasValue)
                {
                    query = query.Take(pintResultsPerPage.Value);
                }

                List <TramasList> objData = query.ToList();
                var tramasdetalle         = (from a in objData
                                             select new TramasList
                {
                    v_TramaId = a.v_TramaId,
                    v_TipoRegistro = a.v_TipoRegistro,
                    d_FechaIngreso = a.d_FechaIngreso,
                    Genero = a.i_Genero == 1 ? "MASC" : "FEM",
                    GrupoEtario = a.GrupoEtario,
                    v_DiseasesName = a.v_DiseasesName,
                    v_CIE10Id = a.v_CIE10Id,
                    User_Crea = a.User_Crea,
                    User_Act = a.User_Act,
                    d_InsertDate = a.d_InsertDate,
                    d_UpdateDate = a.d_UpdateDate
                }).ToList();
                pobjOperationResult.Success = 1;
                return(tramasdetalle);
            }
            catch (Exception e)
            {
                pobjOperationResult.Success          = 0;
                pobjOperationResult.ExceptionMessage = Common.Utils.ExceptionFormatter(e);
                return(null);
            }
        }
Exemplo n.º 8
0
        public PacientList DevolverDatosPaciente(string pstrServiceId)
        {
            try
            {
                DatabaseContext dbContext = new DatabaseContext();
                var             objEntity = (from a in dbContext.Service
                                             join b in dbContext.Person on a.v_PersonId equals b.v_PersonId

                                             join c in dbContext.SystemParameter on new { a = b.i_SexTypeId.Value, b = 100 }
                                             equals new { a = c.i_ParameterId, b = c.i_GroupId } // GENERO
                                             join d in dbContext.Protocol on a.v_ProtocolId equals d.v_ProtocolId


                                             join E in dbContext.DataHierarchy on new { a = b.i_DepartmentId.Value, b = 113 }
                                             equals new { a = E.i_ItemId, b = E.i_GroupId } into E_join
                                             from E in E_join.DefaultIfEmpty()

                                             join F in dbContext.DataHierarchy on new { a = b.i_ProvinceId.Value, b = 113 }
                                             equals new { a = F.i_ItemId, b = F.i_GroupId } into F_join
                                             from F in F_join.DefaultIfEmpty()

                                             join G in dbContext.DataHierarchy on new { a = b.i_DistrictId.Value, b = 113 }
                                             equals new { a = G.i_ItemId, b = G.i_GroupId } into G_join
                                             from G in G_join.DefaultIfEmpty()

                                             join H in dbContext.Person on a.v_PersonId equals H.v_PersonId into H_join
                                             from H in H_join.DefaultIfEmpty()

                                             join I in dbContext.DataHierarchy on new { a = H.i_DepartmentId.Value, b = 113 }
                                             equals new { a = I.i_ItemId, b = I.i_GroupId } into I_join
                                             from I in I_join.DefaultIfEmpty()

                                             join J in dbContext.DataHierarchy on new { a = H.i_ProvinceId.Value, b = 113 }
                                             equals new { a = J.i_ItemId, b = J.i_GroupId } into J_join
                                             from J in J_join.DefaultIfEmpty()

                                             join K in dbContext.DataHierarchy on new { a = H.i_DistrictId.Value, b = 113 }
                                             equals new { a = K.i_ItemId, b = K.i_GroupId } into K_join
                                             from K in K_join.DefaultIfEmpty()

                                             join M in dbContext.SystemParameter on new { a = H.i_MaritalStatusId.Value, b = 101 }
                                             equals new { a = M.i_ParameterId, b = M.i_GroupId } into M_join
                                             from M in M_join.DefaultIfEmpty()

                                             join N in dbContext.DataHierarchy on new { a = H.i_LevelOfId.Value, b = 108 }
                                             equals new { a = N.i_ItemId, b = N.i_GroupId } into N_join
                                             from N in N_join.DefaultIfEmpty()

                                             join P in dbContext.SystemParameter on new { a = b.i_BloodGroupId.Value, b = 154 }
                                             equals new { a = P.i_ParameterId, b = P.i_GroupId } into P_join
                                             from P in P_join.DefaultIfEmpty()

                                             join Q in dbContext.SystemParameter on new { a = b.i_BloodFactorId.Value, b = 155 }
                                             equals new { a = Q.i_ParameterId, b = Q.i_GroupId } into Q_join
                                             from Q in Q_join.DefaultIfEmpty()

                                             join r in dbContext.ServiceComponent on a.v_ServiceId equals r.v_ServiceId

                                             // Empresa / Sede Cliente ******************************************************
                                             join oc in dbContext.Organization on new { a = d.v_CustomerOrganizationId }
                                             equals new { a = oc.v_OrganizationId } into oc_join
                                             from oc in oc_join.DefaultIfEmpty()

                                             join z in dbContext.Organization on new { a = d.v_EmployerOrganizationId }
                                             equals new { a = z.v_OrganizationId } into z_join
                                             from z in z_join.DefaultIfEmpty()

                                             join lc in dbContext.Location on new { a = d.v_CustomerOrganizationId, b = d.v_CustomerLocationId }
                                             equals new { a = lc.v_OrganizationId, b = lc.v_LocationId } into lc_join
                                             from lc in lc_join.DefaultIfEmpty()

                                             //**********************************************************************************
                                             join O in dbContext.SystemParameter on new { a = 134, b = a.i_MacId.Value }
                                             equals new { a = O.i_GroupId, b = O.i_ParameterId } into O_join
                                             from O in O_join.DefaultIfEmpty()
                                             join J4 in dbContext.SystemParameter on new { ItemId = a.i_AptitudeStatusId.Value, groupId = 124 }
                                             equals new { ItemId = J4.i_ParameterId, groupId = J4.i_GroupId } into J4_join
                                             from J4 in J4_join.DefaultIfEmpty()

                                             join su in dbContext.SystemUser on a.i_UpdateUserMedicalAnalystId.Value equals su.i_SystemUserId into su_join
                                             from su in su_join.DefaultIfEmpty()

                                             join pr in dbContext.Professional on su.v_PersonId equals pr.v_PersonId into pr_join
                                             from pr in pr_join.DefaultIfEmpty()

                                             join su1 in dbContext.SystemUser on a.i_UpdateUserOccupationalMedicaltId.Value equals su1.i_SystemUserId into su1_join
                                             from su1 in su1_join.DefaultIfEmpty()

                                             join pr2 in dbContext.Professional on su1.v_PersonId equals pr2.v_PersonId into pr2_join
                                             from pr2 in pr2_join.DefaultIfEmpty()

                                             where a.v_ServiceId == pstrServiceId && a.i_IsDeleted == 0
                                             select new PacientList
                {
                    Trabajador = b.v_FirstLastName + " " + b.v_SecondLastName + " " + b.v_FirstName,
                    d_Birthdate = b.d_Birthdate.Value,
                    //
                    v_PersonId = b.v_PersonId,

                    v_FirstLastName = b.v_FirstLastName,
                    v_SecondLastName = b.v_SecondLastName,
                    v_FirstName = b.v_FirstName,
                    v_BirthPlace = b.v_BirthPlace,
                    v_DepartamentName = I.v_Value1,
                    v_ProvinceName = J.v_Value1,
                    v_DistrictName = K.v_Value1,
                    v_AdressLocation = b.v_AdressLocation,
                    GradoInstruccion = N.v_Value1,
                    v_CentroEducativo = b.v_CentroEducativo,
                    v_MaritalStatus = M.v_Value1,
                    v_BloodGroupName = P.v_Value1,
                    v_BloodFactorName = Q.v_Value1,
                    v_IdService = a.v_ServiceId,
                    v_OrganitationName = oc.v_Name,
                    i_NumberLivingChildren = b.i_NumberLivingChildren,
                    FechaCaducidad = a.d_GlobalExpirationDate,
                    FechaActualizacion = a.d_UpdateDate,
                    N_Informe = r.v_ServiceComponentId,
                    v_Religion = b.v_Religion,
                    v_Nacionalidad = b.v_Nacionalidad,
                    v_ResidenciaAnterior = b.v_ResidenciaAnterior,
                    i_DocTypeId = b.i_DocTypeId,
                    v_OwnerName = b.v_OwnerName,
                    v_Employer = z.v_Name,
                    v_ContactName = b.v_ContactName,
                    i_Relationship = b.i_Relationship,
                    v_EmergencyPhone = b.v_EmergencyPhone,
                    //
                    Genero = c.v_Value1,
                    i_SexTypeId = b.i_SexTypeId,
                    v_DocNumber = b.v_DocNumber,
                    v_TelephoneNumber = b.v_TelephoneNumber,
                    Empresa = oc.v_Name,
                    Sede = lc.v_Name,
                    v_CurrentOccupation = b.v_CurrentOccupation,
                    FechaServicio = a.d_ServiceDate.Value,
                    i_MaritalStatusId = b.i_MaritalStatusId,
                    // Antecedentes ginecologicos
                    d_PAP = a.d_PAP.Value,
                    d_Mamografia = a.d_Mamografia.Value,
                    v_CiruGine = a.v_CiruGine,
                    v_Gestapara = a.v_Gestapara,
                    v_Menarquia = a.v_Menarquia,
                    v_Findings = a.v_Findings,
                    d_Fur = a.d_Fur,
                    v_CatemenialRegime = a.v_CatemenialRegime,
                    i_MacId = a.i_MacId,
                    v_Mac = O.v_Value1,
                    v_Story = a.v_Story,
                    Aptitud = J4.v_Value1,
                    b_FirmaAuditor = pr.b_SignatureImage,
                    FirmaTrabajador = b.b_RubricImage,
                    HuellaTrabajador = b.b_FingerPrintImage,
                    FirmaDoctorAuditor = pr2.b_SignatureImage,
                }
                                             ).ToList();
                var DatosMedicoMedicinaEvaluador = ObtenerDatosMedicoMedicina(pstrServiceId, Constants.EXAMEN_FISICO_ID, Constants.EXAMEN_FISICO_7C_ID);
                //var DatosMedicoMedicinaAuditor = ObtenerDatosMedicoMedicinaAuditor(pstrServiceId, Constants.EXAMEN_FISICO_ID, Constants.EXAMEN_FISICO_7C_ID);

                var result = (from a in objEntity
                              select new PacientList
                {
                    Trabajador = a.Trabajador,
                    d_Birthdate = a.d_Birthdate,
                    v_ContactName = a.v_ContactName,
                    v_EmergencyPhone = a.v_EmergencyPhone,
                    i_Relationship = a.i_Relationship,
                    //
                    v_PersonId = a.v_PersonId,
                    v_FirstLastName = a.v_FirstLastName,
                    v_SecondLastName = a.v_SecondLastName,
                    v_FirstName = a.v_FirstName,
                    v_BirthPlace = a.v_BirthPlace,
                    v_DepartamentName = a.v_DepartamentName,
                    v_ProvinceName = a.v_ProvinceName,
                    v_DistrictName = a.v_DistrictName,
                    GradoInstruccion = a.GradoInstruccion,
                    v_MaritalStatus = a.v_MaritalStatus,
                    v_BloodGroupName = a.v_BloodGroupName,
                    v_BloodFactorName = a.v_BloodFactorName,
                    v_AdressLocation = a.v_AdressLocation,
                    v_IdService = a.v_IdService,
                    v_OrganitationName = a.v_OrganitationName,
                    i_NumberLivingChildren = a.i_NumberLivingChildren,
                    v_CentroEducativo = a.v_CentroEducativo,
                    FechaCaducidad = a.FechaCaducidad,
                    FechaActualizacion = a.FechaActualizacion,
                    N_Informe = a.N_Informe,
                    v_Religion = a.v_Religion,
                    v_Nacionalidad = a.v_Nacionalidad,
                    v_ResidenciaAnterior = a.v_ResidenciaAnterior,
                    i_DocTypeId = a.i_DocTypeId,
                    v_OwnerName = a.v_OwnerName,
                    v_Employer = a.v_Employer,
                    i_MaritalStatusId = a.i_MaritalStatusId,
                    //
                    Edad = GetEdad(a.d_Birthdate.Value),
                    Genero = a.Genero,
                    i_SexTypeId = a.i_SexTypeId,
                    v_DocNumber = a.v_DocNumber,
                    v_TelephoneNumber = a.v_TelephoneNumber,
                    Empresa = a.Empresa,
                    Sede = a.Sede,
                    v_CurrentOccupation = a.v_CurrentOccupation,
                    FechaServicio = a.FechaServicio,
                    MedicoGrabaMedicina = DatosMedicoMedicinaEvaluador == null ? "" : DatosMedicoMedicinaEvaluador.ApellidosDoctor + " " + DatosMedicoMedicinaEvaluador.NombreDoctor,
                    // Antecedentes ginecologicos
                    d_PAP = a.d_PAP,
                    d_Mamografia = a.d_Mamografia,
                    v_CiruGine = a.v_CiruGine,
                    v_Gestapara = a.v_Gestapara,
                    v_Menarquia = a.v_Menarquia,
                    v_Findings = a.v_Findings,
                    d_Fur = a.d_Fur,
                    v_CatemenialRegime = a.v_CatemenialRegime,
                    i_MacId = a.i_MacId,
                    v_Mac = a.v_Mac,
                    v_Story = a.v_Story,
                    Aptitud = a.Aptitud,
                    b_FirmaEvaluador = DatosMedicoMedicinaEvaluador == null ? null : DatosMedicoMedicinaEvaluador.FirmaMedicoMedicina,
                    b_FirmaAuditor = a.b_FirmaAuditor,
                    FirmaTrabajador = a.FirmaTrabajador,
                    HuellaTrabajador = a.HuellaTrabajador,
                    FirmaDoctorAuditor = a.FirmaDoctorAuditor
                }
                              ).FirstOrDefault();


                return(result);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }