public IHttpActionResult PostAnalysisDelete(AnalysisDto analysis) { string msg = ""; if (analysis == null) { msg = "参数错误"; } var analysisToDelete = _context.Analyses.Find(analysis.Id); if (analysisToDelete == null) { msg = "删除失败,该化验项目不存在"; } else { try { _context.Analyses.Remove(analysisToDelete); _context.SaveChanges(); msg = "删除成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public IHttpActionResult PostAnalysisModify(AnalysisDto analysis) { string msg = ""; if (analysis == null) { msg = "参数错误"; } var analysisToUpdate = _context.Analyses.Find(analysis.Id); analysisToUpdate.Name = analysis.Name; analysisToUpdate.Amount = analysis.Amount; try { _context.Entry(analysisToUpdate).State = EntityState.Modified; _context.SaveChanges(); msg = "修改成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public async Task <IActionResult> Retrieve(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentNullException("id"); } AnalysisDto analysis = new AnalysisDto(); try { analysis = await _repository.RetrieveAnalysisByGoogleFileIdAsync(id); } catch (Exception err) { // TODO: create proper EventIds for logging _logger?.LogError(0, err, "Unable to retrieve analysis from database"); throw err; } return(Ok(analysis)); }
public IHttpActionResult PostAnalysisAdd(AnalysisDto analysis) { string msg = ""; if (analysis == null) { msg = "参数错误"; } var AnalysisToAdd = Mapper.Map <AnalysisDto, Analysis>(analysis); try { _context.Analyses.Add(AnalysisToAdd); _context.SaveChanges(); msg = "添加成功"; } catch (RetryLimitExceededException) { msg = "网络故障"; } var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }"; return(Ok(str)); }
public Task <AnalysisResDto> Analysis(AnalysisDto analysisDto) { return(Task.Factory.StartNew(() => { AnalysisResDto res = new AnalysisResDto() { Success = true, Msg = "条码解析成功" }; var thisAssembly = typeof(WMSCloudApplicationModule).GetAssembly().ExportedTypes.Where(t => t.Name.ToLower() == analysisDto.DtoName.ToLower()).FirstOrDefault(); if (thisAssembly == null) { throw new LYException("未找到要解析的数据传输对象"); } // 查询该对象的解析规则 var analysiss = _repository.GetAll().Where(a => a.ClassName == analysisDto.DtoName).ToList(); if (analysiss == null || analysiss.Count < 1) { throw new LYException("未设置条码解析规则"); } // 条码解析 try { //获取指定名称的类型 object resObj = Activator.CreateInstance(thisAssembly, null); //创建指定类型实例 PropertyInfo[] fields = resObj.GetType().GetProperties(); //获取指定对象的所有公共属性 foreach (var pInfo in fields) { // 判断是否存在解析规则 var analysis = analysiss.Where(a => a.PropertyName.ToLower() == pInfo.Name.ToLower()).FirstOrDefault(); if (analysis == null) { continue; } var oneStr = ""; // 进行正则解析 if (analysis.IsReplace) { oneStr = Regex.Replace(analysisDto.BarCode, analysis.RegEX, ""); } else { oneStr = Regex.Match(analysisDto.BarCode, analysis.RegEX).Value; } if (pInfo.PropertyType.BaseType.Name == "Enum") { pInfo.SetValue(resObj, System.Enum.Parse(pInfo.PropertyType, oneStr, true), null); } else { if (pInfo.PropertyType == typeof(DateTime)) { oneStr = GetDateCode(oneStr); } pInfo.SetValue(resObj, Convert.ChangeType(oneStr, pInfo.PropertyType), null); } } res.Result = resObj; } catch (Exception ex) { throw new LYException("条码解析失败" + ex.Message); } return res; })); }