/// <summary>
        /// 薬品情報のリストをデータベースに登録する
        /// </summary>
        /// <param name="list">薬品情報リスト</param>
        /// <returns>薬品情報の登録件数</returns>
        static int RegistDrugInfo(List<Yakuhin> list)
        {
            int count = 0;

            using (var db = new DrugInfoContext())
            {
                foreach(var yakuhin in list)
                {
                    // 医薬分類
                    var classification = db.Classifications.FirstOrDefault(
                        item => item.ClassificationCode == yakuhin.ClassificationCode);

                    if (classification == null)
                    {
                        // 医薬分類を登録する
                        classification = new Classifications
                        {
                            ClassificationCode = yakuhin.ClassificationCode,
                            Name = yakuhin.ClassificationName
                        };
                        db.Classifications.Add(classification);
                    }

                    // 薬品情報
                    var drug = db.Drugs.FirstOrDefault(
                        item => item.DrugCode == yakuhin.DrugCode);

                    if (drug == null)
                    {
                        // 薬品情報を登録する
                        drug = new Drugs
                        {
                            DrugCode = yakuhin.DrugCode,
                            Name = yakuhin.DrugName,
                            Company = yakuhin.Company,
                            ClassificationId = classification.ClassificationId
                        };
                        db.Drugs.Add(drug);

                        // 登録件数をインクリメント
                        count++;
                    }

                    // DB更新
                    db.SaveChanges();
                }
            }

            return count;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 薬品情報のリストをデータベースに登録する
        /// </summary>
        /// <param name="list">薬品情報リスト</param>
        /// <returns>薬品情報の登録件数</returns>
        static int RegistDrugInfo(List <Yakuhin> list)
        {
            int count = 0;

            using (var db = new DrugInfoContext())
            {
                foreach (var yakuhin in list)
                {
                    // 医薬分類
                    var classification = db.Classifications.FirstOrDefault(
                        item => item.ClassificationCode == yakuhin.ClassificationCode);

                    if (classification == null)
                    {
                        // 医薬分類を登録する
                        classification = new Classifications
                        {
                            ClassificationCode = yakuhin.ClassificationCode,
                            Name = yakuhin.ClassificationName
                        };
                        db.Classifications.Add(classification);
                    }

                    // 薬品情報
                    var drug = db.Drugs.FirstOrDefault(
                        item => item.DrugCode == yakuhin.DrugCode);

                    if (drug == null)
                    {
                        // 薬品情報を登録する
                        drug = new Drugs
                        {
                            DrugCode         = yakuhin.DrugCode,
                            Name             = yakuhin.DrugName,
                            Company          = yakuhin.Company,
                            ClassificationId = classification.ClassificationId
                        };
                        db.Drugs.Add(drug);

                        // 登録件数をインクリメント
                        count++;
                    }

                    // DB更新
                    db.SaveChanges();
                }
            }

            return(count);
        }