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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
 public void AddChildData(DrugExposure parent, DrugCost child)
 {
     parent.DrugCost = child;
 }
Esempio n. 5
0
        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;
            }
            }
        }