public override void Initialise(string groupName, Item questionItem, SignupApiResponse response) { base.Initialise(groupName, questionItem, response); if (groupName == "supplyAddress" && questionItem.Name == "knownAddress") { //lets map meta data so we can hide display the meter numbers for the selected address if (response.SupplyAddressSearchResults != null) { AcceptableItems.ForEach(i => { var result = response.SupplyAddressSearchResults.FirstOrDefault(s => s.Id == i.Id); if (result != null) { i.MetaData = JsonConvert.SerializeObject(new { gasMeterKnown = result.KnownGasMeter, electricityMeterKnown = result.KnownElectricityMeter, igt = result.IGTWarning }); } }); } } Dynamic = (questionItem.Type.Equals("linked")); }
public virtual void Initialise(string groupName, Item questionItem, SignupApiResponse response) { Data = questionItem.Data; GroupName = groupName; FieldName = questionItem.Name; Required = questionItem.Mandatory; Label = questionItem.Prompt; RegularExpression = questionItem.RegularExpression; ReadOnly = questionItem.ReadOnly; ErrorMessage = GetErrorMessage(groupName, questionItem, response); GuidanceMessage = GetGuidanceMessage(questionItem); }
protected string GetLinkedUrl(string validateAs, SignupApiResponse response) { if (response.LinkedDataSources == null) { return(string.Empty); } foreach (var linkedDataSource in response.LinkedDataSources) { if (linkedDataSource.Queries != null && linkedDataSource.Queries.Any(q => q.Parameters.Any(p => p.ValidateAs.Equals(validateAs)))) { return(linkedDataSource.Uri); } } return(string.Empty); }
public override void Initialise(string groupName, Item questionItem, SignupApiResponse response) { base.Initialise(groupName, questionItem, response); HashSet <string> selectedValues = new HashSet <string>(); if (AcceptableItems != null && questionItem.Data != null && questionItem.Data.GetType() == typeof(JArray)) { foreach (string item in ((JArray)questionItem.Data).Select(selectedItem => selectedItem.Value <string>()).Where(item => selectedValues.Contains(item) == false)) { selectedValues.Add(item); } foreach (var acceptableItem in AcceptableItems.Where(acceptableItem => selectedValues.Contains(acceptableItem.Id))) { acceptableItem.Data = true; } } Data = null; }
protected string GetErrorMessage(string groupName, Item questionItem, SignupApiResponse response) { string errorMessage = string.Empty; if (!string.IsNullOrEmpty(questionItem.RegularExpressionErrorMessage)) { errorMessage = questionItem.RegularExpressionErrorMessage; } if (response.Errors == null) { return(errorMessage); } var error = response.Errors.FirstOrDefault( a => { if (a.Item == null || a.Group == null) { return(false); } return(a.Group.Equals(groupName) && a.Item.Equals(questionItem.Name)); }); if (error == null) { HasServerError = false; return(errorMessage); } HasServerError = true; if (string.IsNullOrEmpty(errorMessage)) { errorMessage = error.Message.Text; } return(errorMessage); }
public override void Initialise(string groupName, Item questionItem, SignupApiResponse response) { base.Initialise(groupName, questionItem, response); LinkedUrl = GetLinkedUrl(questionItem.ValidateAs, response); }
public override void Initialise(string groupName, Item questionItem, SignupApiResponse response) { base.Initialise(groupName, questionItem, response); AcceptableItems = MapAcceptableValues(questionItem); }