public void DelAssayBasicData(AssayBasicData delAssayBasicData) { try { _assayBDDal.Delete(delAssayBasicData); } catch (RepositoryException ex) { throw ex; } }
public AssayBasicData UpdAssayBasicData(AssayBasicData newAssayBasicData) { AssayBasicData reAssayBD = null; try { _assayBDDal.Update(newAssayBasicData); reAssayBD = newAssayBasicData; } catch (RepositoryException ex) { throw ex; } return(reAssayBD); }
/// <summary> /// /// </summary> /// <param name="arList">检测值列表</param> /// <param name="org">组织机构</param> /// <param name="goodsKindID">粮食品种</param> /// <param name="cont">合同</param> /// <returns>返回等级,-2表示异常,-1表示无等级基础数据,0表示未获取到组织机构对应的等级判定</returns> public int JudgeGrainGrade(IList <AssayResult> arList, OrganizationDepartment org, int goodsKindID, out decimal unitPrice) { int graidGrade = 0; unitPrice = 0; IList <AssayBasicData> GrainGradeList = GetGrainGrade().ToList(); if (GrainGradeList == null || GrainGradeList.Count == 0) { return(-1); } try { List <TargetPrice> TargetPriceList; if (org.TargetPrices.Count == 0) { //未关联组织机构,直接找关联粮食品种的TargetPrice TargetPriceList = _targetPriceService.GetTargetPricesByGoodsKindID(goodsKindID).OrderByDescending(tp => decimal.Parse(tp.min_value)).ToList(); } else { TargetPriceList = org.TargetPrices.Where( tp => tp.grain_kind == goodsKindID).OrderByDescending( otp => decimal.Parse(otp.min_value)).ToList(); } if (TargetPriceList == null || TargetPriceList.Count == 0) { return(0); //如果没有对应的等级判定,就立即返回0 } //选取默认第一个TargetPrice的grain_quality_index为检索项 AssayResult newar = arList.SingleOrDefault(ar => ar.grain_quality_index == TargetPriceList[0].grain_quality_index.Value); if (newar == null) { return(0); } //判断 string grain_grade = ""; #region //////////////////////////////////////////判定等级//////////////////////////////////// for (int i = 0; i < TargetPriceList.Count; i++) { int Result = -1; if (!TargetPriceList[i].min_tag.HasValue) { continue; } switch (TargetPriceList[i].min_tag.Value) { case 0: if (decimal.Parse(newar.assay_result_value) > decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 1: if (decimal.Parse(newar.assay_result_value) >= decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 2: if (decimal.Parse(newar.assay_result_value) < decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 3: if (decimal.Parse(newar.assay_result_value) <= decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; default: Result = -1; break; } if (Result != -1) //满足条件“一等” { switch (i) { case 0: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.一等); break; case 1: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.二等);; break; case 2: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.等); break; case 3: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.四等); break; case 4: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.五等); break; case 5: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.等外); break; default: grain_grade = string.Empty; break; } break; // 赋值以后可退出循环 } } AssayBasicData abd = GrainGradeList.Single(gg => gg.name == grain_grade); if (abd != null) { graidGrade = abd.basic_data_id; } #endregion return(graidGrade); } catch { //返回-2是异常 return(-2); } }