public bool CheckCustomerReference(string customerOrderReference, string soldToCustomer, string connection, string environment) { EDICommunicationLayer communication = new EDICommunicationLayer(EdiConnectionType.SQL, connection); var query = string.Format("SELECT Count(*) FROM {0}.F47011 WHERE SYVR01 = {1} and SYAN8 = {2}", environment, customerOrderReference, soldToCustomer); return(!communication.IsValid(query)); }
public Dictionary <int, string> ValidateOrder <T>(T obj, List <EdiValidate> validations, int entityID) where T : class { Type type = (typeof(T)); Dictionary <int, string> errormessages = new Dictionary <int, string>(); foreach (var validation in validations.Where(x => x.TableName == type.Name)) { var value = obj.GetType().GetProperty(validation.FieldName).GetValue(obj, null).ToString().Trim(); if (validation.MaxLength.HasValue && value.Length > validation.MaxLength.Value) { errormessages.Add(entityID, string.Format("Max length for field {0} exceeded", validation.FieldName)); } if (!string.IsNullOrEmpty(validation.Value)) { switch ((EdiValidationType)validation.EdiValidationType) { case EdiValidationType.ConstantValue: if (validation.Value != value) { errormessages.Add(entityID, string.Format("Value for field {0} should be {1}", validation.FieldName, validation.Value)); } break; case EdiValidationType.Query: string connection = validation.Connection; if (ConfigurationManager.ConnectionStrings[validation.Connection] != null) { connection = ConfigurationManager.ConnectionStrings[validation.Connection].ConnectionString; } EDICommunicationLayer communication = new EDICommunicationLayer((EdiConnectionType)validation.EdiConnectionType, connection); if (communication.IsValid(string.Format(validation.Value, value))) { errormessages.Add(entityID, string.Format("Value for field {0} not valid query returned false", validation.FieldName, validation.Value)); } break; case EdiValidationType.Formula: //var calculateTotal = DynamicExpression.ParseLambda<T, string>("SubTotal*@0+Shipping", validation.Value).Compile(); if (!f(validation.Value, value)) { errormessages.Add(entityID, string.Format("Value for field {0} not valid formula returned false", validation.FieldName, validation.Value)); } break; default: break; } } } return(errormessages); }