//check format barcode bool _barcode_is_true(ref validate_item item) { try { string[] buffer = this.Barcode.Split(new string[] { "::" }, StringSplitOptions.None); bool r = buffer.Length == 3; if (!r) { Validate_Error_Message += "Barcode is incorrect."; return(false); } item.CaseCode = buffer[0]; item.ItemCode = buffer[1]; string _itemvalue = buffer[2]; r = false; foreach (var it in ValidateItems) { if (it.CaseCode.Equals(item.CaseCode) && it.ItemCode.Equals(item.ItemCode)) { item.ItemName = it.ItemName; if (item.ItemName == "PrintMode") { item.ItemValue = _itemvalue.Equals("0") ? "Only print label" : "Combine label printing with product weighing"; } else { item.ItemValue = _itemvalue; } r = true; break; } } if (!r) { Validate_Error_Message += "Barcode is incorrect."; return(false); } Validate_Error_Message += string.Format("Setting Item: {0}, Value: {1}", item.ItemName, item.ItemValue); return(r); } catch { Validate_Error_Message += "Barcode is incorrect."; return(false); } }
//validate product SN public bool Validate() { //validate item validate_item _Item = new validate_item(); if (!_barcode_is_true(ref _Item)) { return(false); } //set setting value PropertyInfo propertyInfo = MyGlobal.MySetting.GetType().GetProperty(_Item.ItemName); propertyInfo.SetValue(MyGlobal.MySetting, Convert.ChangeType(_Item.ItemValue, propertyInfo.PropertyType), null); return(true); }
//generic method --------------------------------------// int _is_value_validate_same_setting(validate_item validate_Item) { int r = 1; try { if (validate_Item.ActionName.ToLower().Equals("the production week is not correct")) { int value = int.Parse(validate_Item.ActualValue); r = (value < 1 || value > 52) == true ? 1 : 0; } else if (validate_Item.ActionName.ToLower().Equals("the last six characters of the serial number are not hexadecimal")) { r = (Regex.IsMatch(validate_Item.ActualValue, validate_Item.StandardValue) == true) ? 0 : 1; } else if (validate_Item.ActionName.ToLower().Equals("rework: the place of production is not correct") || validate_Item.ActionName.ToLower().Equals("rework: product version is not correct")) { int value; bool kq = int.TryParse(validate_Item.ActualValue, out value); if (kq == false) { return(1); } return(r = value > 0 ? 0 : 1); } else if (validate_Item.ActionName.ToLower().Equals("rework: year of manufacture is not correct")) { bool kq = Regex.IsMatch(validate_Item.ActualValue, "[0-9,A-Z]"); return(r = kq == true ? 0 : 1); } else { r = validate_Item.ActualValue.ToLower().Equals(validate_Item.StandardValue.ToLower()) == true ? 0 : 1; } } catch { } Validate_Error_Message += r == 1 ? string.Format("{0}. Actual value is \"{1}\", Standard or setting value is \"{2}\".", validate_Item.ActionName, validate_Item.ActualValue, validate_Item.StandardValue) : ""; return(r); }