public static MvcHtmlString RadioButtonsIncluirRotina <TModel, TProperty>( this HtmlHelper <TModel> helper, Expression <Func <TModel, TProperty> > expression, CassiAuthorizePrincipal usuario) { var stringBuilder = new StringBuilder(); var tipos = Enum.GetValues(typeof(TipoContribuinte)).Cast <TipoContribuinte>() .Where(t => t != TipoContribuinte.Nenhum && t != TipoContribuinte.Todos).ToList(); if (!usuario.IsInFuncionalidade(GascFuncionalidade.GR09)) { tipos.Remove(TipoContribuinte.FuncionarioCassi); } if (!usuario.IsInFuncionalidade(GascFuncionalidade.GR02)) { tipos.Remove(TipoContribuinte.PrestadorFornecedor); } var propName = ModelMetadata.FromLambdaExpression(expression, helper.ViewData).PropertyName; foreach (var tipoFuncionario in tipos) { var div = new TagBuilder("div"); var divFormGroup = new TagBuilder("div"); div.Attributes.Add("class", "col-xs-4"); divFormGroup.Attributes.Add("class", "form-group"); var id = "tipo-contribuinte-" + ((int)tipoFuncionario); var input = new TagBuilder("input"); input.Attributes.Add("type", "radio"); input.Attributes.Add("value", ((int)tipoFuncionario).ToString()); input.Attributes.Add("checked", "checked"); input.Attributes.Add("class", "margin-right-1"); input.Attributes.Add("name", propName); input.Attributes.Add("id", id); var label = new TagBuilder("label"); label.Attributes.Add("for", id); label.AddCssClass("control-label"); label.SetInnerText(tipoFuncionario.GetDescription()); divFormGroup.InnerHtml = input.ToString(); divFormGroup.InnerHtml += label.ToString(); div.InnerHtml = divFormGroup.ToString(); stringBuilder.Append(div); } return(MvcHtmlString.Create(stringBuilder.ToString())); }
public static MvcHtmlString MenuGIR(this HtmlHelper html, CassiAuthorizePrincipal usuario) { StringBuilder tagMenuGIR = new StringBuilder(); UrlHelper urlHelper = new UrlHelper(html.ViewContext.RequestContext); if (usuario.IsInFuncionalidade(GascFuncionalidade.GR01)) { tagMenuGIR.Append("<li><span class='tituloMenu'>Gerenciador</span></li>"); tagMenuGIR.Append(string.Format("<li><a href='{0}'>Consultar Informes de Rendimentos</a></li>", urlHelper.Action("ConsultarInformeRendimento", "Processamento"))); } if (usuario.IsInFuncionalidade(GascFuncionalidade.GR08)) { tagMenuGIR.Append("<li><span class='tituloMenu'>Funcionário CASSI</span></li>"); tagMenuGIR.Append(string.Format("<li><a href='{0}'>Consultar Informes de Rendimentos</a></li>", urlHelper.Action("Index", "InformeColaborador"))); } return(new MvcHtmlString(tagMenuGIR.ToString())); }