Exemple #1
0
        /// <summary>
        /// 初始化Indicator项目
        /// </summary>
        public void InitialIndicator()
        {
            var           indicatorFile = HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["Indicator"]);
            ReadFromExcel readFromExcel = new ReadFromExcel();
            //按Row获取当前行的所有数据
            //先获Row总数,从第二行开始取数据,第一行为标题
            int rowCount = readFromExcel.GetRowCount(indicatorFile);

            for (int i = 2; i <= rowCount; i++)
            {
                var columnData = readFromExcel.ReadRowFromExcel((uint)i, indicatorFile);
                //将该列按照IndicatorItem录入,再插入到数据库
                if (columnData.Count >= 8)
                {
                    IndicatorItem indicatorItem = new IndicatorItem();
                    //按照顺序填充
                    indicatorItem.Name           = columnData.ElementAt(0);
                    indicatorItem.Unit           = columnData.ElementAt(1);
                    indicatorItem.IsAuto         = columnData.ElementAt(2);
                    indicatorItem.DataSystem     = columnData.ElementAt(3);
                    indicatorItem.Department     = columnData.ElementAt(4);
                    indicatorItem.Remarks        = columnData.ElementAt(5);
                    indicatorItem.DutyDepartment = columnData.ElementAt(6);
                    indicatorItem.GuidId         = Guid.Parse(columnData.ElementAt(7));
                    //写入数据库
                    WriteBaseData writeBaseData = new WriteBaseData();
                    writeBaseData.AddIndicator(indicatorItem);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Adds the indicator.
 /// </summary>
 /// <param name="indicatorItem">代码中的对应映射类.</param>
 public void AddIndicator(IndicatorItem indicatorItem)
 {
     if (indicatorItem == null)
     {
         return;
     }
     using (ImsDbContext context = new ImsDbContext())
     {
         //先通过Id查重,如果存在,不添加
         Indicator item  = new Indicator();
         var       query = context.Indicators.Where(i => i.IndicatorID == indicatorItem.GuidId).FirstOrDefault();
         if (query != null)
         {
             //已存在,返回
             return;
         }
         //根据IsAuto从不同表中查找ID
         if (indicatorItem.IsAuto == "是")
         {
             item.IsAutoGetData = true;
             var dataSystem = context.DataSourceSystems.Where(d => d.Name == indicatorItem.DataSystem).FirstOrDefault();
             if (dataSystem == null)
             {
                 //若不存在,直接返回,
                 return;
             }
             //需获取DataSystem的ID值
             item.DataSourceSystemID = dataSystem.ID;
             //item.DepartmentID = null;
         }
         else
         {
             item.IsAutoGetData = false;
             var department = context.Departments.Where(d => d.DepartmentName == indicatorItem.Department).FirstOrDefault();
             if (department == null)
             {
                 //如果科室不存在,说明有问题,不能再继续下一步操作
                 return;
             }
             //获取department的ID
             item.DepartmentID = department.DepartmentID;
             //item.DataSourceSystemID = null;
         }
         //继续赋其他值
         item.Name           = indicatorItem.Name;
         item.Unit           = indicatorItem.Unit;
         item.DutyDepartment = indicatorItem?.DutyDepartment;
         item.Remarks        = indicatorItem?.Remarks;
         //添加到数据库
         item.IndicatorID = indicatorItem.GuidId;
         context.Indicators.Add(item);
         context.SaveChanges();
     }
 }