Beispiel #1
0
        private async Task SearchDrugs(string value) //эксперементальная функция горячего поиска, нужно прерывание и задержка
        {
            if (value.Length > 2)
            {
                if (PharmacoData.Drug == null)
                {
                    IsLoadingPharma = true;
                    try
                    {
                        var result = await _therapyDataService.GetDrugs(value);

                        Drugs.Clear(); //drugsearchlist
                        foreach (Drug drug in result)
                        {
                            Drugs.Add(drug);
                        }
                    }
                    catch (Exception ex)
                    {
                        NotificationManager.AddException(ex, 4);
                    }
                    IsLoadingPharma = false;
                }
            }
            else
            {
                PharmacoData.Drug = null;
            }
        }
Beispiel #2
0
        public void LoadSessionInfo()
        {
            if (SelectedPayor == null)
            {
                return;
            }

            _currentSession = _esClinicContext.Sessions.Find(SelectedPayor.SessionId);

            TotalCost = _currentSession.TotalCost;

            var services =
                _esClinicContext.Services.Include("ServiceType").ToList().Where(s => s.SessionId == SelectedPayor.SessionId);

            Services.Clear();
            foreach (var service in services)
            {
                Services.Add(service);
            }

            var drugs =
                _esClinicContext.Drugs.Include("Product").ToList().Where(d => d.SessionId == SelectedPayor.SessionId);

            Drugs.Clear();
            foreach (var drug in drugs)
            {
                Drugs.Add(drug);
            }
        }
Beispiel #3
0
        void ConfirmDrug()
        {
            var drug = new Drug(NameTextBox.Text);

            DB <Drug> .AddItem(drug);

            Drugs.Add(new DrugVM(drug));
        }
        public void LoadSessionInfo()
        {
            if (SelectedSession == null)
            {
                return;
            }

            NotifyOfPropertyChange(() => CanSaveSession);
            NotifyOfPropertyChange(() => CanNewEsRecord);
            NotifyOfPropertyChange(() => CanChangeService);
            NotifyOfPropertyChange(() => CanAddDrug);
            NotifyOfPropertyChange(() => CanSaveDrugs);

            Symtoms  = SelectedSession.Symtoms;
            Diagnose = SelectedSession.Diagnose;
            if (SelectedSession.ReExamDate != null)
            {
                ReExamDate = SelectedSession.ReExamDate.Value;
            }
            SessionNote = SelectedSession.Note;

            var esRecords =
                _esClinicContext.EndoscopyRecords.Include("Type").ToList().Where(e => e.SessionId == SelectedSession.SessionId);

            EsRecords.Clear();
            foreach (var esRecord in esRecords)
            {
                EsRecords.Add(esRecord);
            }

            var services =
                _esClinicContext.Services.Include("ServiceType").ToList().Where(s => s.SessionId == SelectedSession.SessionId);

            Services.Clear();
            foreach (var service in services)
            {
                Services.Add(service);
            }

            var drugs =
                _esClinicContext.Drugs.Include("Product").ToList().Where(d => d.SessionId == SelectedSession.SessionId);

            Drugs.Clear();
            foreach (var drug in drugs)
            {
                Drugs.Add(drug);
            }
        }
Beispiel #5
0
        private async Task GetDrugs(DrugGroup drugGroup)
        {
            IsLoadingPharma = true;
            try
            {
                Drugs.Clear();
                var result = await _therapyDataService.GetDrugs(drugGroup);

                foreach (Drug drug in result)
                {
                    Drugs.Add(drug);
                }
            }
            catch (Exception ex)
            {
                NotificationManager.AddException(ex, 4);
            }
            IsLoadingPharma = false;
        }
Beispiel #6
0
        public void BuyDrugs(int drug_id, int units, int price)
        {
            //Do they have this one already?
            Dopewars_Drug dd = Drugs.FirstOrDefault(p => p.Drug_Id.Equals(drug_id));

            if (dd == null)
            {
                dd = new Dopewars_Drug()
                {
                    Drug_Id = drug_id, Units = 0, Price = 0
                };
                Drugs.Add(dd);
            }
            int currentpaid = dd.Price * dd.Units;
            int newpaid     = (int)((currentpaid + price) / (dd.Units + units)); //New average price

            dd.Units += units;
            dd.Price  = newpaid;
        }
Beispiel #7
0
        public void UpdateInventoryCategories()
        {
            Drugs.Clear();
            Weapons.Clear();
            Loot.Clear();

            foreach (var gameItem in _inventory)
            {
                if (gameItem is Drug)
                {
                    Drugs.Add(gameItem);
                }
                if (gameItem is Weapon)
                {
                    Weapons.Add(gameItem);
                }
                if (gameItem is Loot)
                {
                    Loot.Add(gameItem);
                }
            }
        }
        public void AddDrug(Intellibox control)
        {
            var product = _esClinicContext.Products.ToList().FirstOrDefault(p => p.ProductId == SelectedProduct);

            Cost = (int)(Quantity * product.Price);

            var drug = new Drug
            {
                Days      = Days,
                Morning   = Morning,
                Noon      = Noon,
                Afternoon = Afternoon,
                Night     = Night,
                Quantity  = Quantity,
                Note      = DrugNote,
                Cost      = Cost,
                SessionId = _currentSession.SessionId,
                ProductId = SelectedProduct,
                Product   = product
            };

            Drugs.Add(drug);

            Morning   = 0;
            Noon      = 0;
            Afternoon = 0;
            Night     = 0;
            Quantity  = 0;
            DrugNote  = "";

            _drugSaved = false;
            NotifyOfPropertyChange(() => CanSaveDrugs);
            TotalCost += drug.Cost;

            control.Focus();
        }
        public Guid AddOrUpdate(Drug d, Application app)
        {
            var drugKey = new ImporterCacheKeyDrug
            {
                Ingredient = d.Ingredient,
                DosageForm = d.DosageForm,
                DrugType   = d.DrugType,
                Route      = d.RouteOfAdmin
            };

            Drug dMemory;
            Guid drugId;

            if (Drugs.TryGetValue(drugKey, out dMemory))
            {
                dMemory.PharmaClassesText =
                    dMemory.PharmaClassesText.Concat(d.PharmaClassesText).Distinct().ToList();
                dMemory.PharmaClasses = dMemory.PharmaClasses.Concat(
                    PharmaClasses.Where(x => d.PharmaClassesText.Any(y => y == x.Key)).Select(x => x.Value.Id).ToList()
                    ).Distinct().ToList();
                dMemory.Strengths  = dMemory.Strengths.Concat(d.Strengths).Distinct().ToList();
                dMemory.TradeNames = dMemory.TradeNames.Concat(d.TradeNames).Distinct().ToList();

                if (dMemory.Schedule == null)
                {
                    dMemory.Schedule = d.Schedule;
                }

                if (dMemory.StartMarketingDate != null && d.StartMarketingDate.HasValue &&
                    d.StartMarketingDate < dMemory.StartMarketingDate)
                {
                    dMemory.StartMarketingDate = d.StartMarketingDate;
                }
                else
                {
                    dMemory.StartMarketingDate = d.StartMarketingDate;
                }

                drugId = dMemory.Id;
            }
            else
            {
                d.Id            = Guid.NewGuid();
                drugId          = d.Id;
                d.PharmaClasses = PharmaClasses.Where(x => d.PharmaClassesText.Any(y => y == x.Key)).Select(x => x.Value.Id).ToList();
                Drugs.Add(drugKey, d);
            }

            if (app != null)
            {
                app.DrugId = drugId;

                ImporterCacheKeyApplication appKey = new ImporterCacheKeyApplication
                {
                    AppNo     = app.ApplicationNumber,
                    ProductNo = app.ProductNumber
                };

                if (!AppToDrug.ContainsKey(appKey))
                {
                    app.Id = Guid.NewGuid();
                    AppToDrug.Add(appKey, drugId);
                    AppToApp.Add(appKey, app.Id);
                    Apps.Add(app);
                }
            }

            return(drugId);
        }
Beispiel #10
0
 public void AddDrug(Drug drug)
 {
     Drugs.Add(drug);
     SaveDrugs();
 }