public static IHtmlContent GenerateHtml <TModel, TProperty>( IHtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > propertyLambdaExpression, FieldsetViewModel fieldsetOptions = null, HintViewModel hintOptions = null) where TModel : GovUkViewModel { PropertyInfo property = ExpressionHelpers.GetPropertyFromExpression(propertyLambdaExpression); ThrowIfPropertyTypeIsNotNullableEnum(property); string propertyName = property.Name; TModel model = htmlHelper.ViewData.Model; TProperty currentlySelectedValue = ExpressionHelpers.GetPropertyValueFromModelAndExpression(model, propertyLambdaExpression); Type enumType = Nullable.GetUnderlyingType(typeof(TProperty)); Array allEnumValues = Enum.GetValues(enumType); List <ItemViewModel> radios = allEnumValues .OfType <object>() .Select(enumValue => { bool isEnumValueCurrentlySelected = enumValue.ToString() == currentlySelectedValue.ToString(); string radioLabelText = GetRadioLabelText(enumType, enumValue); return(new RadioItemViewModel { Value = enumValue.ToString(), Id = $"GovUk_Radio_{propertyName}_{enumValue}", Checked = isEnumValueCurrentlySelected, Label = new LabelViewModel { Text = radioLabelText } }); }) .Cast <ItemViewModel>() .ToList(); var radiosViewModel = new RadiosViewModel { Name = $"GovUk_Radio_{propertyName}", IdPrefix = $"GovUk_{propertyName}", Items = radios, Fieldset = fieldsetOptions, Hint = hintOptions }; if (model.HasErrorFor(property)) { radiosViewModel.ErrorMessage = new ErrorMessageViewModel { Text = model.GetErrorFor(property) }; } return(htmlHelper.Partial("/GovUkDesignSystemComponents/Radios.cshtml", radiosViewModel)); }
public IViewComponentResult Invoke( string aspFor, string label, IEnumerable <RadiosListItemViewModel> radios, bool populateWithCurrentValues, string?hintText ) { var radiosList = radios.Select( r => new RadiosItemViewModel( r.Enumeration.Name, r.Label, IsSelectedRadio(aspFor, r.Enumeration, populateWithCurrentValues), r.HintText ) ); var viewModel = new RadiosViewModel( aspFor, label, string.IsNullOrEmpty(hintText) ? null : hintText, radiosList ); return(View(viewModel)); }
public ActionResult Player(string chave) { string key = primeKey + "Player:" + chave; RadiosViewModel retorno = null; var diaS = (int)DateTime.Now.DayOfWeek; var horaAtual = string.Format("{0:HH:mm tt}", DateTime.Now); var programacoesDia = db.Horario_programacao.Where(x => x.diaSemana == diaS).Select(y => new ProgramacoesVM { programaId = y.idPrograma.ToString(), horario = y.horario, Data = new DateTime() }).ToList(); foreach (var item in programacoesDia) { item.Data = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + item.horario); } var atual = programacoesDia.OrderBy(x => x.Data).LastOrDefault(x => x.Data <= DateTime.Now); var horarioFinal = programacoesDia.OrderBy(x => x.Data).Where(x => x.Data >= DateTime.Now).Take(2).FirstOrDefault(); var convertId = Int32.Parse(atual.programaId); var hf = ""; if (horarioFinal != null) { hf = horarioFinal.horario; } ViewBag.programacao = db.Programacao.Where(x => x.id == convertId).Select(a => new ProgramacaoMenuViewModel { Id = a.id, Horario = atual.horario, FimHorario = hf, Nome = a.nome }).ToList(); ViewBag.radios = db.Radios.Where(x => x.Ativo).OrderBy(x => x.Titulo).Select(r => new RadiosMenuViewModel { Chave = r.Chave, Titulo = r.Titulo, Stream1 = r.Stream1, Stream2 = r.Stream2 }).ToList(); Func <object, RadiosViewModel> funcao = t => PlayerDB(chave); retorno = RedisService.GetOrSetToRedis(key, funcao, 60); return(View(retorno)); }
public static IHtmlContent GovUkRadios( this IHtmlHelper htmlHelper, RadiosViewModel radioItemViewModel) { return(htmlHelper.Partial("/GovUkDesignSystemComponents/Radios.cshtml", radioItemViewModel)); }
public static IHtmlContent GovUkRadios( this IHtmlHelper htmlHelper, RadiosViewModel radioItemViewModel) { return(htmlHelper.Partial("~/Partials/Radios.cshtml", radioItemViewModel)); }