using System; using System.Linq.Expressions; using System.Text; using System.Web.Mvc; using Kreta.Framework; namespace Kreta.Web.Helpers { public static class RangeDatePickerExtensions { public static MvcHtmlString KretaRangeDatePicker(this HtmlHelper helper, Expression> fromExpression, Expression> toExpression, string title = "") { var fromFieldName = ExpressionHelper.GetExpressionText(fromExpression); var fromFieldId = fromFieldName.Replace(".", "_"); var fromMetadata = ModelMetadata.FromLambdaExpression(fromExpression, helper.ViewData); var fromDisplayName = fromMetadata.DisplayName; var toFieldName = ExpressionHelper.GetExpressionText(toExpression); var toFieldId = toFieldName.Replace(".", "_"); var toMetadata = ModelMetadata.FromLambdaExpression(toExpression, helper.ViewData); var toDisplayName = toMetadata.DisplayName; StringBuilder sb = new StringBuilder(); string fromDate = ""; string toDate = ""; string scriptTag = @""; string displayName = ""; if (!string.IsNullOrWhiteSpace(title)) { displayName = title; } else { if (!string.IsNullOrWhiteSpace(fromDisplayName)) { displayName = fromDisplayName; } else { if (!string.IsNullOrWhiteSpace(toDisplayName)) { displayName = toDisplayName; } } } sb.Append("
"); sb.Append("
"); sb.Append(""); sb.Append("
"); sb.Append("
"); sb.Append(fromDate).Append(" ").Append(toDate).Append(scriptTag); sb.Append("
"); sb.Append("
"); return new MvcHtmlString(sb.ToString()); } public static MvcHtmlString KretaRangeDatePickerSideBar(this HtmlHelper helper, Expression> fromExpression, Expression> toExpression, string title = "") { var fromFieldName = ExpressionHelper.GetExpressionText(fromExpression); var fromFieldId = fromFieldName.Replace(".", "_"); var fromMetadata = ModelMetadata.FromLambdaExpression(fromExpression, helper.ViewData); var fromDisplayName = fromMetadata.DisplayName; var fromValue = fromMetadata.Model; var toFieldName = ExpressionHelper.GetExpressionText(toExpression); var toFieldId = toFieldName.Replace(".", "_"); var toMetadata = ModelMetadata.FromLambdaExpression(toExpression, helper.ViewData); var toDisplayName = toMetadata.DisplayName; var toValue = toMetadata.Model; StringBuilder sb = new StringBuilder(); string fromDate = ""; string toDate = ""; string scriptTag = @""; string displayName = ""; if (!string.IsNullOrWhiteSpace(title)) { displayName = title; } else { if (!string.IsNullOrWhiteSpace(fromDisplayName)) { displayName = fromDisplayName; } else { if (!string.IsNullOrWhiteSpace(toDisplayName)) { displayName = toDisplayName; } } } sb.Append("
"); sb.Append("
"); sb.Append(""); sb.Append("
"); sb.Append("
"); sb.Append(fromDate).Append("
").Append(toDate).Append(scriptTag); sb.Append("
"); sb.Append("
"); sb.Append(""); return new MvcHtmlString(sb.ToString()); } } }