Ejemplo n.º 1
0
 /*
  * 开发时注意:重复点击,比如连续点击2次,第1次为添加元素,第2次应该为更新元素,但是由于前台点击了2次,第2次传递的数据和第1次一样,依旧没有OldId
  * 此时应该更新,但代码却以添加为操作,致使数据会重复
  */
 // 更新或添加元素
 private void UpdateOrAddElement(SpecDataDto specDto, int typeInId, int tplId)
 {
     foreach (var item in specDto.EleDataList)
     {
         if (string.IsNullOrEmpty(item.OldId))  // 添加
         {
             var tempEleItem = _typeInItemRep.FirstOrDefault(x => x.TplId == tplId && x.TypeInId == typeInId && x.ElementId == item.EleId && x.SpecimenId == item.SpecId && !x.IsDeleted);
             if (tempEleItem == null)
             {
                 TypeInItem tempEleDto = new TypeInItem();
                 tempEleDto.CreateTime = DateTime.Now;
                 tempEleDto.TplId      = tplId;
                 tempEleDto.TypeInId   = typeInId;
                 tempEleDto.OperatorId = item.OperatorId;
                 tempEleDto.SpecimenId = item.SpecId;
                 tempEleDto.ElementId  = item.EleId;
                 tempEleDto.EleValue   = item.EleValue;
                 tempEleDto.IsDeleted  = false;
                 tempEleDto.EleName    = item.EleName;
                 _typeInItemRep.InsertAsync(tempEleDto);
             }
             else
             {
                 tempEleItem.EleValue   = item.EleValue;
                 tempEleItem.OperatorId = item.OperatorId;
                 _typeInItemRep.UpdateAsync(tempEleItem);
             }
         }
         else //更新
         {
             UpdateSingleElement(item);
         }
     }
 }
Ejemplo n.º 2
0
        // 生成单行数据
        public List <string> GetSingleRow(List <TypeIn> typeInList, List <TypeInItem> typeItemList, TemplateInfoDto schema, string samplingDate, string samplingTime)
        {
            var           tempTypeInArray  = typeInList.Select(x => x.Id);
            var           tempTypeItemList = typeItemList.Where(x => tempTypeInArray.Contains(x.TypeInId)).ToList();
            int           eleIndex         = 0;
            List <string> strList          = new List <string>();

            strList.Add($"{samplingDate} {samplingTime}");
            //strList.Add(samplingTime);
            foreach (var specItem in schema.Specimens)
            {
                for (int i = 0; i < specItem.Count; i++)
                {
                    int        tempEleId = schema.Elements[i + eleIndex].Id;
                    TypeInItem tempItem  = tempTypeItemList.Where(x => x.SpecimenId == specItem.Id && x.ElementId == tempEleId).FirstOrDefault();
                    if (tempItem != null)
                    {
                        strList.Add(tempItem.EleValue);
                    }
                    else
                    {
                        strList.Add(string.Empty);
                    }
                }
                eleIndex += specItem.Count;
            }
            return(strList);
        }
Ejemplo n.º 3
0
        // 生成单行数据
        private List <string> GetSingleRowData(List <TypeIn> typeInList, List <TypeInItem> typeItemList, List <TemplateInfoDto> schema, string samplingDate, string samplingTime)
        {
            var tempTypeInArray  = typeInList.Select(x => x.Id);
            var tempTypeItemList = typeItemList.Where(x => tempTypeInArray.Contains(x.TypeInId)).ToList();

            List <string> strList = new List <string>();

            strList.Add($"{samplingDate} {samplingTime}");
            foreach (var tplItem in schema)
            {
                foreach (var specItem in tplItem.Specimens)
                {
                    foreach (var eleItem in tplItem.Elements)
                    {
                        int        tempEleId = eleItem.Id;
                        TypeInItem tempItem  = tempTypeItemList.Where(x => x.SpecimenId == specItem.Id && x.ElementId == tempEleId).FirstOrDefault();
                        if (tempItem != null)
                        {
                            strList.Add(tempItem.EleValue);
                        }
                        else
                        {
                            strList.Add(string.Empty);
                        }
                    }
                }
            }
            return(strList);
        }
Ejemplo n.º 4
0
 private void AddElementDataToTable(SpecDataDto specDto, int typeInId, int tplId)
 {
     foreach (var item in specDto.EleDataList)
     {
         TypeInItem tempEleDto = new TypeInItem();
         tempEleDto.CreateTime = DateTime.Now;
         tempEleDto.TplId      = tplId;
         tempEleDto.TypeInId   = typeInId;
         tempEleDto.OperatorId = item.OperatorId;
         tempEleDto.SpecimenId = item.SpecId;
         tempEleDto.ElementId  = item.EleId;
         tempEleDto.EleValue   = item.EleValue;
         tempEleDto.IsDeleted  = false;
         tempEleDto.EleName    = item.EleName;
         _typeInItemRep.Insert(tempEleDto);
     }
 }