using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using Bowin.Common.Linq.Entity; namespace EMIS.ViewModel { public class QueryParamsModel { public int? page { get; set; } public int? rows { get; set; } public string QueryParamsDatas { get; set; } public string OrderBy { get { var orderby = (OrderByStatementView)HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"]; if (orderby == null) { return null; } else { return orderby.OrderBy; } } set { if (value == null) { HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"] = null; return; } var orderby = (OrderByStatementView)HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"]; if (orderby == null) { orderby = new OrderByStatementView() { OrderBy = value }; } else { orderby.OrderBy = value; } HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"] = orderby; } } public bool? IsAsc { get { var orderby = (OrderByStatementView)HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"]; if (orderby == null) { return null; } else { return orderby.isAsc; } } set { if (value == null) { HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"] = null; return; } var orderby = (OrderByStatementView)HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"]; if (orderby == null) { orderby = new OrderByStatementView() { isAsc = value.Value }; } else { orderby.isAsc = value.Value; } HttpContext.Current.Session["Bowin_Common_Linq_Entity_CurOrderby"] = orderby; } } protected Dictionary getParamsSource() { Dictionary dicparams = new Dictionary(); if (!string.IsNullOrEmpty(QueryParamsDatas)) { var arrayQueryParams = QueryParamsDatas.Split(new string[] { "|@|" }, StringSplitOptions.RemoveEmptyEntries); arrayQueryParams.ToList().ForEach(it => { var arraydata = it.Split(new string[] { "|*|" }, StringSplitOptions.None); dicparams.Add(arraydata[0], arraydata[1]); }); } return dicparams; } public List getConditions() { var queryParams = this.getParamsSource(); List configuretViews = new List(); foreach (var item in queryParams) { if (item.Key != "Attribute" && item.Key != "ConditionValue" && item.Key != "Condition" && !item.Key.Contains("_QueryTextBox")) { if (!string.IsNullOrEmpty(item.Value) && item.Value != "-1") { configuretViews.Add(new ConfiguretView() { Attribute = item.Key, Condition = "=", ConditionValue = item.Value }); } } } return configuretViews; } public String getExtraString(string QueryparameName) { var datas = getParamsSource(); string redata = ""; if (datas.ContainsKey(QueryparameName)) { redata = datas[QueryparameName]; } return redata; } public int? getExtraInt(string QueryparameName) { var datas = getParamsSource(); Nullable redata = new Nullable(); if (datas.ContainsKey(QueryparameName)) { int idata = 0; if (int.TryParse(datas[QueryparameName], out idata)) { redata = idata; } } return redata; } public bool? getExtraBool(string QueryparameName) { var datas = getParamsSource(); if (datas.ContainsKey(QueryparameName)) { if (datas[QueryparameName].ToLower().Contains("true")) { return true; } else { return false; } } else { return null; } } public DateTime? getExtraDateTime(string QueryparameName) { var datas = getParamsSource(); Nullable redata = new Nullable(); if (datas.ContainsKey(QueryparameName)) { DateTime idata = DateTime.MinValue; if (DateTime.TryParse(datas[QueryparameName], out idata)) { redata = idata; } } return redata; } public Guid? getExtraGuid(string QueryparameName) { var datas = getParamsSource(); Nullable redata = new Nullable(); if (datas.ContainsKey(QueryparameName)) { Guid idata = Guid.Empty; if (Guid.TryParse(datas[QueryparameName], out idata)) { redata = idata; } } return redata; } } }