public static DrugViewModel Load(MobileHis.Data.Drug drug, DrugCost cost) { var v = new DrugViewModel(); v.GID = drug.GID; v.Title = drug.Title; v.DrugCode = drug.DrugCode; v.OrderCode = drug.OrderCode; //v.Form = drug.Form; v.DrugType = drug.DrugType; v.Unit = drug.Unit; //v.Price = cost == null || !cost.Price.HasValue ? 0 : Convert.ToDecimal(cost.Price); v.Price = cost == null ? 0 : Convert.ToDecimal(cost.Price); v.IsHighRisk = drug.IsHighRisk; v.IsPediatrics = drug.IsPediatrics; if (drug.DrugAppearance != null) { v.Shape = drug.DrugAppearance.Shape; v.MajorType = drug.DrugAppearance.MajorType; v.Color = drug.DrugAppearance.Color; } v.InitialFee = cost == null ? 0 : cost.InitialFee; v.DailyFee = cost == null ? 0 : cost.DailyFee; v.PatientFrom = drug.PatientFromType; v.Formulation = drug.Formulation; v.SubCategory = drug.SubCategory; v.DrugStockAmount = drug.DrugStock.Sum(a => a.CurrentStock); return(v); }
private void AddChildData(DrugExposure parent, DrugCost child) { if (child.PaidCopay == 0 && child.PaidCoinsurance == 0 && child.PaidTowardDeductible == 0 && child.PaidByPayer == 0 && child.TotalPaid == 0) { return; } _personBuilders[parent.PersonId].Value.AddChildData(parent, child); }
public void CreateOrUpdate(DrugViewModel viewModel) { bool isNewDrug = viewModel.GID == null; Drug drug = isNewDrug ? new Drug { GID = Guid.NewGuid() } : db.Repository <Drug>().Read(a => a.GID == viewModel.GID); var config = new MapperConfiguration(cfg => cfg.CreateMap <DrugViewModel, Drug>()); var mapper = config.CreateMapper(); mapper.Map(viewModel, drug); if (viewModel.IsDefaultType) { drug.PatientFromType = viewModel.PatientFrom; } try { if (isNewDrug) { db.Repository <Drug>().Create(drug); } if (viewModel.HasAppearance) { bool isNewAppearance = false; DrugAppearance drugAppearance = db.Repository <DrugAppearance>().Read(a => a.DrugID == drug.GID); if (drugAppearance == null) { drugAppearance = new DrugAppearance(drug.GID); isNewAppearance = true; } drugAppearance.Color = viewModel.Color; drugAppearance.MajorType = viewModel.MajorType; drugAppearance.Shape = viewModel.Shape; if (isNewAppearance) { db.Repository <DrugAppearance>().Create(drugAppearance); } } bool isNewCost = false; DrugCost drugCost = db.Repository <DrugCost>().Read(a => a.DrugID == drug.GID); if (drugCost == null) { drugCost = drugCost ?? new DrugCost(drug.GID); isNewCost = true; } if (viewModel.IsDefaultType) { viewModel.Price = 0; drugCost.InitialFee = viewModel.InitialFee; drugCost.DailyFee = viewModel.DailyFee; } drugCost.Price = viewModel.Price; if (isNewCost) { db.Repository <DrugCost>().Create(drugCost); } else { db.Repository <DrugCost>().Update(drugCost); } if (viewModel.Photo != null) { var storage = MobileHis.Misc.Storage.GetStorage(StorageScope.Drug); storage.Write(drug.GID, viewModel.Photo); } db.Save(); }catch (Exception ex) { ValidationDictionary.AddGeneralError(ex.Message); } }
public void AddChildData(DrugExposure parent, DrugCost child) { parent.DrugCost = child; }
public void AddData(IEntity data, EntityType entityType) { switch (entityType) { case EntityType.Person: { Persons.Enqueue((Person)data); break; } case EntityType.Death: { Deaths.Enqueue((Death)data); break; } case EntityType.PayerPlanPeriod: { PayerPlanPeriods.Enqueue((PayerPlanPeriod)data); break; } case EntityType.ConditionOccurrence: { ConditionOccurrences.Enqueue((ConditionOccurrence)data); break; } case EntityType.DrugExposure: { DrugExposures.Enqueue((DrugExposure)data); break; } case EntityType.ProcedureOccurrence: { ProcedureOccurrences.Enqueue((ProcedureOccurrence)data); break; } case EntityType.Observation: { Observations.Enqueue((Observation)data); break; } case EntityType.VisitOccurrence: { VisitOccurrences.Enqueue((VisitOccurrence)data); break; } case EntityType.Cohort: { Cohort.Enqueue((Cohort)data); break; } case EntityType.Measurement: { Measurements.Enqueue((Measurement)data); break; } case EntityType.DeviceExposure: { DeviceExposure.Enqueue((DeviceExposure)data); break; } case EntityType.DeviceCost: { DeviceCost.Enqueue((DeviceCost)data); break; } case EntityType.DrugCost: { DrugCost.Enqueue((DrugCost)data); break; } case EntityType.VisitCost: { VisitCost.Enqueue((VisitCost)data); break; } //case EntityType.Cost: //{ // break; //} case EntityType.ProcedureCost: { ProcedureCost.Enqueue((ProcedureCost)data); break; } case EntityType.ObservationPeriod: { ObservationPeriods.Enqueue((ObservationPeriod)data); break; } case EntityType.DrugEra: { DrugEra.Enqueue((EraEntity)data); break; } case EntityType.ConditionEra: { ConditionEra.Enqueue((EraEntity)data); break; } case EntityType.Note: { Note.Enqueue((Note)data); break; } } }