Exemple #1
0
        public PagedList <AccountTransactionDto> GetAll(PagingParams pagingParams, SearchTransaction search, FilterObject filterObject)
        {
            var query = _context.AccountTransaction.AsNoTracking().Where(x =>
                                                                         (x.CustomerId == search.CustomerId) &&
                                                                         ((search.FromDate == null && search.ToDate == null) || (x.TransactionDate >= search.FromDate && x.TransactionDate <= search.ToDate)) &&
                                                                         (search.TransactionType == 0 || x.TransferType == search.TransactionType)
                                                                         ).Select(s => new AccountTransactionDto
            {
                Id              = s.Id,
                DrAmount        = s.DrAmount,
                CrAmount        = s.CrAmount,
                TransferText    = ((Enums.TransactionType)s.TransferType).ToDescription(),
                TransactionDate = s.TransactionDate,
                Amount          = (s.DrAmount - s.CrAmount) < 0 ? (s.DrAmount - s.CrAmount) * -1 : (s.DrAmount - s.CrAmount)
            });

            query = filterObject.FilterQuery <AccountTransactionDto>(query);

            var queryResult = query.Skip(pagingParams.PageSize * (pagingParams.PageNumber - 1)).Take(pagingParams.PageSize);

            var count = query.Count();
            var sum   = query.Sum(s => s.DrAmount - s.CrAmount);

            return(new PagedList <AccountTransactionDto>(queryResult, count, sum, pagingParams.PageNumber, pagingParams.PageSize));
        }
Exemple #2
0
        public G2SearchResultRegrouping(SearchTransaction searchTransaction, int waitResultTermined, bool peerFileCountFilterEnable) : base(searchTransaction, waitResultTermined, peerFileCountFilterEnable)
        {
            searchTransaction_ = searchTransaction;

            result_                    = new SearchResult(null, searchTransaction);
            waitResultTermined_        = waitResultTermined;
            peerFileCountFilterEnable_ = peerFileCountFilterEnable;
        }
        public G2SearchResultRegrouping(SearchTransaction searchTransaction, int waitResultTermined, bool peerFileCountFilterEnable)
            : base(searchTransaction,waitResultTermined,peerFileCountFilterEnable)
        {
            searchTransaction_ = searchTransaction;

            result_ = new SearchResult(null, searchTransaction);
            waitResultTermined_ = waitResultTermined;
            peerFileCountFilterEnable_ = peerFileCountFilterEnable;
        }
        public string getTermsByGUID(GUID g)
        {
            SearchTransaction transaction = null;

            if (SearchDB.TryGetValue(g, out transaction))
            {
                return(transaction.Keywords[0].KeywordName);
            }
            return("");
        }
        /**
         * Launch a new search on multiple hubs (starting)
         * SearchTransaction contains only one keyword
         * */
        public void NewSearch(SearchTransaction transaction)
        {
            // register query
            GUID searchGUID = GUID.generateGuid();

            SearchDB [searchGUID] = transaction;
            // creating a new search results object for this transaction, register the event that tell it has fins events and stores it
            G2SearchResults results = new G2SearchResults(transaction, searchGUID);

            SearchResults[searchGUID] = results;

            G2PacketQ2 q2 = CreateRequestPacket(searchGUID, transaction.Keywords[0].KeywordName);

            DispatchRequest(q2);
            results.StartSearchResult(); // start the threads only after all queries have been sent
            // because find new hub can take some time and the search may not last long after
        }
Exemple #6
0
        public void SearchKeyword(SearchTransaction searchTransaction)
        {
            queueKeywords = new System.Collections.Queue();

            try
            {

                //pour chaque keyword on lance le search dans un thread séparé
                foreach (Keyword k in searchTransaction.Keywords)
                {
                    KeywordCollection keyword = null;
                    SearchTransaction searchTrans = null;
                    keyword = new KeywordCollection();
                    keyword.Add(k);
                    searchTrans = new SearchTransaction(searchTransaction.IdTransaction, keyword, searchTransaction.MinFileFromPeerFilter, searchTransaction.IpAcceptRangeCollection);
                    queueKeywords.Enqueue(searchTrans);
                }

                // regrouping of results for this transaction
                // will raise the CompletResultHandler event when we received one results for each keyword
                G2SearchResultRegrouping searchRegrouping = new G2SearchResultRegrouping(searchTransaction, searchTransaction.Keywords.Count, false);
                searchRegrouping.CompletResult += new CompletResultHandler(searchRegrouping_CompletResult);
                searchResultRegroupingKeyword_.Add(searchRegrouping);

                while (queueKeywords.Count > 0)
                {

                    SearchTransaction srchTrans = (SearchTransaction)queueKeywords.Dequeue();

                    G2Log.Write("Starting Transaction - Keyword :" + srchTrans.Keywords[0].KeywordName.ToString());
                    searchManager.NewSearch(srchTrans);

                    // on attends 30sec ?????????????????????????
                    //System.Threading.Thread.Sleep(30000);
                }
            }
            catch
            {
               G2Log.Write("Erreur niveau manager.....");
            }
        }
Exemple #7
0
        public void SearchKeyword(SearchTransaction searchTransaction)
        {
            queueKeywords = new System.Collections.Queue();

            try
            {
                //pour chaque keyword on lance le search dans un thread séparé
                foreach (Keyword k in searchTransaction.Keywords)
                {
                    KeywordCollection keyword     = null;
                    SearchTransaction searchTrans = null;
                    keyword = new KeywordCollection();
                    keyword.Add(k);
                    searchTrans = new SearchTransaction(searchTransaction.IdTransaction, keyword, searchTransaction.MinFileFromPeerFilter, searchTransaction.IpAcceptRangeCollection);
                    queueKeywords.Enqueue(searchTrans);
                }

                // regrouping of results for this transaction
                // will raise the CompletResultHandler event when we received one results for each keyword
                G2SearchResultRegrouping searchRegrouping = new G2SearchResultRegrouping(searchTransaction, searchTransaction.Keywords.Count, false);
                searchRegrouping.CompletResult += new CompletResultHandler(searchRegrouping_CompletResult);
                searchResultRegroupingKeyword_.Add(searchRegrouping);



                while (queueKeywords.Count > 0)
                {
                    SearchTransaction srchTrans = (SearchTransaction)queueKeywords.Dequeue();

                    G2Log.Write("Starting Transaction - Keyword :" + srchTrans.Keywords[0].KeywordName.ToString());
                    searchManager.NewSearch(srchTrans);

                    // on attends 30sec ?????????????????????????
                    //System.Threading.Thread.Sleep(30000);
                }
            }
            catch
            {
                G2Log.Write("Erreur niveau manager.....");
            }
        }
        public G2SearchResults(SearchTransaction transaction, GUID guid)
        {
            SearchManager = G2SearchManager.Instance;
            ACKPacket = new List<G2PacketQA>();
            Transaction = transaction;
            SearchGUID = guid;
            TotalFiles = 0;
            SharedTotalFiles = 0;
            PeersBrowsed = new HashSet<Peer>();

            SearchedWord = transaction.Keywords[0].KeywordName;
            Buffer = new PacketBuffer();
            SearchRegrouping = new G2SearchResultRegrouping(transaction, 0, false);
            ContinueRegrouping = true;
            StartSearchTime = DateTime.Now;
            StopSearchTimer = new System.Timers.Timer((double)Settings.SEARCH_TIME_OUT_MS);
            StopSearchTimer.AutoReset = false;
            StopSearchTimer.Elapsed += new ElapsedEventHandler(SearchTimeOut);

            RegroupingThread = new Thread(new ThreadStart(SearchResultThread));
        }
Exemple #9
0
        public G2SearchResults(SearchTransaction transaction, GUID guid)
        {
            SearchManager    = G2SearchManager.Instance;
            ACKPacket        = new List <G2PacketQA>();
            Transaction      = transaction;
            SearchGUID       = guid;
            TotalFiles       = 0;
            SharedTotalFiles = 0;
            PeersBrowsed     = new HashSet <Peer>();

            SearchedWord              = transaction.Keywords[0].KeywordName;
            Buffer                    = new PacketBuffer();
            SearchRegrouping          = new G2SearchResultRegrouping(transaction, 0, false);
            ContinueRegrouping        = true;
            StartSearchTime           = DateTime.Now;
            StopSearchTimer           = new System.Timers.Timer((double)Settings.SEARCH_TIME_OUT_MS);
            StopSearchTimer.AutoReset = false;
            StopSearchTimer.Elapsed  += new ElapsedEventHandler(SearchTimeOut);


            RegroupingThread = new Thread(new ThreadStart(SearchResultThread));
        }
Exemple #10
0
        public IActionResult GetWithPagination([FromQuery] PagingParams pagingParams, [FromQuery] SearchTransaction search, [FromQuery] FilterObject filterObject)
        {
            search.CustomerId = Guid.Parse(AppClaim.CustomerId);
            var transaction = transactionService.GetAll(pagingParams, search, filterObject);

            if (transaction != null)
            {
                Response.Headers.Add("X-Pagination", transaction.GetHeader().ToJson());

                var request = _httpContextAccessor.HttpContext.Request;

                var response = new PaginationResponseModel <AccountTransactionDto>
                {
                    Paging   = transaction.GetHeader(),
                    Links    = PaginationResponseModel <AccountTransactionDto> .GetLinks(transaction, request),
                    Lists    = transaction.List,
                    TotalSum = transaction.TotaSum
                };

                return(Ok(response));
            }
            else
            {
                return(NotFound());
            }
        }
Exemple #11
0
 public int SearchKeyword(SearchTransaction searchTransaction)
 {
     manager_.SearchKeyword(searchTransaction);
     return 1;
 }
        /**
         * Launch a new search on multiple hubs (starting)
         * SearchTransaction contains only one keyword
         * */
        public void NewSearch(SearchTransaction transaction)
        {
            // register query
            GUID searchGUID = GUID.generateGuid ();
            SearchDB [searchGUID] = transaction;
            // creating a new search results object for this transaction, register the event that tell it has fins events and stores it
            G2SearchResults results = new G2SearchResults(transaction, searchGUID);

            SearchResults[searchGUID] = results;

            G2PacketQ2 q2 = CreateRequestPacket (searchGUID, transaction.Keywords[0].KeywordName);

            DispatchRequest (q2);
            results.StartSearchResult(); // start the threads only after all queries have been sent
            // because find new hub can take some time and the search may not last long after
        }
Exemple #13
0
 public int SearchKeyword(SearchTransaction searchTransaction)
 {
     manager_.SearchKeyword(searchTransaction);
     return(1);
 }