Пример #1
0
        public static MvcHtmlString DisplayerFor <TModel, TValue>(this HtmlHelper <TModel> html,
                                                                  Expression <Func <TModel, TValue> > expression)
        {
            if (typeof(TValue).IsEnum)
            {
                return(DisplayExtensions.DisplayFor(html, expression, "Enum", new { EnumType = typeof(TValue) }));
            }
            else if (Nullable.GetUnderlyingType(typeof(TValue)) != null &&
                     Nullable.GetUnderlyingType(typeof(TValue)).IsEnum)
            {
                return(DisplayExtensions.DisplayFor(html, expression, "Enum",
                                                    new { EnumType = Nullable.GetUnderlyingType(typeof(TValue)) }));
            }

            //this is for view templates to use ,make it consistent as GetDisplayDictionary to viewModelDisplay
            if (expression.Body.NodeType == ExpressionType.MemberAccess)
            {
                var body         = (MemberExpression)expression.Body;
                var containerExp = (MemberExpression)body.Expression;
                var prop         = body.Member;
                var cotainerType = prop.DeclaringType;
                var displayprop  = prop.Name + DisplayExtension.SurfixForDisplay;
                if (cotainerType.GetProperty(displayprop) != null)
                {
                    var displayExp =
                        Expression.Lambda <Func <TModel, string> >(Expression.Property(containerExp, displayprop), expression.Parameters);
                    return(DisplayExtensions.DisplayFor <TModel, string>(html, displayExp));
                }
            }
            return(DisplayExtensions.DisplayFor <TModel, TValue>(html, expression));
        }
Пример #2
0
 public static MvcHtmlString DisplayForModel(
     this HtmlHelper htmlHelper,
     string templateName  = null,
     string htmlFieldName = null
     )
 {
     return(DisplayExtensions.DisplayForModel(htmlHelper, templateName, htmlFieldName));
 }
Пример #3
0
 public static MvcHtmlString Display(
     this HtmlHelper htmlHelper,
     string expression,
     string templateName  = null,
     string htmlFieldName = null
     )
 {
     return(DisplayExtensions.Display(htmlHelper, expression, templateName, htmlFieldName));
 }
Пример #4
0
 public static MvcHtmlString DisplayFor <TModel, TValue>(
     this HtmlHelper <TModel> htmlHelper,
     Expression <Func <TModel, TValue> > expression,
     string templateName  = null,
     string htmlFieldName = null
     )
 {
     return(DisplayExtensions.DisplayFor(
                htmlHelper,
                expression,
                templateName,
                htmlFieldName
                ));
 }
Пример #5
0
        public static MvcHtmlString LocalizedDisplayFor <T, U>(this HtmlHelper <T> htmlHelper, Expression <Func <T, U> > expression, string defaultValue = null)
        {
            ModelMetadata expressionModelMetadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);

            if (expressionModelMetadata.Model == null)
            {
                return(MvcHtmlString.Create(defaultValue));
            }
            if (expressionModelMetadata.Model is ReferenceString)
            {
                ReferenceString referenceString = expressionModelMetadata.Model as ReferenceString;
                return(MvcHtmlString.Create(referenceString.GetValue()));
            }
            return(DisplayExtensions.DisplayFor(htmlHelper, expression));
        }
Пример #6
0
        public AdvanceForm()
        {
            InitializeComponent();
            simpleLineSymbol         = new SimpleLineSymbolClass();
            simpleLineSymbol.Width   = 4;
            simpleLineSymbol.Color   = DisplayExtensions.GetRGBColor(255, 0, 99);
            simpleMarkerSymbol       = new SimpleMarkerSymbolClass();
            simpleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
            simpleMarkerSymbol.Size  = 8;
            simpleMarkerSymbol.Color = DisplayExtensions.GetRGBColor(255, 0, 0);

            simpleFillSymbol         = new SimpleFillSymbolClass();
            simpleFillSymbol.Style   = esriSimpleFillStyle.esriSFSCross;
            simpleFillSymbol.Outline = simpleLineSymbol;
            simpleLineSymbol.Color   = DisplayExtensions.GetRGBColor(255, 0, 0);
        }
Пример #7
0
 public static MvcHtmlString ShortCueName <T>(this HtmlHelper <T> htmlHelper, Cue cue)
 {
     return(new MvcHtmlString(DisplayExtensions.DisplayFor(htmlHelper, m => cue.CueBook.ShortName).ToHtmlString() +
                              DisplayExtensions.DisplayFor(htmlHelper, m => cue.Number).ToHtmlString()));
 }
Пример #8
0
 public static MvcHtmlString CueName <T>(this HtmlHelper <T> htmlHelper, Cue cue)
 {
     return(new MvcHtmlString(HtmlHelperExtensions.ShortCueName(htmlHelper, cue) + " - " + DisplayExtensions.DisplayFor(htmlHelper, m => cue.Name)));
 }
Пример #9
0
        public static IHtmlString PacienteCuadros(this HtmlHelper <IPagedList <PacienteViewModel> > htmlHelper, IEnumerable <PacienteViewModel> model)
        {
            var macroDiv = new TagBuilder("div");

            macroDiv.AddCssClass("card-columns");
            var macroBuilder = new StringBuilder();
            var urlHelper    = new UrlHelper(htmlHelper.ViewContext.RequestContext);

            foreach (var item in model)
            {
                var outerDiv   = new TagBuilder("div");
                var cardBody   = new TagBuilder("div");
                var cardUL     = new TagBuilder("ul");
                var cardFooter = new TagBuilder("div");
                outerDiv.AddCssClass("card border-info mb-3");
                cardBody.AddCssClass("card-body");
                cardUL.AddCssClass("list-group list-group-flush");
                cardFooter.AddCssClass("card-footer");

                //--Card Body
                var nombreH = new TagBuilder("h5");
                nombreH.AddCssClass("card-title");
                nombreH.InnerHtml = DisplayExtensions.DisplayFor(htmlHelper, m => item.FullName).ToHtmlString();
                var subRaza = new TagBuilder("h6");
                subRaza.AddCssClass("card-subtitle mb-2 text-muted");
                subRaza.InnerHtml = $"Raza : {DisplayExtensions.DisplayFor(htmlHelper, m => item.Raza.Nombre).ToHtmlString()}";
                var subChip = new TagBuilder("h6");
                subChip.AddCssClass("card-subtitle mb-2 text-muted");
                StringBuilder subChipText = new StringBuilder();
                subChipText.Append(DisplayNameExtensions.DisplayNameFor(htmlHelper, m => m.First().Microchip_Licencia).ToHtmlString());
                subChipText.Append(" : ");
                subChipText.Append(DisplayExtensions.DisplayFor(htmlHelper, m => item.Microchip_Licencia).ToHtmlString());
                subChip.InnerHtml = subChipText.ToString();
                var pTag = new TagBuilder("p");
                pTag.AddCssClass("card-text");
                pTag.InnerHtml = $"Fecha Registro : {item.FechaIngreso.ToShortDateString()}";
                StringBuilder bodyText = new StringBuilder();
                bodyText.Append(nombreH.ToString(TagRenderMode.Normal));
                bodyText.Append(subRaza.ToString(TagRenderMode.Normal));
                bodyText.Append(subChip.ToString(TagRenderMode.Normal));
                bodyText.Append(pTag.ToString(TagRenderMode.Normal));
                cardBody.InnerHtml = bodyText.ToString();
                //------

                //--Card UL
                var liEdad   = new TagBuilder("li");
                var liColor  = new TagBuilder("li");
                var liGenero = new TagBuilder("li");
                liEdad.AddCssClass("list-group-item");
                liColor.AddCssClass("list-group-item");
                liGenero.AddCssClass("list-group-item");

                var message = $"Edad : {item.Edad}";
                liEdad.InnerHtml = message;
                var colorText = new StringBuilder();
                colorText.Append(DisplayNameExtensions.DisplayNameFor(htmlHelper, m => m.First().Color).ToHtmlString());
                colorText.Append(" : ");
                colorText.Append(DisplayExtensions.DisplayFor(htmlHelper, m => item.Color).ToHtmlString());
                liColor.InnerHtml = colorText.ToString();
                var generoText = new StringBuilder();
                generoText.Append(DisplayNameExtensions.DisplayNameFor(htmlHelper, m => m.First().Genero).ToHtmlString());
                generoText.Append(" : ");
                generoText.Append(DisplayExtensions.DisplayFor(htmlHelper, m => item.Genero).ToHtmlString());
                liGenero.InnerHtml = generoText.ToString();

                var cardUlText = new StringBuilder();
                cardUlText.Append(liEdad.ToString(TagRenderMode.Normal));
                cardUlText.Append(liColor.ToString(TagRenderMode.Normal));
                cardUlText.Append(liGenero.ToString(TagRenderMode.Normal));
                cardUL.InnerHtml = cardUlText.ToString();
                //------

                //--Card Footer

                var editarBtn = new TagBuilder("a");
                editarBtn.AddCssClass("card-link-btn");
                editarBtn.MergeAttribute("title", "Editar Datos Paciente");
                editarBtn.MergeAttribute("href", $"{urlHelper.Action("Editar", new { id = item.ID })}");
                editarBtn.InnerHtml = " <i class='fas fa-edit'></i> ";
                var deleteBtn = new TagBuilder("span");
                deleteBtn.AddCssClass("card-link-btn notDisplay");
                deleteBtn.MergeAttribute("onclick", $"DeleteThis({item.ID})");
                deleteBtn.InnerHtml = "Eliminar";
                var linkVer    = LinkExtensions.ActionLink(htmlHelper, "Ver Lista de Chequeos", "HistoricoPaciente", "Chequeos", new { id = item.ID }, htmlAttributes: new { @class = "card-link" });
                var linkPro    = LinkExtensions.ActionLink(htmlHelper, "Ver Propietario(s)", "VerPropietarios", new { id = item.ID }, htmlAttributes: new { @class = "card-link" });
                var nuevoCheck = LinkExtensions.ActionLink(htmlHelper, "Nuevo Chequeo", "Nuevo", "Chequeo", new { id = item.ID }, htmlAttributes: new { @class = "card-link" });
                var footerText = new StringBuilder();

                footerText.Append(editarBtn.ToString(TagRenderMode.Normal));
                footerText.Append(" | ");
                footerText.Append(linkVer.ToHtmlString());
                footerText.Append(" | ");
                footerText.Append(deleteBtn.ToString(TagRenderMode.Normal));
                footerText.Append("  ");
                footerText.Append(linkPro.ToHtmlString());
                footerText.Append(" | ");
                footerText.Append(nuevoCheck.ToHtmlString());

                cardFooter.InnerHtml = footerText.ToString();
                //------

                //Renderizando Outer BODY
                StringBuilder htmlBuilder = new StringBuilder();
                htmlBuilder.Append(cardBody.ToString(TagRenderMode.Normal));
                htmlBuilder.Append(cardUL.ToString(TagRenderMode.Normal));
                htmlBuilder.Append(cardFooter.ToString(TagRenderMode.Normal));
                outerDiv.InnerHtml = htmlBuilder.ToString();

                macroBuilder.Append(outerDiv.ToString(TagRenderMode.Normal));
            }
            macroDiv.InnerHtml = macroBuilder.ToString();
            var html = macroDiv.ToString(TagRenderMode.Normal);

            return(MvcHtmlString.Create(html));
        }