internal void InitialIndicatorAlgorithm() { var fileName = HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager .AppSettings["IndicatorAlgorithm"]); ReadFromExcel readFromExcel = new ReadFromExcel(); //按Row获取当前行的所有数据 int rowCount = readFromExcel.GetRowCount(fileName); for (int i = 2; i <= rowCount; i++) { var columnData = readFromExcel.ReadRowFromExcel((uint)i, fileName); //数据必须大于等5才是正确的 //第1列为结果项目的Guid, //第2列为第一个项目的Guid //第3列为第二个项目的Guid //第4列为操作符 //第5列为备注 if (columnData.Count >= 5) { //var firstData = columnData.First(); WriteBaseData writeBaseData = new WriteBaseData(); IndicatorAlgorithm indicatorAlgorithm = new IndicatorAlgorithm(); indicatorAlgorithm.ResultOperationID = Guid.Parse(columnData.ElementAt(0)); indicatorAlgorithm.FirstOperationID = Guid.Parse(columnData.ElementAt(1)); indicatorAlgorithm.SecondOperationID = Guid.Parse(columnData.ElementAt(2)); indicatorAlgorithm.Operation = columnData.ElementAt(3); indicatorAlgorithm.Remarks = columnData.ElementAt(4); indicatorAlgorithm.ID = System.Guid.NewGuid(); writeBaseData.AddIndicatorAlgorithm(indicatorAlgorithm); } } }
public IndicatorAlgorithm AddIndicatorAlgorithm(IndicatorAlgorithm indicatorAlgorithm) { IndicatorAlgorithm item = null; if (indicatorAlgorithm == null) { return(item); } using (ImsDbContext context = new ImsDbContext()) { //先用ID查重 if (indicatorAlgorithm.ID != null) { item = context.IndicatorAlgorithms.Find(indicatorAlgorithm.ID); } //再用ResultOperation查找,如果能找到,则也不加入 if (item == null && indicatorAlgorithm.ResultOperationID != null) { item = context.IndicatorAlgorithms.Where(i => i.ResultOperationID == indicatorAlgorithm.ResultOperationID).FirstOrDefault(); } if (item == null) { //如果仍然没有,则可以添加到数据库 item = indicatorAlgorithm; context.IndicatorAlgorithms.Add(item); context.SaveChanges(); } } return(item); }