protected override void OnBrokenRule(BrokenRuleMessage message) { brokenRuleMessage = message; lstBorkenRuleInfo.Add(brokenRuleMessage.RuleInfo); RunOnUiThread(ShowBrokenRule); base.OnBrokenRule(message); }
//添加自定义扣分规则 public void BreakRule(string examItemCode, string examItemName, string ruleCode, string subRuleCode = null, string message = null, int DeductedScores = 0, string DeductedVoiceFile = "") { var deductionRule = DataService.GetDeductionRule(ruleCode, subRuleCode); if (deductionRule == null) { Logger.WarnFormat("扣分规则:{0}-{1} 在数据库中不存在", ruleCode, subRuleCode); return; } deductionRule.DeductedScores = DeductedScores == 0 ? deductionRule.DeductedScores : DeductedScores; deductionRule.VoiceFile = DeductedVoiceFile == string.Empty ? deductionRule.VoiceFile : DeductedVoiceFile; deductionRule.ExamItemName = deductionRule.VoiceFile; var brokenRuleInfo = new BrokenRuleInfo(deductionRule) { ExamItemCode = examItemCode, ExamItemName = examItemName, Message = message, }; //自定义扣分规则 _breakRules.Add(brokenRuleInfo); Score -= brokenRuleInfo.DeductedScores; Logger.DebugFormat("项目:{0},扣分代码:{1},扣分:{2},{3}", examItemName, brokenRuleInfo.RuleCode, brokenRuleInfo.DeductedScores, brokenRuleInfo.RuleDescription); var brokenRulemessage = new BrokenRuleMessage(brokenRuleInfo); Messenger.Send(brokenRulemessage); if (VoiceBrokenRule) { SpeakBrokenRule(brokenRuleInfo); } }
protected void btnSave_Click(object sender, EventArgs e) { SealsEntity sealsEntity = GetEntity(); if (app.CheckSealName(sealsEntity.ID, sealsEntity.SealName)) { List <BrokenRuleMessage> list = new List <BrokenRuleMessage>(); BrokenRuleMessage message = new BrokenRuleMessage("nameExist", "Seal Name already exists."); list.Add(message); this.ShowFailMessageToClient(list); } else { if (sealsEntity.ID > 0) //edit { if (app.Update(sealsEntity)) { Redirect(Request.RawUrl, false, true); } else { this.ShowFailMessageToClient(app.BrokenRuleMessages); } } else { List <BrokenRuleMessage> list = new List <BrokenRuleMessage>(); BrokenRuleMessage message = new BrokenRuleMessage("SealNotExist", "Seal not exists."); list.Add(message); this.ShowFailMessageToClient(list); } } }
protected override void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; RunOnUiThread(ShowBrokenRule); } catch (Exception ex) { Logger.Error("DuoLunBrokenRule", ex.Message); } }
private void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; RunOnUiThread(ShowBrokenRule); } catch (Exception ex) { Logger.Error("SanLianBrokenRule", ex.Message); } }
private void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; RunOnUiThread(ShowBrokenRule); } catch (Exception ex) { Logger.Error(ex, GetType().ToString()); } }
protected override void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; AddTips(string.Format("[{0}][{1}][{2}]", message.RuleInfo.ExamItemName, message.RuleInfo.DeductedScores, message.RuleInfo.RuleName)); RunOnUiThread(ShowBrokenRule); } catch (Exception ex) { Logger.Error(this.GetType().ToString(), ex.Message); } }
private void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; AddTips(string.Format("[{0}][{1}][{2}]", message.RuleInfo.ExamItemName, message.RuleInfo.DeductedScores, message.RuleInfo.RuleName)); RunOnUiThread(ShowBrokenRule); } catch (Exception ex) { Logger.Error("HuaZhongBrokenRule", ex.Message); } }
public void ValidateFields <T>(T o, bool throwException, BaseService srv) { var descriptor = GetTypeDescriptor(typeof(T)); foreach (PropertyDescriptor propertyDescriptor in descriptor.GetProperties()) { foreach (var validationAttribute in propertyDescriptor.Attributes.OfType <ValidationAttribute>()) { if (validationAttribute is SFBaseValidationAttribute) { //customized by sunnet framework ValidationResult vr = validationAttribute.GetValidationResult(propertyDescriptor.GetValue(o), new ValidationContext(o, null, null)); if (vr != ValidationResult.Success) { if (throwException) { throw new Exception(vr.ErrorMessage); } BrokenRuleMessage msg = new BrokenRuleMessage(propertyDescriptor.Name, vr.ErrorMessage); var displayAtribute = propertyDescriptor.Attributes.OfType <DisplayAttribute>().FirstOrDefault(); if (displayAtribute != null) { msg = new BrokenRuleMessage(displayAtribute.Name, vr.ErrorMessage.Replace(propertyDescriptor.Name, displayAtribute.Name)); } srv.AddBrokenRuleMessage(msg); } } else { //standard if (!validationAttribute.IsValid(propertyDescriptor.GetValue(o))) { string exceptionDescription = validationAttribute.FormatErrorMessage(propertyDescriptor.Name); if (throwException) { throw new Exception(exceptionDescription); } BrokenRuleMessage msg = new BrokenRuleMessage(propertyDescriptor.Name, exceptionDescription); var displayAtribute = propertyDescriptor.Attributes.OfType <DisplayAttribute>().FirstOrDefault(); if (displayAtribute != null) { msg = new BrokenRuleMessage(displayAtribute.Name, exceptionDescription.Replace(propertyDescriptor.Name, displayAtribute.Name)); } srv.AddBrokenRuleMessage(msg); } } } } }
private void OnBrokenRule(BrokenRuleMessage message) { Context.Rules.Add(message.RuleInfo); var itemState = Context.ExamItemStates.FirstOrDefault(x => x.ItemCode == message.RuleInfo.ExamItemCode); if (itemState != null) { if (message.RuleInfo.Required) { itemState.Result = ExamItemResult.Failed; } } }
private void ValidateBasicRules(T o) { var descriptor = GetTypeDescriptor(typeof(T)); foreach (PropertyDescriptor propertyDescriptor in descriptor.GetProperties()) { foreach (var validationAttribute in propertyDescriptor.Attributes.OfType <ValidationAttribute>()) { if (!validationAttribute.IsValid(propertyDescriptor.GetValue(o))) { BrokenRuleMessage msg = new BrokenRuleMessage(propertyDescriptor.Name, validationAttribute.FormatErrorMessage(propertyDescriptor.Name)); AddBrokenRuleMessage(msg); } } } }
protected override void OnBrokenRule(BrokenRuleMessage message) { try { brokenRuleMessage = message; lstBorkenRuleInfo.Add(brokenRuleMessage.RuleInfo); RunOnUiThread(ShowBrokenRule); base.OnBrokenRule(message); if (message.RuleInfo.ExamItemCode != ExamItemCodes.Light) { ////合格是一种颜色,不合格则直接结束 var tempRules = new List <BrokenRuleInfo>(); int rulecount = 6; if (lstBorkenRuleInfo.Count > rulecount) { tempRules = lstBorkenRuleInfo.Take(rulecount).ToList(); } else { tempRules = lstBorkenRuleInfo; } var results = tempRules.Where(x => x.ExamItemName.Equals(message.RuleInfo.ExamItemName)); int sumScore = 100; foreach (var result in results) { sumScore -= result.DeductedScores; } if (sumScore < 90 && lastFinishItem != message.RuleInfo.ExamItemName) { lastFinishItem = message.RuleInfo.ExamItemName; messager.Send(new MapItemFinishedMessage(message.RuleInfo.ExamItemCode)); } } } catch (Exception ex) { Logger.Error(ex, this.GetType()); } }
private void OnBthExceptionReceive(BrokenRuleMessage message) { BthExceptionCount++; }
protected override void OnBrokenRule(BrokenRuleMessage message) { brokenRuleMessage = message; RunOnUiThread(ShowBrokenRule); }
private void OnBrokenRule(BrokenRuleMessage message) { brokenRuleMessage = message; RunOnUiThread(ShowBrokenRule); }
protected virtual void OnBrokenRule(BrokenRuleMessage message) { }