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); } }
public bool SaveUpdateRecipe(BoardPrintRecipes data, int userId, int nodeId) { try { DatabaseContext ctx = new DatabaseContext(); foreach (var item in data.ListProducts) { DiagnosticCustom diag = new DiagnosticCustom(); diag.ComponentId = item.ComponentId; diag.ServiceId = data.ServiceId; diag.DiseaseId = item.DiseaseId; if (item.RecetaId == null) { string diagnosticRespositoryId = new DiagnosticDal().AddDiagnosticRepository(diag, userId, nodeId); if (diagnosticRespositoryId == null) { return(false); } else { item.DiagnosticRespository = diagnosticRespositoryId; } } else { var objReceta = ctx.Receta.Where(x => x.i_IdReceta == item.RecetaId).FirstOrDefault(); item.DiagnosticRespository = objReceta.v_DiagnosticRepositoryId; } var getPlan = new PlanDal().GetPlan(data.ServiceId, item.IdLinea); bool tienePlan = false; if (getPlan.Count > 0) { tienePlan = true; } if (tienePlan) { if (getPlan[0].i_EsCoaseguro == (int)SiNo.Si) { var planCoaseguro = new PlanDal().GetPlanForImporte(data.ServiceId, item.DiagnosticRespository); if (planCoaseguro.Count > 0) { item.SaldoPaciente = (planCoaseguro[0].d_ImporteCo / 100) * (item.Price * decimal.Parse(item.Quantity.ToString())); item.SaldoAseguradora = (item.Price * decimal.Parse(item.Quantity.ToString())) - item.SaldoPaciente; } } } else { item.SaldoPaciente = item.Price; } if (item.RecetaId == null)//Creo { RecetaBE _RecetaDto = new RecetaBE(); _RecetaDto.v_DiagnosticRepositoryId = item.DiagnosticRespository; _RecetaDto.d_Cantidad = decimal.Parse(item.Quantity.ToString()); _RecetaDto.v_Duracion = item.Duration; _RecetaDto.v_Posologia = item.Posologia; _RecetaDto.t_FechaFin = item.FechaFin; _RecetaDto.v_IdProductoDetalle = item.ProductoDetalleId; _RecetaDto.v_IdUnidadProductiva = item.IdLinea; _RecetaDto.v_ServiceId = data.ServiceId; _RecetaDto.d_SaldoPaciente = item.SaldoPaciente; _RecetaDto.d_SaldoAseguradora = item.SaldoAseguradora; ctx.Receta.Add(_RecetaDto); } else//Actualizo { var objReceta = ctx.Receta.Where(x => x.i_IdReceta == item.RecetaId).FirstOrDefault(); objReceta.v_DiagnosticRepositoryId = item.DiagnosticRespository; objReceta.d_Cantidad = decimal.Parse(item.Quantity.ToString()); objReceta.v_Duracion = item.Duration; objReceta.v_Posologia = item.Posologia; objReceta.t_FechaFin = item.FechaFin; objReceta.v_IdProductoDetalle = item.ProductoDetalleId; objReceta.v_IdUnidadProductiva = item.IdLinea; objReceta.v_ServiceId = data.ServiceId; objReceta.d_SaldoPaciente = item.SaldoPaciente; objReceta.d_SaldoAseguradora = item.SaldoAseguradora; } } ctx.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }