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"));
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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;
        }
Beispiel #5
0
        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);
 }
Beispiel #7
0
        public override void Initialise(string groupName, Item questionItem, SignupApiResponse response)
        {
            base.Initialise(groupName, questionItem, response);

            AcceptableItems = MapAcceptableValues(questionItem);
        }