示例#1
0
        /// <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);
        }
示例#2
0
        void searchByNameControl_Clear()
        {
            SearchSmoCriteria newCriteria = new SearchSmoCriteria();

            _intergPager.SetNewCriteria(newCriteria);
            _intergPager.RefreshData();
            contentUpdatePanel.Update();
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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();
        }
示例#5
0
        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 = "Выделенный диапазон номеров временных свидетельств";
                }
            }
        }
示例#6
0
        /// <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);
        }
示例#7
0
 /// <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)));
 }
示例#8
0
 /// <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));
 }