public DrugRowFormModel()
 {
     NumberOfDays = new BsRangeItem <int?>
     {
         MinValue  = 1,
         MaxValue  = 30,
         ItemValue = 1,
         TextValue = "1"
     };
     Quantity = new BsRangeItem <int?>
     {
         MinValue  = 1,
         MaxValue  = 120,
         ItemValue = 1,
         TextValue = "1"
     };
 }
Esempio n. 2
0
 public NumberPickerControlProperties()
 {
     InitialValue = new BsRangeItem<int>();
     MinValue = new BsRangeItem<int>();
     MaxValue = new BsRangeItem<int>();
 }
Esempio n. 3
0
 public NumberPickerControlProperties()
 {
     InitialValue = new BsRangeItem <int>();
     MinValue     = new BsRangeItem <int>();
     MaxValue     = new BsRangeItem <int>();
 }
Esempio n. 4
0
        internal static MvcHtmlString NumberRangeForInternal <TModel, T>(this HtmlHelper <TModel> htmlHelper, string name, BsRangeItem <T> bsNumber, IDictionary <string, object> htmlAttributes, IDictionary <string, object> dataOptions)
        {
            var inputHtml = new StringBuilder();
            var fullName  = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name);

            name += ".TextValue";
            // If there are any errors for a named field, we add the css attribute.
            ModelState modelState;

            if (htmlHelper.ViewData.ModelState.TryGetValue(name, out modelState))
            {
                if (modelState.Errors.Count > 0)
                {
                    htmlAttributes.MergeAttribute("class", HtmlHelper.ValidationInputCssClassName);
                }
            }

            //Validation Hack
            name = name.Replace(".TextValue", "");

            var attributes = htmlHelper.GetUnobtrusiveValidationAttributes(name);

            if (name.Contains(".") && !attributes.Any())
            {
                attributes = htmlHelper.GetUnobtrusiveValidationAttributes(name.Split('.').LastOrDefault());
            }

            foreach (var item in attributes)
            {
                htmlAttributes.MergeAttribute(item.Key, item.Value.ToString(), true);
            }

            //Set display value
            string displayValue = null;

            if (bsNumber != null && !string.IsNullOrEmpty(bsNumber.TextValue))
            {
                displayValue = bsNumber.TextValue;
            }

            //render input type text
            inputHtml.Append(htmlHelper.TextBox(name + ".TextValue", displayValue, htmlAttributes).ToHtmlString());

            //render hidden for range
            htmlAttributes = new Dictionary <string, object>();
            htmlAttributes.MergeAttribute("data-for", fullName + ".TextValue");

            //From
            var fromName = fullName + ".ItemValue";

            htmlAttributes.MergeAttribute("class", "bs-number-value", true);

            var valFormated = (bsNumber != null && bsNumber.ItemValue != null) ? RangeExtensions.FormatValue(bsNumber.ItemValue) : string.Empty;

            var hiddenTag = new TagBuilder("input");

            hiddenTag.GenerateId(fromName);
            hiddenTag.MergeAttribute("name", fromName);
            hiddenTag.MergeAttribute("value", valFormated);
            hiddenTag.MergeAttribute("type", "hidden");
            hiddenTag.MergeAttributes(htmlAttributes);

            if (bsNumber != null)
            {
                hiddenTag.MergeAttribute("data-minvalue", FormatValue(bsNumber.MinValue));
                hiddenTag.MergeAttribute("data-maxvalue", FormatValue(bsNumber.MaxValue));
            }

            inputHtml.Append(hiddenTag.ToString(TagRenderMode.Normal));

            return(new MvcHtmlString(inputHtml.ToString()));
        }