public string AddDiagnosticRepository(DiagnosticCustom dataDiagnostic, int nodeId, int systemUserId) { try { DatabaseContext ctx = new DatabaseContext(); DiagnosticRepositoryDto objDiag = new DiagnosticRepositoryDto(); var id = new Common.Utils().GetPrimaryKey(nodeId, 29, "DR"); objDiag.v_DiagnosticRepositoryId = id; objDiag.v_ServiceId = dataDiagnostic.ServiceId; objDiag.v_DiseasesId = dataDiagnostic.DiseaseId; objDiag.v_ComponentId = dataDiagnostic.ComponentId; objDiag.i_AutoManualId = (int)AutoManual.Manual; // dr.AutoManualId; objDiag.i_PreQualificationId = (int)PreQualification.Aceptado; // dr.PreQualificationId; objDiag.i_FinalQualificationId = (int)FinalQualification.Definitivo; // dr.FinalQualificationId; objDiag.i_DiagnosticTypeId = (int)TipoDx.Enfermedad_Comun; // dr.DiagnosticTypeId; objDiag.i_IsDeleted = 0; objDiag.i_InsertUserId = systemUserId; objDiag.d_InsertDate = DateTime.Now; ctx.DiagnosticRepository.Add(objDiag); ctx.SaveChanges(); return(id); } catch (Exception ex) { return(null); } }
private List <DiagnosticRepositoryDto> FindDxAddTemp(List <DiagnosticCustom> diagnostics, int nodeId, int systemUserId) { var list = new List <DiagnosticRepositoryDto>(); var diagnosticslList = diagnostics.FindAll(p => p.RecordType == (int)RecordType.Temporal && (p.RecordStatus == (int)RecordStatus.Agregado || p.RecordStatus == (int)RecordStatus.Editado)) .ToList(); if (diagnosticslList.Count == 0) { return(null); } foreach (var dx in diagnosticslList) { var diagnosticRepositoryDto = new DiagnosticRepositoryDto { v_ComponentId = dx.ComponentId.Contains('|') ? (dx.ComponentId.Split('|'))[0] : dx.ComponentId, v_ServiceId = dx.ServiceId, v_DiseasesId = dx.DiseaseId, v_ComponentFieldId = dx.ComponentFieldsId, //HardCode Temporal i_AutoManualId = (int)AutoManual.Manual, // dx.AutoManualId, i_PreQualificationId = (int)PreQualification.Aceptado, // dx.PreQualificationId, i_FinalQualificationId = (int)FinalQualification.Definitivo, // dx.FinalQualificationId, i_DiagnosticTypeId = (int)TipoDx.Enfermedad_Comun, // dx.DiagnosticTypeId, i_IsSentToAntecedent = dx.IsSentToAntecedent, d_ExpirationDateDiagnostic = dx.ExpirationDateDiagnostic, i_DiagnosticSourceId = dx.DiagnosticSourceId, i_ShapeAccidentId = dx.ShapeAccidentId, i_BodyPartId = dx.BodyPartId, i_ClassificationOfWorkAccidentId = dx.ClassificationOfWorkAccidentId, i_RiskFactorId = dx.RiskFactorId, i_ClassificationOfWorkdiseaseId = dx.ClassificationOfWorkdiseaseId }; list.Add(diagnosticRepositoryDto); } //_filHandler += _oDiagnosticDal.AddTemporaryDiagnostics; //_oDiagnosticDal.SaveDiagnostics(list, nodeId, systemUserId, _filHandler); return(list); }
private List <DiagnosticRepositoryDto> FindDxEditNonTemp(List <DiagnosticCustom> diagnostics, int nodeId, int systemUserId) { var list = new List <DiagnosticRepositoryDto>(); var diagnosticslList = diagnostics.FindAll(p => p.RecordType == (int)RecordType.Temporal && (p.RecordStatus == (int)RecordStatus.Agregado || p.RecordStatus == (int)RecordStatus.Editado)) .ToList(); if (diagnosticslList.Count == 0) { return(null); } foreach (var dx in diagnosticslList) { var diagnosticRepositoryDto = new DiagnosticRepositoryDto { i_AutoManualId = dx.AutoManualId, i_PreQualificationId = dx.PreQualificationId, v_ComponentId = dx.ComponentId.Split('|')[0], i_FinalQualificationId = dx.FinalQualificationId, i_DiagnosticTypeId = dx.DiagnosticTypeId, i_IsSentToAntecedent = dx.IsSentToAntecedent, d_ExpirationDateDiagnostic = dx.ExpirationDateDiagnostic, i_DiagnosticSourceId = dx.DiagnosticSourceId, i_ShapeAccidentId = dx.ShapeAccidentId, i_BodyPartId = dx.BodyPartId, i_ClassificationOfWorkAccidentId = dx.ClassificationOfWorkAccidentId, i_RiskFactorId = dx.RiskFactorId, i_ClassificationOfWorkdiseaseId = dx.ClassificationOfWorkdiseaseId }; list.Add(diagnosticRepositoryDto); } //_filHandler += _oDiagnosticDal.ModifyNonTemporalDiagnostics; //_oDiagnosticDal.SaveDiagnostics(list, nodeId, systemUserId, _filHandler); return(list); }
private List <DiagnosticRepositoryDto> FindDxRemoveNonTemp(List <DiagnosticCustom> diagnostics, int nodeId, int systemUserId) { var list = new List <DiagnosticRepositoryDto>(); var diagnosticslList = diagnostics.FindAll(p => p.RecordType == (int)RecordType.NoTemporal && p.RecordStatus == (int)RecordStatus.Eliminado) .ToList(); if (diagnosticslList.Count == 0) { return(null); } foreach (var dx in diagnosticslList) { var oDiagnosticRepositoryDto = new DiagnosticRepositoryDto(); oDiagnosticRepositoryDto.v_DiagnosticRepositoryId = dx.DiagnosticRepositoryId; list.Add(oDiagnosticRepositoryDto); } //_filHandler += _oDiagnosticDal.RemoveNonTemporalDiagnostics; //_oDiagnosticDal.SaveDiagnostics(list, nodeId, systemUserId, _filHandler); return(list); }
public void AddDiagnosticRepository(List <DiagnosticCustom> pobjDiagnosticRepository, int nodeId, int systemUserId) { try { string NewId0 = "(No generado)"; string componentId = null; if (pobjDiagnosticRepository != null) { foreach (var dr in pobjDiagnosticRepository) { #region DiagnosticRepository -> ADD / UPDATE / DELETE // ADD if (dr.RecordType == (int)RecordType.Temporal && (dr.RecordStatus == (int)RecordStatus.Agregado || dr.RecordStatus == (int)RecordStatus.Editado)) { DiagnosticRepositoryDto objEntity = new DiagnosticRepositoryDto(); // En caso de haber mas de un ComponentID quiere decir que lo datos provienen de un examen agrupador con una categoria (LAB,PSICOLOGIA) // entonces cojo el ID del hijo mayor (osea el primer ID)[0] // Buscar un palote if (dr.ComponentId != null) { if (dr.ComponentId.Contains('|')) { componentId = (dr.ComponentId.Split('|'))[0]; } else { componentId = dr.ComponentId; } } objEntity.v_DiagnosticRepositoryId = dr.DiagnosticRepositoryId; objEntity.v_ServiceId = dr.ServiceId; objEntity.v_ComponentId = componentId; objEntity.v_DiseasesId = dr.DiseaseId; // ID del Control que generó el DX automático [v_ComponentFieldsId] objEntity.v_ComponentFieldId = dr.ComponentFieldsId; objEntity.i_AutoManualId = (int)AutoManual.Manual; // dr.AutoManualId; objEntity.i_PreQualificationId = (int)PreQualification.Aceptado; // dr.PreQualificationId; // Total Diagnósticos objEntity.i_FinalQualificationId = (int)FinalQualification.Definitivo; // dr.FinalQualificationId; objEntity.i_DiagnosticTypeId = (int)TipoDx.Enfermedad_Comun; // dr.DiagnosticTypeId; objEntity.i_IsSentToAntecedent = dr.IsSentToAntecedent; objEntity.d_ExpirationDateDiagnostic = dr.ExpirationDateDiagnostic; objEntity.d_InsertDate = DateTime.Now; objEntity.i_InsertUserId = systemUserId; objEntity.i_IsDeleted = 0; // Accidente laboral objEntity.i_DiagnosticSourceId = dr.DiagnosticSourceId; objEntity.i_ShapeAccidentId = dr.ShapeAccidentId; objEntity.i_BodyPartId = dr.BodyPartId; objEntity.i_ClassificationOfWorkAccidentId = dr.ClassificationOfWorkAccidentId; // Enfermedad laboral objEntity.i_RiskFactorId = dr.RiskFactorId; objEntity.i_ClassificationOfWorkdiseaseId = dr.ClassificationOfWorkdiseaseId; // Autogeneramos el Pk de la tabla NewId0 = new Common.Utils().GetPrimaryKey(nodeId, 29, "DR"); // Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 29), "DR"); objEntity.v_DiagnosticRepositoryId = NewId0; Ctx.DiagnosticRepository.Add(objEntity); } // UPDATE else if (dr.RecordType == (int)RecordType.NoTemporal && dr.RecordStatus == (int)RecordStatus.Editado) { // Obtener la entidad fuente var objEntitySource = (from a in Ctx.DiagnosticRepository where a.v_DiagnosticRepositoryId == dr.DiagnosticRepositoryId select a).FirstOrDefault(); // Crear la entidad con los datos actualizados objEntitySource.i_AutoManualId = (int)AutoManual.Manual; //dr.AutoManualId; objEntitySource.i_PreQualificationId = (int)PreQualification.Aceptado; //dr.PreQualificationId; objEntitySource.v_ComponentId = dr.ComponentId.Split('|')[0]; // ID del Control que generó el DX automático [v_ComponentFieldsId] //objEntitySource.v_ComponentFieldsId = dr.v_ComponentFieldsId; // Total Diagnósticos if (objEntitySource.i_FinalQualificationId == null) { objEntitySource.i_FinalQualificationId = dr.FinalQualificationId; } objEntitySource.i_DiagnosticTypeId = (int)TipoDx.Enfermedad_Comun;//dr.DiagnosticTypeId; objEntitySource.i_IsSentToAntecedent = dr.IsSentToAntecedent; objEntitySource.d_ExpirationDateDiagnostic = dr.ExpirationDateDiagnostic; // Accidente laboral objEntitySource.i_DiagnosticSourceId = dr.DiagnosticSourceId; objEntitySource.i_ShapeAccidentId = dr.ShapeAccidentId; objEntitySource.i_BodyPartId = dr.BodyPartId; objEntitySource.i_ClassificationOfWorkAccidentId = dr.ClassificationOfWorkAccidentId; // Enfermedad laboral objEntitySource.i_RiskFactorId = dr.RiskFactorId; objEntitySource.i_ClassificationOfWorkdiseaseId = dr.ClassificationOfWorkdiseaseId; objEntitySource.d_UpdateDate = DateTime.Now; objEntitySource.i_UpdateUserId = systemUserId; } // DELETE else if (dr.RecordType == (int)RecordType.NoTemporal && dr.RecordStatus == (int)RecordStatus.Eliminado) { // Obtener la entidad fuente var objEntitySource = (from a in Ctx.DiagnosticRepository where a.v_DiagnosticRepositoryId == dr.DiagnosticRepositoryId select a).FirstOrDefault(); // Crear la entidad con los datos actualizados objEntitySource.d_UpdateDate = DateTime.Now; objEntitySource.i_UpdateUserId = systemUserId; objEntitySource.i_IsDeleted = 1; } #endregion #region Restricciones -> ADD / DELETE if (dr.Restrictions != null) { // Operaciones básicas [Add,Update,Delete] restricciones foreach (var r in dr.Restrictions) { if (r.RecordType == (int)RecordType.Temporal && r.RecordStatus == (int)RecordStatus.Agregado) { RestrictionDto objRestriction = new RestrictionDto(); var NewId1 = new Common.Utils().GetPrimaryKey(nodeId, 30, "RD"); //Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 30), "RD"); objRestriction.v_ServiceId = dr.ServiceId; objRestriction.v_ComponentId = dr.ComponentId.Split('|')[0]; //objRestriction.v_RestrictionByDiagnosticId = NewId1; objRestriction.v_RestrictionId = NewId1; objRestriction.v_DiagnosticRepositoryId = NewId0 == "(No generado)" ? dr.DiagnosticRepositoryId : NewId0; objRestriction.v_MasterRestrictionId = r.MasterRestrictionId.Length > 16 ? null : r.MasterRestrictionId; objRestriction.d_InsertDate = DateTime.Now; objRestriction.i_InsertUserId = systemUserId; objRestriction.i_IsDeleted = 0; Ctx.Restriction.Add(objRestriction); } else if (r.RecordType == (int)RecordType.NoTemporal && r.RecordStatus == (int)RecordStatus.Eliminado) { // Obtener la entidad fuente v_RestrictionByDiagnosticId var objEntitySource = (from a in Ctx.Restriction where a.v_RestrictionId == r.RestrictionId select a).FirstOrDefault(); // Crear la entidad con los datos actualizados objEntitySource.d_UpdateDate = DateTime.Now; objEntitySource.i_UpdateUserId = systemUserId; objEntitySource.i_IsDeleted = 1; } //dbContext.SaveChanges(); } } #endregion #region Recomendaciones -> ADD / DELETE if (dr.Recommendations != null) { // Grabar recomendaciones foreach (var r in dr.Recommendations) { if (r.RecordType == (int)RecordType.Temporal && r.RecordStatus == (int)RecordStatus.Agregado) { RecommendationDto objRecommendation = new RecommendationDto(); var NewId1 = new Common.Utils().GetPrimaryKey(nodeId, 32, "RR"); //Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 32), "RR"); objRecommendation.v_ServiceId = dr.ServiceId; objRecommendation.v_ComponentId = dr.ComponentId.Split('|')[0]; objRecommendation.v_RecommendationId = NewId1; objRecommendation.v_DiagnosticRepositoryId = NewId0 == "(No generado)" ? dr.DiagnosticRepositoryId : NewId0; //objRecommendation.v_MasterRecommendationId = r.v_RecommendationId.Length > 16 ? null : r.v_MasterRecommendationId; objRecommendation.v_MasterRecommendationId = r.MasterRecommendationId; objRecommendation.d_InsertDate = DateTime.Now; objRecommendation.i_InsertUserId = systemUserId; objRecommendation.i_IsDeleted = 0; Ctx.Recommendation.Add(objRecommendation); } else if (r.RecordType == (int)RecordType.NoTemporal && r.RecordStatus == (int)RecordStatus.Eliminado) { // Obtener la entidad fuente var objEntitySource = (from a in Ctx.Recommendation where a.v_RecommendationId == r.RecommendationId select a).FirstOrDefault(); // Crear la entidad con los datos actualizados objEntitySource.d_UpdateDate = DateTime.Now; objEntitySource.i_UpdateUserId = systemUserId; objEntitySource.i_IsDeleted = 1; } //dbContext.SaveChanges(); } } #endregion } // Guardar los cambios Ctx.SaveChanges(); } } catch (Exception ex) { } }