コード例 #1
0
ファイル: RequestController.cs プロジェクト: Almir2/OrderTaxi
        public ActionResult PartialSecretaryIndex(DisplayFilter displayFilter, string cleanFilter, int?page)
        {
            if (displayFilter.AuthorFirstName != null || displayFilter.AuthorLastName != null || displayFilter.DepartureAddress != null || displayFilter.DestinationAddress != null)
            {
                _displayFilter = displayFilter;
            }
            else
            {
                if (_displayFilter == null)
                {
                    _displayFilter = (new DisplayFilter()).GetDefault();
                }
            }
            if (cleanFilter == "true")
            {
                _displayFilter = (new DisplayFilter()).GetDefault();
            }

            if (displayFilter.AuthorFirstName == null && displayFilter.AuthorLastName == null && displayFilter.DepartureAddress == null && displayFilter.DestinationAddress == null)
            {
                _displayFilter = (new DisplayFilter()).GetDefault();
            }


            int pageSize   = 5;
            int pageNumber = (page ?? 1);

            var model        = new RequestIndexViewModel();
            var requestsList = _requestService.GetRequest(_displayFilter).OrderByDescending(x => x.Id);

            model.Requests = requestsList.ToPagedList(pageNumber, pageSize);

            return(PartialView(model));
        }
コード例 #2
0
        public StudioViewsEditorViewModel(EditorController editorController,
                                          FilterItemService filterItemService, ProjectFileService projectFileService,
                                          SdlxliffMerger sdlxliffMerger, SdlxliffExporter sdlxliffExporter, SdlxliffReader sdlxliffReader,
                                          ParagraphUnitProvider paragraphUnitProvider, DisplayFilter displayFilter)
        {
            _filterItemService     = filterItemService;
            _projectFileService    = projectFileService;
            _sdlxliffMerger        = sdlxliffMerger;
            _sdlxliffExporter      = sdlxliffExporter;
            _sdlxliffReader        = sdlxliffReader;
            _paragraphUnitProvider = paragraphUnitProvider;
            _displayFilter         = displayFilter;

            _editorController = editorController;
            _editorController.ActiveDocumentChanged += EditorController_ActiveDocumentChanged;

            ActivateDocument(_editorController.ActiveDocument);

            // Default values
            ExportSelectedSegments     = true;
            FilterItems                = new List <FilterItem>(_filterItemService.GetFilterItems());
            SelectedExcludeFilterItems = new ObservableCollection <FilterItem>(
                _filterItemService.GetFilterItems(FilterItems, new List <string> {
                "Locked"
            }));
            SelectedTabItem = 0;
        }
コード例 #3
0
        protected override void Initialize()
        {
            _editorController     = SdlTradosStudio.Application.GetController <EditorController>();
            _projectsController   = SdlTradosStudio.Application.GetController <ProjectsController>();
            _studioVersionService = new StudioVersionService();

            var commonService         = new ProjectFileService();
            var projectHelper         = new ProjectService(_projectsController, _studioVersionService);
            var analysisBands         = projectHelper.GetAnalysisBands(_projectsController.CurrentProject ?? _projectsController.SelectedProjects.FirstOrDefault());
            var filterItemService     = new FilterItemService(analysisBands);
            var sdlxliffMerger        = new SdlxliffMerger();
            var segmentBuilder        = new SegmentBuilder();
            var segmentVisitor        = new SegmentVisitor();
            var paragraphUnitProvider = new ParagraphUnitProvider(segmentVisitor, filterItemService);
            var sdlxliffExporter      = new SdlxliffExporter(segmentBuilder);
            var sdlXliffReader        = new SdlxliffReader();
            var displayFilter         = new DisplayFilter();

            var model = new StudioViewsEditorViewModel(_editorController, filterItemService,
                                                       commonService, sdlxliffMerger, sdlxliffExporter, sdlXliffReader, paragraphUnitProvider, displayFilter);

            _control = new StudioViewsEditorView {
                DataContext = model
            };
        }
コード例 #4
0
ファイル: Explorer.cs プロジェクト: Milkitic/BstServer
        public void Refresh()
        {
            ViewCells?.Clear();
            ViewCells = new List <ViewCell>();
            foreach (var directory in CurrentPath.EnumerateDirectories())
            {
                var cell = new DirectoryCell(directory, Settings);

                ViewCells.Add(cell);
            }

            foreach (var file in CurrentPath.EnumerateFiles())
            {
                if (DisplayFilter != null && !DisplayFilter.Contains(file.Extension.ToLower().Trim('.')))
                {
                    continue;
                }
                var cell = new FileCell(file, Settings);
                if (IsExchangePath || CurrentPath.FullName == AddonPath.FullName)
                {
                    cell.CanDelete = true;
                }
                else
                {
                    cell.CanDelete = false;
                }
                ViewCells.Add(cell);
            }
        }
コード例 #5
0
        private void SetItems(DisplayFilter filter)
        {
            if (filter == _filter || _allItems.Count == 0)
            {
                return;
            }

            RootItem.ClearAllChildItems();

            foreach (var item in _allItems.Values)
            {
                item.ExecutionOrder = 0;

                if (item.ParentId.HasValue)
                {
                    var parentItem = FindParentItem(item.ParentId.Value, filter);
                    if (filter == DisplayFilter.None || !item.IsInactive)
                    {
                        parentItem.AddChildItem(item);
                    }
                }
            }

            var leafItemSource = _allItems.Values.Where(i => i.IsLeaf);

            if (filter == DisplayFilter.ActiveNodesOnly)
            {
                leafItemSource = leafItemSource.Where(i => !i.IsInactive);
            }

            ResolveExecutionOrder(leafItemSource.ToList());

            _filter = filter;
        }
コード例 #6
0
		public AttributeUsageDisplayFilter(string documentedAttributesConfig)
		{
			string[] filters = documentedAttributesConfig.Split(new char[] {'|'});
			foreach (string filter in filters)
			{
				string[] filterParts = filter.Split(new char[] {','});
				if (filterParts.Length > 0)
				{
					if (filterParts[0].Length > 0)
					{
						DisplayFilter displayFilter = new DisplayFilter();
						displayFilter.attributeName = filterParts[0];
						if (filterParts.Length > 1)
						{
							string[] memberNames = new string[filterParts.Length - 1];
							for (int i = 1; i < filterParts.Length; i++)
							{
								memberNames[i - 1] = filterParts[i];
							}
							displayFilter.memberNames = memberNames;
						}
						AttributeFilters.Add(displayFilter);
					}
				}
			}
		}
コード例 #7
0
ファイル: RequestRepository.cs プロジェクト: Almir2/OrderTaxi
        /// <summary>
        /// Реализует получение заданной страницы указанного размера.
        /// </summary>
        public IEnumerable <Request> GetPage(DisplayFilter filter, int pageSize = 50, int pageNumber = 1)
        {
            var filteredPage = GetRequestsApplyFilter(filter)
                               .Skip((pageNumber - 1) * pageSize)
                               .Take(pageSize);

            return(filteredPage);
        }
コード例 #8
0
 private void updateVisibilityOfBoxes()
 {
     foreach (Control control in Controls)
     {
         if (control is DiscussionBox box)
         {
             box.Visible = DisplayFilter.DoesMatchFilter(box.Discussion);
         }
     }
 }
コード例 #9
0
        private void updateVisibilityOfBoxes()
        {
            IEnumerable <DiscussionBox> boxes = Controls
                                                .Cast <Control>()
                                                .Where(x => x is DiscussionBox)
                                                .Cast <DiscussionBox>();

            foreach (DiscussionBox box in boxes)
            {
                box.Visible = DisplayFilter.DoesMatchFilter(box.Discussion);
            }
        }
コード例 #10
0
        private void repositionControls()
        {
            int groupBoxMarginLeft = 5;
            int groupBoxMarginTop  = 5;

            // If Vertical Scroll is visible, its width is already excluded from ClientSize.Width
            int vscrollDelta = VerticalScroll.Visible ? 0 : SystemInformation.VerticalScrollBarWidth;

            // Temporary variables to avoid changing control Location more than once
            Point filterPanelLocation  = new Point(groupBoxMarginLeft, groupBoxMarginTop);
            Point actionsPanelLocation = new Point(groupBoxMarginLeft, groupBoxMarginTop);

            actionsPanelLocation.Offset(filterPanelLocation.X + FilterPanel.Size.Width, 0);

            // Stack panels horizontally
            FilterPanel.Location  = filterPanelLocation + (Size)AutoScrollPosition;
            ActionsPanel.Location = actionsPanelLocation + (Size)AutoScrollPosition;

            // Prepare to stack boxes vertically
            int topOffset = Math.Max(filterPanelLocation.Y + FilterPanel.Size.Height,
                                     actionsPanelLocation.Y + ActionsPanel.Size.Height);
            Size  previousBoxSize     = new Size();
            Point previousBoxLocation = new Point();

            previousBoxLocation.Offset(0, topOffset);

            // Stack boxes vertically
            foreach (Control control in Controls)
            {
                if (!(control is DiscussionBox box))
                {
                    continue;
                }

                // Check if this box will be visible or not. The same condition as in updateVisibilityOfBoxes().
                // Cannot check Visible property because it is not set so far, we're trying to avoid flickering.
                if (!DisplayFilter.DoesMatchFilter(box.Discussion))
                {
                    continue;
                }

                // Temporary variable to void changing box Location more than once
                Point location = new Point(groupBoxMarginLeft, groupBoxMarginTop);
                location.Offset(0, previousBoxLocation.Y + previousBoxSize.Height);

                // Discussion box can take all the width except scroll bars and the left margin
                box.AdjustToWidth(ClientSize.Width - vscrollDelta - groupBoxMarginLeft);

                box.Location        = location + (Size)AutoScrollPosition;
                previousBoxLocation = location;
                previousBoxSize     = box.Size;
            }
        }
コード例 #11
0
        private ExecutionPlanItem FindParentItem(int parentId, DisplayFilter filter)
        {
            do
            {
                var item = _allItems[parentId];
                if (filter == DisplayFilter.None || !item.IsInactive)
                {
                    return(item);
                }

                parentId = item.ParentId.Value;
            }while (true);
        }
コード例 #12
0
ファイル: RequestService.cs プロジェクト: Almir2/OrderTaxi
        /// <summary>
        /// Метод,реализующий получение списка заявок с учётом фильтрации.
        /// </summary>
        /// <param name="filter">Условие фильтрования.</param>
        public IEnumerable <DtoRequest> GetRequest(DisplayFilter filter)
        {
            var filterList = _requestRepository.GetRequestsApplyFilter(filter);

            var outList = new List <DtoRequest>();

            if (!_requestServiceHelper.MapIEnumRequestToIEnumDtoRequest(filterList, out outList))
            {
                return(null);
            }

            return(outList);
        }
コード例 #13
0
ファイル: RequestController.cs プロジェクト: Almir2/OrderTaxi
        public ActionResult PartialRequestIndex(DisplayFilter displayFilter, string cleanFilter, int?page)
        {
            if (displayFilter.AuthorFirstName != null || displayFilter.AuthorLastName != null || displayFilter.DepartureAddress != null || displayFilter.DestinationAddress != null)
            {
                Session["disFilter"] = displayFilter;
                _displayFilter       = displayFilter;
            }
            else
            {
                if (_displayFilter == null && (DisplayFilter)Session["disFilter"] == null)
                {
                    _displayFilter = (new DisplayFilter()).GetDefault();
                }
                else
                {
                    _displayFilter = (DisplayFilter)Session["disFilter"];
                }
            }
            if (cleanFilter == "true")
            {
                _displayFilter = (new DisplayFilter()).GetDefault();
            }

            if (displayFilter.AuthorFirstName == null && displayFilter.AuthorLastName == null && displayFilter.DepartureAddress == null && displayFilter.DestinationAddress == null)
            {
                _displayFilter = (new DisplayFilter()).GetDefault();
            }

            var userId   = _userService.GetUserByMail(HttpContext.User.Identity.Name).Id;
            var userName = _employeeService.GetUserLastName(userId).Lastname;

            _displayFilter.AuthorLastName = userName;

            int pageSize   = 5;
            int pageNumber = (page ?? 1);

            var model = new RequestIndexViewModel();

            var requestsList = _requestService.GetRequest(_displayFilter).OrderByDescending(x => x.Id);

            model.Requests = requestsList.ToPagedList(pageNumber, pageSize);

            return(PartialView(model));
        }
コード例 #14
0
ファイル: RequestRepository.cs プロジェクト: Almir2/OrderTaxi
        /// <summary>
        /// Возвращает список заявок с примением фильтра
        /// </summary>
        public IEnumerable <Request> GetRequestsApplyFilter(DisplayFilter filter)
        {
            var filteredSet = Find(x => (filter.RequestId == 0) || (x.Id == filter.RequestId))
                              .Where(x => (filter.AuthorFirstName == null) || (x.Employee.Firstname == filter.AuthorFirstName) || (x.Employee.Firstname).Contains(filter.AuthorFirstName))
                              .Where(x => (filter.AuthorLastName == null) || (x.Employee.Lastname == filter.AuthorLastName) || (x.Employee.Lastname).Contains(filter.AuthorLastName))
                              .Where(x => (filter.DeparturePoint == null) || (x.DeparturePoint.Name == filter.DeparturePoint) || (x.DeparturePoint.Name).Contains(filter.DeparturePoint))
                              .Where(x => (filter.DestinationPoint == null) || (x.DestinationPoint.Name == filter.DestinationPoint) || (x.DestinationPoint.Name).Contains(filter.DestinationPoint))
                              .Where(x => (filter.DepartureAddress == null) || (x.DepartureAddress == filter.DepartureAddress))
                              .Where(x => (filter.DestinationAddress == null) || (x.DestinationAddress == filter.DestinationAddress))
                              .Where(x => (filter.DepartureDateTime == DateTime.MinValue) || (x.DepartureDateTime == filter.DepartureDateTime))
                              .Where(x => (filter.CreationDateTime == DateTime.MinValue) || (x.CreationDateTime == filter.CreationDateTime))
                              .Where(x => (filter.HasBaggage == false) || (x.HasBaggage == filter.HasBaggage))
                              .Where(x => (filter.Comment == null) || (x.Comment == filter.Comment))
                              .Where(x => (filter.Mileage == 0) || (x.Mileage == filter.Mileage))
                              .Where(x => (filter.Price == 0) || (x.Price == filter.Price))
                              .Where(x => (filter.StatusName == null) || (((Statuses)(x.StatusId)).ToString() == filter.StatusName));

            return(filteredSet);
        }
コード例 #15
0
ファイル: RequestController.cs プロジェクト: Almir2/OrderTaxi
        public ActionResult ManagerHandleRequest(int?id)
        {
            var error = "";

            if (id == null)
            {
                return(HttpNotFound());
            }

            var model = new RequestHandleViewModel();

            var filter = new DisplayFilter();

            var ar = new DtoRequest();

            if (!_requestService.GetRequestById((int)id, out ar, out error))
            {
                return(HttpNotFound());
            }

            model.Request = ar;

            return(View(model));
        }
コード例 #16
0
 private bool isSearchableControl(Control control)
 {
     return(control.Parent is DiscussionBox box && DisplayFilter.DoesMatchFilter(box.Discussion));
 }