public ServiceComponentDto UpdateServiceComponentId(ServiceComponentDto oDataServiceComponent, int nodeId, int systemUserId) { using (var oCtx = new DatabaseContext()) { var obj = (from a in oCtx.ServiceComponent where a.v_ServiceComponentId == oDataServiceComponent.v_ServiceComponentId select a).FirstOrDefault(); var componentId = obj.v_ComponentId; var serviceId = obj.v_ServiceId; var categoryId = (from a in oCtx.Component where a.v_ComponentId == componentId select a).FirstOrDefault().i_CategoryId; var components = (from a in oCtx.Component where a.i_CategoryId == categoryId select a.v_ComponentId).ToList(); var oEntidadFuerte = (from A in oCtx.ServiceComponent where A.v_ServiceId == serviceId && components.Contains(A.v_ComponentId) //where A.v_ServiceComponentId == oDataServiceComponent.v_ServiceComponentId select A).ToList(); foreach (var item in oEntidadFuerte) { item.v_Comment = oDataServiceComponent.v_Comment; item.i_ServiceComponentStatusId = oDataServiceComponent.i_ServiceComponentStatusId; //item.i_ExternalInternalId = oDataServiceComponent.i_ExternalInternalId; item.i_IsApprovedId = oDataServiceComponent.i_IsApprovedId; item.i_ApprovedUpdateUserId = systemUserId; item.i_UpdateUserId = systemUserId; item.d_UpdateDate = DateTime.Now; } oCtx.SaveChanges(); return(oEntidadFuerte[0]); } }
private ServiceComponentDto PopulateServiceComponentDto(string serviceId, string personId, ProtocolComponentCustom protocolComponent, int nodeId, int systemUserId) { var oServiceComponentDto = new ServiceComponentDto { v_ServiceId = serviceId, i_ExternalInternalId = (int)Enumeratores.ComponenteProcedencia.Interno, i_ServiceComponentTypeId = protocolComponent.ComponentTypeId, i_IsVisibleId = protocolComponent.UIIsVisibleId, i_IsInheritedId = (int)Enumeratores.SiNo.No, i_index = protocolComponent.UIIndex, r_Price = 0, v_ComponentId = protocolComponent.ComponentId, i_IsInvoicedId = (int)Enumeratores.SiNo.No, i_ServiceComponentStatusId = (int)Enumeratores.ServiceStatus.PorIniciar, i_QueueStatusId = (int)Enumeratores.QueueStatusId.Libre, i_Iscalling = (int)Enumeratores.Flag_Call.NoseLlamo, i_Iscalling_1 = (int)Enumeratores.Flag_Call.NoseLlamo, v_IdUnidadProductiva = protocolComponent.IdUnidadProductiva, i_IsManuallyAddedId = (int)Enumeratores.SiNo.No, i_IsRequiredId = protocolComponent.IsConditionalId == (int)Enumeratores.SiNo.No ? (int)Enumeratores.SiNo.Si : RequiredComponent(personId, protocolComponent, nodeId, systemUserId) }; return(oServiceComponentDto); }
private ServiceComponentDto PopulateServiceComponentTemp(string serviceId, string componentId, int nodeId, int systemUserId) { var oServiceComponentDto = new ServiceComponentDto { v_ServiceId = serviceId, i_ExternalInternalId = (int)Enumeratores.ComponenteProcedencia.Interno, i_ServiceComponentTypeId = (int)Enumeratores.ComponentType.Examen, i_IsVisibleId = (int)Enumeratores.SiNo.No, i_IsInheritedId = (int)Enumeratores.SiNo.No, i_index = 0,// protocolComponent.UIIndex, r_Price = 0, v_ComponentId = componentId, i_IsInvoicedId = (int)Enumeratores.SiNo.No, i_ServiceComponentStatusId = (int)Enumeratores.ServiceStatus.PorIniciar, i_QueueStatusId = (int)Enumeratores.QueueStatusId.Libre, i_Iscalling = (int)Enumeratores.Flag_Call.NoseLlamo, i_Iscalling_1 = (int)Enumeratores.Flag_Call.NoseLlamo, v_IdUnidadProductiva = string.Empty, i_IsManuallyAddedId = (int)Enumeratores.SiNo.No, i_IsRequiredId = (int)Enumeratores.SiNo.Si }; return(oServiceComponentDto); }
public static int SwitchOperator2Values(int pacientAge, int analyzeAge, Operator2Values @operator, int pacientGender, int analyzeGender) { ServiceComponentDto objServiceComponentDto = new ServiceComponentDto(); switch (@operator) { case Operator2Values.X_esIgualque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge == analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge == analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; case Operator2Values.X_noesIgualque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge != analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge != analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; case Operator2Values.X_esMenorque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge < analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge < analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; case Operator2Values.X_esMenorIgualque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge <= analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge <= analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; case Operator2Values.X_esMayorque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge > analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge > analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; case Operator2Values.X_esMayorIgualque_A: if (analyzeGender == (int)GenderConditional.Ambos) { if (pacientAge >= analyzeAge) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (pacientAge >= analyzeAge && pacientGender == analyzeGender) { objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { objServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } break; } return(objServiceComponentDto.i_IsRequiredId.Value); }
public bool AddServiceComponentAtx(List <ProtocolComponentCustom> dataProtComponent, ServiceCustom dataService, int nodeId, int userId) { try { foreach (var obj in dataProtComponent) { var componentId = obj.ComponentId; var serviceComponentId = new Common.Utils().GetPrimaryKey(nodeId, 24, "SC"); ServiceComponentDto oServiceComponentDto = new ServiceComponentDto(); oServiceComponentDto.v_ServiceComponentId = serviceComponentId; oServiceComponentDto.v_ComponentId = obj.ComponentId; oServiceComponentDto.i_MedicoTratanteId = dataService.MedicoTratanteId; oServiceComponentDto.v_ServiceId = dataService.ServiceId; oServiceComponentDto.i_ExternalInternalId = (int)ComponenteProcedencia.Interno; oServiceComponentDto.i_ServiceComponentTypeId = obj.ComponentTypeId; oServiceComponentDto.i_IsVisibleId = obj.UIIsVisibleId; oServiceComponentDto.i_IsInheritedId = (int)SiNo.No; oServiceComponentDto.d_StartDate = null; oServiceComponentDto.d_EndDate = null; oServiceComponentDto.i_index = obj.UIIndex; var porcentajes = obj.Porcentajes.Split('-'); float p1 = porcentajes[0] == null || porcentajes[0] == "" ? 0 : float.Parse(porcentajes[0]); float p2 = porcentajes[1] == null || porcentajes[1] == "" ? 0 : float.Parse(porcentajes[1]); var pb = obj.Price; oServiceComponentDto.r_Price = pb + (pb * p1 / 100) + (pb * p2 / 100); oServiceComponentDto.r_Price = SetNewPrice(oServiceComponentDto.r_Price, obj.ComponentId); oServiceComponentDto.i_IsInvoicedId = (int)SiNo.No; oServiceComponentDto.i_ServiceComponentStatusId = (int)ServiceStatus.PorIniciar; oServiceComponentDto.i_QueueStatusId = (int)QueueStatusId.Libre; oServiceComponentDto.i_Iscalling = (int)FlagCall.NoseLlamo; oServiceComponentDto.i_Iscalling_1 = (int)FlagCall.NoseLlamo; oServiceComponentDto.v_IdUnidadProductiva = obj.IdUnidadProductiva; var resultplan = new PlanDal().GetPlans(dataService.ProtocolId, obj.IdUnidadProductiva); var tienePlan = false; if (resultplan.Count > 0) { tienePlan = true; } else { tienePlan = false; } if (tienePlan) { if (resultplan[0].i_EsCoaseguro == 1) { oServiceComponentDto.d_SaldoPaciente = resultplan[0].d_Importe * decimal.Parse(oServiceComponentDto.r_Price.ToString()) / 100; oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - oServiceComponentDto.d_SaldoPaciente; } if (resultplan[0].i_EsDeducible == 1) { oServiceComponentDto.d_SaldoPaciente = resultplan[0].d_Importe; oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - resultplan[0].d_Importe; } } var conditional = obj.IsConditionalId; if (conditional == (int)SiNo.Si) { var fechaNacimiento = dataService.FechaNacimiento; //Datos del paciente if (fechaNacimiento != null) { var pacientAge = DateTime.Today.AddTicks(-fechaNacimiento.Ticks).Year - 1; var pacientGender = dataService.GeneroId; //Datos del protocolo int analyzeAge = obj.Age.Value; int analyzeGender = obj.GenderId.Value; var @operator = (Operator2Values)obj.OperatorId; GrupoEtario oGrupoEtario = (GrupoEtario)obj.GrupoEtarioId; if ((int)@operator == -1) { //si la condicional del operador queda en --Seleccionar-- if (analyzeGender == (int)GenderConditional.Ambos) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (pacientGender == analyzeGender) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { if (analyzeGender == (int)GenderConditional.Masculino) { oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge, @operator, pacientGender.Value, analyzeGender); } else if (analyzeGender == (int)GenderConditional.Femenino) { oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge, @operator, pacientGender.Value, analyzeGender); } else if (analyzeGender == (int)GenderConditional.Ambos) { oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge, @operator, pacientGender.Value, analyzeGender); } } if (componentId == "N009-ME000000402") //Adolecente { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (13 <= pacientAge && pacientAge <= 18) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000403") //Adulto { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (19 <= pacientAge && pacientAge <= 60) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000404") //AdultoMayorCustom { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (61 <= pacientAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000406") { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (12 >= pacientAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000401") //plan integral { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (12 >= pacientAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000400") //atencion integral { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (12 >= pacientAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else if (componentId == "N009-ME000000405") //consulta { if ((int)oGrupoEtario == -1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else if (12 >= pacientAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } } } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; if (obj.IsAdditional == null) { continue; } var adicional = obj.IsAdditional; if (adicional == 1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; oServiceComponentDto.i_ConCargoA = 0; ctx.ServiceComponent.Add(oServiceComponentDto); } return(ctx.SaveChanges() > 0); } catch (Exception) { return(false); } }
public bool AddServiceComponent(List <ProtocolComponentCustom> dataProtComponent, ServiceCustom dataService, int nodeId, int userId) { try { foreach (var obj in dataProtComponent) { var serviceComponentId = new Common.Utils().GetPrimaryKey(nodeId, 24, "SC"); ServiceComponentDto oServiceComponentDto = new ServiceComponentDto(); oServiceComponentDto.v_ServiceComponentId = serviceComponentId; oServiceComponentDto.v_ComponentId = obj.ComponentId; oServiceComponentDto.i_MedicoTratanteId = dataService.MedicoTratanteId; oServiceComponentDto.v_ServiceId = dataService.ServiceId; oServiceComponentDto.i_ExternalInternalId = (int)ComponenteProcedencia.Interno; oServiceComponentDto.i_ServiceComponentTypeId = obj.ComponentTypeId; oServiceComponentDto.i_IsVisibleId = obj.UIIsVisibleId; oServiceComponentDto.i_IsInheritedId = (int)SiNo.No; oServiceComponentDto.d_StartDate = null; oServiceComponentDto.d_EndDate = null; oServiceComponentDto.i_index = obj.UIIndex; oServiceComponentDto.i_IsDeleted = (int)SiNo.No; oServiceComponentDto.d_InsertDate = DateTime.Now; oServiceComponentDto.i_InsertUserId = userId; var porcentajes = obj.Porcentajes.Split('-'); float p1 = porcentajes[0] == null || porcentajes[0] == "" ? 0 : float.Parse(porcentajes[0]); float p2 = porcentajes[1] == null || porcentajes[1] == "" ? 0 : float.Parse(porcentajes[1]); var pb = obj.Price; oServiceComponentDto.r_Price = pb + (pb * p1 / 100) + (pb * p2 / 100); oServiceComponentDto.r_Price = SetNewPrice(oServiceComponentDto.r_Price, obj.ComponentId); oServiceComponentDto.i_IsInvoicedId = (int)SiNo.No; oServiceComponentDto.i_ServiceComponentStatusId = (int)ServiceStatus.PorIniciar; oServiceComponentDto.i_QueueStatusId = (int)QueueStatusId.Libre; oServiceComponentDto.i_Iscalling = (int)FlagCall.NoseLlamo; oServiceComponentDto.i_Iscalling_1 = (int)FlagCall.NoseLlamo; oServiceComponentDto.v_IdUnidadProductiva = obj.IdUnidadProductiva; var resultplan = new PlanDal().GetPlans(dataService.ProtocolId, obj.IdUnidadProductiva); var tienePlan = false; if (resultplan.Count > 0) { tienePlan = true; } else { tienePlan = false; } if (tienePlan) { if (resultplan[0].i_EsCoaseguro == 1) { oServiceComponentDto.d_SaldoPaciente = resultplan[0].d_Importe * decimal.Parse(oServiceComponentDto.r_Price.ToString()) / 100; oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - oServiceComponentDto.d_SaldoPaciente; } if (resultplan[0].i_EsDeducible == 1) { oServiceComponentDto.d_SaldoPaciente = resultplan[0].d_Importe; oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - resultplan[0].d_Importe; } } //Condicionales var conditional = obj.IsConditionalId; if (conditional == (int)SiNo.Si) { var fechaNacimiento = dataService.FechaNacimiento; //Datos del paciente if (fechaNacimiento != null) { var pacientAge = DateTime.Today.AddTicks(-fechaNacimiento.Ticks).Year - 1; var pacientGender = dataService.GeneroId; //Datos del protocolo int analyzeAge = obj.Age.Value; int analyzeGender = obj.GenderId.Value; var @operator = (Operator2Values)obj.OperatorId; GrupoEtario oGrupoEtario = (GrupoEtario)obj.GrupoEtarioId; if (analyzeAge >= 0) //condicional edad (SI) { if (analyzeGender != (int)GenderConditional.Ambos) //condicional genero (SI) { if (@operator == Operator2Values.X_esIgualque_A) { if (pacientAge == analyzeAge && pacientGender == analyzeGender) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMayorIgualque_A) { if (pacientAge >= analyzeAge && pacientGender == analyzeGender) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMayorque_A) { if (pacientAge > analyzeAge && pacientGender == analyzeGender) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMenorIgualque_A) { if (pacientAge <= analyzeAge && pacientGender == analyzeGender) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } } else//condicional genero (NO) { if (@operator == Operator2Values.X_esIgualque_A) { if (pacientAge == analyzeAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMayorIgualque_A) { if (pacientAge >= analyzeAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMayorque_A) { if (pacientAge > analyzeAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } if (@operator == Operator2Values.X_esMenorIgualque_A) { if (pacientAge <= analyzeAge) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } } } } } else { oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; if (obj.IsAdditional == null) { continue; } var adicional = obj.IsAdditional; if (adicional == 1) { oServiceComponentDto.i_IsRequiredId = (int)SiNo.No; } } oServiceComponentDto.i_ConCargoA = 0; oServiceComponentDto.i_IsManuallyAddedId = (int)SiNo.No; ctx.ServiceComponent.Add(oServiceComponentDto); } return(ctx.SaveChanges() > 0); } catch (Exception) { return(false); } }
public bool SaveAdditionalExamsForCalendar(List <AdditionalExamCreate> data, int userId, int nodeId) { try { DatabaseContext dbContext = new DatabaseContext(); using (var ts = new TransactionScope()) { foreach (var objExam in data) { if (objExam.IsNewService == (int)SiNo.No) { var unidadProductiva = GetMedicalExam(objExam.ComponentId); var newId = new Common.Utils().GetPrimaryKey(nodeId, 24, "SC");; ServiceComponentDto objServiceComponentDto = new ServiceComponentDto(); objServiceComponentDto.v_ServiceComponentId = newId; objServiceComponentDto.i_ConCargoA = -1; objServiceComponentDto.v_ServiceId = objExam.ServiceId; objServiceComponentDto.i_ExternalInternalId = (int)ComponenteProcedencia.Interno; objServiceComponentDto.i_ServiceComponentTypeId = 1; objServiceComponentDto.i_IsVisibleId = 1; objServiceComponentDto.i_IsInheritedId = (int)SiNo.No; objServiceComponentDto.d_StartDate = null; objServiceComponentDto.d_EndDate = null; objServiceComponentDto.i_index = 1; objServiceComponentDto.r_Price = objExam.Price; objServiceComponentDto.v_ComponentId = objExam.ComponentId; objServiceComponentDto.i_IsInvoicedId = (int)SiNo.No; objServiceComponentDto.i_ServiceComponentStatusId = (int)ServiceStatus.PorIniciar; objServiceComponentDto.i_QueueStatusId = (int)QueueStatusId.Libre; objServiceComponentDto.i_Iscalling = (int)Flag_Call.NoseLlamo; objServiceComponentDto.i_Iscalling_1 = (int)Flag_Call.NoseLlamo; objServiceComponentDto.i_IsManuallyAddedId = (int)SiNo.No; objServiceComponentDto.i_IsRequiredId = (int)SiNo.Si; objServiceComponentDto.v_IdUnidadProductiva = unidadProductiva; objServiceComponentDto.i_MedicoTratanteId = objExam.MedicoTratante; objServiceComponentDto.d_SaldoPaciente = 0; objServiceComponentDto.d_SaldoAseguradora = 0; objServiceComponentDto.i_IsDeleted = 0; objServiceComponentDto.d_InsertDate = DateTime.Now; dbContext.ServiceComponent.Add(objServiceComponentDto); dbContext.SaveChanges(); } else { CalendarDto _CalendarDto = new CalendarDto(); var protocolId = Constants.Prot_Hospi_Adic; _CalendarDto.v_PersonId = objExam.PersonId; _CalendarDto.d_DateTimeCalendar = DateTime.Now; _CalendarDto.d_CircuitStartDate = DateTime.Now; _CalendarDto.d_EntryTimeCM = DateTime.Now; _CalendarDto.i_ServiceTypeId = (int)ServiceType.Particular; _CalendarDto.i_ServiceId = (int)MasterService.Hospitalizacion; _CalendarDto.i_CalendarStatusId = (int)CalendarStatus.Agendado; _CalendarDto.i_LineStatusId = (int)LineStatus.EnCircuito; _CalendarDto.v_ProtocolId = protocolId; _CalendarDto.i_NewContinuationId = 1; _CalendarDto.i_LineStatusId = (int)LineStatus.EnCircuito; _CalendarDto.i_IsVipId = (int)SiNo.No; var result = AddCalendar(_CalendarDto, nodeId, userId); if (result) { ServiceDto _ServiceDto = new ServiceDto(); _ServiceDto = ctx.Service.Where(x => x.v_ServiceId == objExam.ServiceId).FirstOrDefault(); _ServiceDto.d_ServiceDate = DateTime.Now; _ServiceDto.i_ServiceStatusId = (int)ServiceStatus.Iniciado; _ServiceDto.d_UpdateDate = DateTime.Now; _ServiceDto.i_UpdateUserId = userId; ctx.SaveChanges(); var servicesComponents = new ServiceComponentDal().GetServiceComponents(objExam.ServiceId); if (servicesComponents != null) { foreach (var servicesComponent in servicesComponents) { var oservicecomponentDto = ctx.ServiceComponent.Where(x => x.v_ServiceComponentId == servicesComponent.v_ServiceComponentId).FirstOrDefault(); oservicecomponentDto.i_MedicoTratanteId = 11; oservicecomponentDto.i_IsVisibleId = 1; oservicecomponentDto.v_ServiceComponentId = servicesComponent.v_ServiceComponentId; oservicecomponentDto.i_UpdateUserId = userId; oservicecomponentDto.d_UpdateDate = DateTime.Now; ctx.SaveChanges(); } var resultHospi = new HospitalizacionDal().AddHospitalizacionService(null, objExam.ServiceId, nodeId, userId); if (!resultHospi) { throw new Exception(""); } } else { throw new Exception(""); } } else { throw new Exception(""); } } } var resultAdditional = new AdditionalExamDal().UpdateAdditionalExamByComponentIdAndServiceId(data, userId); if (!resultAdditional) { throw new Exception(""); } ts.Complete(); } return(true); } catch (Exception ex) { return(false); } }