/// <summary> /// The add order. /// </summary> /// <param name="criteria"> /// The criteria. /// </param> /// <param name="smo"> /// The smo. /// </param> /// <param name="tfom"> /// The tfom. /// </param> /// <param name="query"> /// The query. /// </param> /// <returns> /// The <see cref="IQueryOver"/> . /// </returns> private IQueryOver <Organisation, Organisation> AddOrder( SearchSmoCriteria criteria, Organisation smo, Organisation tfom, IQueryOver <Organisation, Organisation> query) { // Сортировка if (!string.IsNullOrEmpty(criteria.SortExpression)) { Expression <Func <object> > expression = () => smo.ShortName; switch (criteria.SortExpression) { case "TFom": expression = () => tfom.ShortName; break; case "ShortName": expression = () => smo.ShortName; break; case "FullName": expression = () => smo.FullName; break; } query = criteria.SortDirection == SortDirection.Ascending ? query.OrderBy(expression).Asc : query.OrderBy(expression).Desc; } return(query); }
void searchByNameControl_Clear() { SearchSmoCriteria newCriteria = new SearchSmoCriteria(); _intergPager.SetNewCriteria(newCriteria); _intergPager.RefreshData(); contentUpdatePanel.Update(); }
/// <summary> /// Получает список всех организаций /// </summary> /// <param name="criteria"> /// The criteria. /// </param> /// <returns> /// The <see cref="SearchResult{Organisation}"/> . /// </returns> public SearchResult <Organisation> GetSmosByCriteria(SearchSmoCriteria criteria) { var umanager = ObjectFactory.GetInstance <IUserManager>(); var currentUser = ObjectFactory.GetInstance <ISecurityProvider>().GetCurrentUser(); var session = ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession(); Organisation smo = null; Organisation tfom = null; var query = session.QueryOver(() => smo).JoinAlias(x => x.Parent, () => tfom); if (currentUser.PointDistributionPolicyId != null) { if (umanager.IsUserHasAdminPermissions(currentUser)) { } else { // свой регион if (umanager.IsUserAdminTf(currentUser.Id)) { query.Where(x => tfom.Id == currentUser.GetTf().Id); } else { // своя смо if (umanager.IsUserAdminSmo(currentUser.Id)) { query.Where(s => s.Id == currentUser.GetSmo().Id); } } } } query.Where(s => s.IsActive); if (!string.IsNullOrEmpty(criteria.ShortName)) { query.WhereRestrictionOn(s => s.ShortName).IsInsensitiveLike(criteria.ShortName, MatchMode.Anywhere); } if (!string.IsNullOrEmpty(criteria.Oid)) { query.WhereRestrictionOn(s => s.Oid.Id).IsLike(criteria.Oid); } var count = query.RowCount(); var searchResult = new SearchResult <Organisation> { Skip = criteria.Skip, Total = count }; query = AddOrder(criteria, smo, tfom, query); query.Skip(criteria.Skip).Take(criteria.Take); searchResult.Rows = query.List(); return(searchResult); }
void searchByNameControl_Search() { custPager.ResetCurrentPage(); SearchSmoCriteria newCriteria = new SearchSmoCriteria(); newCriteria.ShortName = searchByNameControl.NameValue; newCriteria.Oid = _oid; _intergPager.SetNewCriteria(newCriteria); _intergPager.RefreshData(); contentUpdatePanel.Update(); //без этой строки при первом отображении списка смо, если набрать в поиске буквы и нажать ввод, //то при попытке выбрать запись в гриде она не выбирается, пока не клыпнешь либо по другой колонке грида либо по другому контролу searchByNameControl.SetFocus(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetButtonsEnable(false); var criteria = new SearchSmoCriteria(); criteria.Take = int.MaxValue; criteria.Oid = Oid.Smo; dlSmo.DataSource = regulatoryService.GetSmos(criteria).Rows; //regulatoryService.GetSmosByTfom(fomId); dlSmo.DataBind(); if (Request.QueryString["Id"] == null) { CurrentRange = new RangeNumberData(); } else { CurrentRange = _service.GetRangeNumber(Guid.Parse(Request.QueryString["Id"])); } LoadGridData(); SetPreviousData(true); if (Request.QueryString["Id"] == null) { lbTitle.Text = "Добавление выделенного диапазона номеров вс"; return; } tbFrom.Text = CurrentRange.RangelFrom.ToString(); tbTo.Text = CurrentRange.RangelTo.ToString(); dlSmo.SelectedValue = CurrentRange.Smo != null?CurrentRange.Smo.Id.ToString() : null; //Редактирование выделенного диапазона номеров вс if (CurrentRange.ChangeDate.HasValue) { lbTitle.Text = string.Format("Выделенный диапазон номеров временных свидетельств от {0}", CurrentRange.ChangeDate.Value.ToShortDateString()); } else { lbTitle.Text = "Выделенный диапазон номеров временных свидетельств"; } } }
/// <summary> /// Получает список всех организаций для мипа /// </summary> /// <param name="criteria"> /// The criteria. /// </param> /// <returns> /// The <see cref="SearchResult{Organisation}"/> . /// </returns> public SearchResult <Organisation> GetTfoms(SearchSmoCriteria criteria) { var session = ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession(); Organisation smo = null; var query = session.QueryOver(() => smo).Where(s => s.IsActive).And(x => x.Oid.Id == Oid.Tfoms); if (!string.IsNullOrEmpty(criteria.ShortName)) { query.WhereRestrictionOn(s => s.FullName).IsInsensitiveLike(criteria.ShortName, MatchMode.Anywhere); } var count = query.RowCount(); var searchResult = new SearchResult <Organisation> { Skip = criteria.Skip, Total = count }; query = AddOrder(criteria, smo, null, query); query.Skip(criteria.Skip).Take(criteria.Take); searchResult.Rows = query.List(); return(searchResult); }
/// <summary> /// Получает список всех организаций /// </summary> /// <param name="criteria"> /// The criteria. /// </param> /// <returns> /// The <see cref="SearchResult{Organisation}"/> . /// </returns> public SearchResult <Organisation> GetSmos(SearchSmoCriteria criteria) { return(InvokeInterceptors(() => Service.GetSmos(criteria))); }
/// <summary> /// Получает список всех организаций /// </summary> /// <param name="criteria"> /// The criteria. /// </param> /// <returns> /// The <see cref="SearchResult{Organisation}"/> . /// </returns> public SearchResult <Organisation> GetSmos(SearchSmoCriteria criteria) { return(ObjectFactory.GetInstance <IOrganisationManager>().GetSmosByCriteria(criteria)); }