示例#1
0
        void InitFilter()
        {
            _requestFilterList = new List <RequestListFilterEntity>();

            RequestListFilterEntity iResponseFilter = new RequestListFilterEntity();

            iResponseFilter.Id            = "-";
            iResponseFilter.FilterName    = "Я відповідальний";
            iResponseFilter.ResponseUser  = _commonService.User;
            iResponseFilter.StartDateTime = DateTime.Now.Date.AddDays(-30);
            iResponseFilter.StatusIdList  = string.Join(",", new string[] { ((int)RequestState.Open).ToString(),
                                                                            ((int)RequestState.Analyze).ToString(),
                                                                            ((int)RequestState.InWork).ToString(),
                                                                            ((int)RequestState.Done).ToString() });
            _requestFilterList.Add(iResponseFilter);


            RequestListFilterEntity iCreatorFilter = new RequestListFilterEntity();

            iCreatorFilter.Id            = "-";
            iCreatorFilter.FilterName    = "Я створив";
            iCreatorFilter.CreatorUser   = _commonService.User;
            iCreatorFilter.StartDateTime = DateTime.Now.Date.AddDays(-30);
            iCreatorFilter.StatusIdList  = string.Join(",", new string[] { ((int)RequestState.Open).ToString(),
                                                                           ((int)RequestState.Analyze).ToString(),
                                                                           ((int)RequestState.InWork).ToString(),
                                                                           ((int)RequestState.Done).ToString(),
                                                                           ((int)RequestState.Done).ToString() });
            _requestFilterList.Add(iCreatorFilter);
        }
示例#2
0
        private void InitView()
        {
            _appList = _nsiService.Applications;
            _appList.Add(AppEntity.Create());

            _orgList = _nsiService.Organizations;
            _orgList.Add(OrgEntity.Create());

            _userList = _nsiService.Users;
            _userList.Add(UserEntity.Create());

            _tagList = _nsiService.Tags;

            _dialogResult = null;
            _control      = new RequestFilterControl(this);

            _caption = string.Format("Параметри пошуку звернень", "");
            _hint    = string.Format("Параметри пошуку звернень", "");

            _image = Properties.Resources.Request;

            _filterList = new List <RequestListFilterEntity>();
            foreach (RequestListFilterEntity filter in _mainController.Filters)
            {
                _filterList.Add(filter.Clone());
            }
            if (_filterOrigin == null)
            {
                Filter = RequestListFilterEntity.Create();
            }
            else
            {
                Filter = _filterOrigin.Clone();
            }
        }
示例#3
0
        RequestListFilterEntity SettingToFilter(FilterEntitySetting setting)
        {
            RequestListFilterEntity filter = RequestListFilterEntity.Create();

            filter.CloneKey      = new IdentKey(setting.CloneKey);
            filter.FilterName    = setting.FilterName;
            filter.StartDateTime = setting.StartDateTime;
            filter.StopDateTime  = setting.StopDateTime;

            UserEntity user = _nsiService.GetUserById(setting.ResponseId);

            filter.ResponseUser = user == null?UserEntity.Create() : user;

            user = _nsiService.GetUserById(setting.CreatorId);
            filter.CreatorUser = user == null?UserEntity.Create() : user;

            AppEntity app = _nsiService.GetAppById(setting.ApplicationId);

            filter.Application = app == null?AppEntity.Create() : app;

            OrgEntity org = _nsiService.GetOrgById(setting.OrganizationId);

            filter.Organization = org == null?OrgEntity.Create() : org;

            filter.Comments     = setting.Comments;
            filter.Subject      = setting.Subject;
            filter.Contact      = setting.Contact;
            filter.TagIdList    = setting.TagIdList;
            filter.StatusIdList = setting.StatusIdList;

            return(filter);
        }
示例#4
0
        public BindingCollection <RequestEntity> GetRequstList(RequestListFilterEntity filter)
        {
            if (filter == null)
            {
                throw new ArgumentNullException("Filter can not be null.");
            }
            _logger.Debug("Params: Filter = {0};", filter.ToInternalString());

            return(_dbAccessor.GetRequests(filter));
        }
示例#5
0
        public void OnDeleteFilter(RequestListFilterEntity filter)
        {
            int i = _requestFilterList.IndexOf(filter);

            if (i == -1)
            {
                throw new ChipAndDaleException("Фільтр не знайдений");
            }
            _requestFilterList.Remove(filter);
        }
示例#6
0
        RequestListViewModel SettingToRequestListVM(ListViewModelSetting setting)
        {
            FilterEntitySetting filterSetting = new FilterEntitySetting();

            LoadSetting <FilterEntitySetting>(setting.CurrentFilterName, filterSetting);

            RequestListFilterEntity filter    = SettingToFilter(filterSetting);
            RequestListViewModel    viewModel = _mainController.CreateRequestListViewModel(filter, setting.ReadOnly);

            viewModel.InitialCurrentRequestId = setting.CurrentRequestId;

            return(viewModel);
        }
示例#7
0
        public void OnCloneFilter(RequestListFilterEntity filter)
        {
            if (filter == null)
            {
                return;
            }

            RequestListFilterEntity newFilter = filter.Clone();

            newFilter.FilterName = Filter.FilterName;
            newFilter.CloneKey   = Filter.CloneKey;
            newFilter.Id         = Filter.Id;
            Filter = newFilter;
        }
示例#8
0
        private void FilterListRepositoryLookUpEdit_EditValueChanged(object sender, EventArgs e)
        {
            LookUpEdit editor = sender as LookUpEdit;

            if (editor == null)
            {
                return;
            }

            RequestListFilterEntity filter = editor.EditValue as RequestListFilterEntity;

            if (filter != null)
            {
                _viewModel.Filter = filter;
            }
        }
示例#9
0
        public IEnumerable <RequestEntity> OpenRequstListDialog(RequestListFilterEntity filter)
        {
            _logger.Debug("OpenRequstListDialog.");
            _logger.Debug("Params: Filter = {0}.", filter.ToStateString());

            using (RequestListViewModel viewModel = CreateRequestListViewModel(filter, true))
            {
                if (_dialogMgr.ShowModal(viewModel) == DialogResult.OK)
                {
                    return(viewModel.SelectRequestList);
                }
                else
                {
                    return(new List <RequestEntity>());
                }
            }
        }
示例#10
0
        public RequestListFilterEntity OpenRequestListFilterEditDialog(RequestListFilterEntity filter)
        {
            _logger.Debug("OpenRequestListFilterEditDialog.");
            _logger.Debug("Params: Filter = {0}.", filter.ToStateString());

            using (RequestFilterViewModel viewModel = CreateRequestFilterViewModel(filter))
            {
                if (_dialogMgr.ShowModal(viewModel) == DialogResult.OK)
                {
                    return(viewModel.Filter);
                }
                else
                {
                    return(null);
                }
            }
        }
示例#11
0
        public void OpenRequestListPage(RequestListFilterEntity filter)
        {
            _logger.Debug("OpenRequestListPage.");
            _logger.Debug("Params: Filter = {0}.", filter.ToStateString());

            RequestListViewModel viewModel = null;

            try
            {
                viewModel = CreateRequestListViewModel(filter, false);
                ShowRequestListViewModel(viewModel);
            }
            catch (Exception ex)
            {
                InvokerHlp.WithExceptionSuppress(() => { _requestListViewModelList.Remove(viewModel.Ident); }, _logger);
                throw ex;
            }
        }
示例#12
0
        public RequestFilterViewModel(RequestListFilterEntity filter, IMainController mainController)
        {
            _logMgr          = ServiceMgr.Current.GetInstance <ILogMgr>();
            _commonDbService = ServiceMgr.Current.GetInstance <ICommonService>();
            _nsiService      = ServiceMgr.Current.GetInstance <INsiService>();
            _messageBoxMgr   = ServiceMgr.Current.GetInstance <IMessageBoxMgr>();
            _logger          = _logMgr.GetLogger("RequestListFilterViewModel");
            _logger.Debug("Create.");
            _logger.Debug("Interfaces: ICommonDbService = {0}; INsiService = {1}; IMessageBoxMgr = {2}.", _commonDbService.ToStateString(), _nsiService.ToStateString(), _messageBoxMgr.ToStateString());

            if (mainController == null)
            {
                throw new ArgumentNullException("MainController param can not be null.");
            }
            _mainController = mainController;
            _filterOrigin   = filter;

            InitView();
        }
示例#13
0
 void EditFilter(RequestListFilterEntity filter)
 {
     try
     {
         RequestListFilterEntity newFilter = null;
         newFilter = _mainController.OpenRequestListFilterEditDialog(filter);
         if (newFilter != null)
         {
             _mainController.OnSaveFilter(newFilter);
             InitFilterList();
             Filter = newFilter;
             OnRefreshRequestList();
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex);
         _messageBoxMgr.ShowMessageWithDetail(LogLevel.Error, "Помилка під час редагування фільтру.", Hlp.GetExceptionText(ex), "Помилка", null);
     }
 }
示例#14
0
        FilterEntitySetting FilterToSetting(RequestListFilterEntity filter)
        {
            FilterEntitySetting setting = new FilterEntitySetting();

            setting.CloneKey       = filter.CloneKey.ToGuid();
            setting.FilterName     = filter.FilterName;
            setting.StartDateTime  = filter.StartDateTime;
            setting.StopDateTime   = filter.StopDateTime;
            setting.OrganizationId = filter.Organization.Id;
            setting.ApplicationId  = filter.Application.Id;
            setting.ResponseId     = filter.ResponseUser.Id;
            setting.CreatorId      = filter.CreatorUser.Id;
            setting.TagIdList      = filter.TagIdList;
            setting.Subject        = filter.Subject;
            setting.Comments       = filter.Comments;
            setting.Contact        = filter.Contact;
            setting.StatusIdList   = filter.StatusIdList;

            return(setting);
        }
示例#15
0
 public bool IsRequestFiltered(RequestEntity request, RequestListFilterEntity filter)
 {
     if (request == null)
     {
         return(true);
     }
     if (filter == null)
     {
         return(false);
     }
     return(!(StrHlp.Contains(request.Id, filter.RequestId) &&
              DateHlp.Between(request.ReqDateTime, filter.StartDateTime, filter.StopDateTime) &&
              Hlp.EqualsFilter <UserEntity>(request.CreatorUser, filter.CreatorUser) &&
              Hlp.EqualsFilter <UserEntity>(request.ResponseUser, filter.ResponseUser) &&
              Hlp.EqualsFilter <OrgEntity>(request.Organization, filter.Organization) &&
              Hlp.EqualsFilter <AppEntity>(request.Application, filter.Application) &&
              StrHlp.Contains(request.Subject, filter.Subject) &&
              StrHlp.Contains(request.Comments, filter.Comments) &&
              StrHlp.Contains(request.Contact, filter.Contact) &&
              (string.IsNullOrEmpty(filter.StatusIdList) || StrHlp.Contains(filter.StatusIdList, request.StateId.ToStateString()))));
     //(string.IsNullOrEmpty(filter.TagList) || StrHlp.Contains(filter.TagList, request.Ta.ToStateString()));
 }
示例#16
0
 public RequestListFilterEntity OnSaveFilter(RequestListFilterEntity filter)
 {
     if (filter.IsNewEntity)
     {
         RequestListFilterEntity newFilter = filter.Clone();
         newFilter.Id         = "-";
         newFilter.IsPersisit = true;
         _requestFilterList.Add(newFilter);
         return(newFilter);
     }
     else
     {
         int i = _requestFilterList.IndexOf(filter);
         if (i == -1)
         {
             throw new ChipAndDaleException("Фільтр не знайдений");
         }
         _requestFilterList[i]            = filter.Clone();
         _requestFilterList[i].IsPersisit = true;
         return(_requestFilterList[i]);
     }
 }
示例#17
0
        public BindingCollection <RequestEntity> GetRequests(RequestListFilterEntity filter)
        {
            _logger.Debug("GetRequests.");
            if (filter == null)
            {
                throw new ArgumentNullException("Filter param can not be null.");
            }
            _logger.Debug("Params: filter = {0};", filter.ToInternalString());

            BindingCollection <RequestEntity> result = new BindingCollection <RequestEntity>();

            _commonDbService.SetParam("FROM", filter.StartDateTimeString);
            _commonDbService.SetParam("UNTIL", filter.StopDateTimeString);
            _commonDbService.SetParam("STATUS", filter.StatusIdList);
            _commonDbService.SetParam("ID_ORG", filter.OrganizationIdtString);
            _commonDbService.SetParam("ID_COMP", filter.ApplicationIdtString);
            _commonDbService.SetParam("ID_USER", filter.UserIdtString);
            _commonDbService.SetParam("ID_CREATOR", filter.CreatorIdtString);
            _commonDbService.SetParam("TAGS", filter.TagIdList);

            OraCommand command = new OraCommand("REQ_PKG.SEL_REQ");

            command.CommandType = CommandType.StoredProcedure;
            OraParamRefCursor refCur = new OraParamRefCursor("p_req_cr", ParameterDirection.Output);

            command.AddDBParam(refCur);
            Execute(command);

            if (refCur.ParamValue != null)
            {
                foreach (DataRow reqRow in refCur.ParamValue.Rows)
                {
                    result.Add(ToRequest(reqRow));
                }
            }

            return(result);
        }
示例#18
0
        public RequestListViewModel(RequestListFilterEntity filter, IMainController mainController, bool readOnly)
            : base() 
        {
            _logMgr = ServiceMgr.Current.GetInstance<ILogMgr>();
            _commonDbService = ServiceMgr.Current.GetInstance<ICommonService>();
            _nsiService = ServiceMgr.Current.GetInstance<INsiService>();
            _viewFormMgr = ServiceMgr.Current.GetInstance<IViewFormMgr>();
            _messageBoxMgr = ServiceMgr.Current.GetInstance<IMessageBoxMgr>();
            _eventMgr = ServiceMgr.Current.GetInstance<IEventMgr>();
            _logger = _logMgr.GetLogger("RequestListViewModel");
            _logger.Debug("Create.");
            _logger.Debug("Interfaces: ICommonDbService = {0}; INsiService = {1}; IViewFormMgr = {2}; IMessageBoxMgr = {3}; IEventMgr = {4}", _commonDbService.ToStateString(), _nsiService.ToStateString(), _viewFormMgr.ToStateString(), _messageBoxMgr.ToStateString(), _eventMgr.ToStateString());                       
            
            if (mainController == null) throw new ArgumentNullException("MainController param can not be null.");
            _mainController = mainController;            
            _readOnly = readOnly;
            _filterList = new List<RequestListFilterEntity>();            

            InitView();

            if (filter == null) Filter = Filters[0];
            else Filter = filter;            
        }
示例#19
0
        private void FilterLookUpEdit_EditValueChanged(object sender, EventArgs e)
        {
            RequestListFilterEntity filter = FilterLookUpEdit.EditValue as RequestListFilterEntity;

            _viewModel.OnCloneFilter(filter);
        }
示例#20
0
        public RequestListViewModel CreateRequestListViewModel(RequestListFilterEntity filter, bool readOnly)
        {
            RequestListViewModel viewModel = new RequestListViewModel(filter, this, readOnly);

            return(viewModel);
        }
示例#21
0
 internal void InitFrom(RequestListFilterEntity filter)
 {
 }
示例#22
0
        public RequestFilterViewModel CreateRequestFilterViewModel(RequestListFilterEntity filter)
        {
            RequestFilterViewModel viewModel = new RequestFilterViewModel(filter, this);

            return(viewModel);
        }