public void GetTotalPages(QuoteFilter filter) { using var context = Context(); filter.TotalRow = context.Quote.Where(u => u.OrganisationId == filter.OrganisationId && (filter.StatusId == 0 || u.StatusId == filter.StatusId) && (filter.CustomerId == 0 || u.CustomerId == filter.CustomerId) && (u.StatusId != (int)QuoteEnum.Delete) && ( (filter.DateTypeFilter.Id == (int)QuoteFilterEnum.All && (filter.FromDate == null || u.Date >= filter.FromDate || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate || u.ExpireDate <= filter.ToDate)) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Date && (filter.FromDate == null || u.Date >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate) ) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Expire && (filter.FromDate == null || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.ExpireDate <= filter.ToDate) ) ) && (string.IsNullOrEmpty(filter.SearchText) || u.Number.Contains(filter.SearchText)) ).Count(); }
public List <QuoteStatus> GetQuoteStatuses(QuoteFilter filter) { using var context = Context(); var totalQuote = context.Quote.Where(u => u.OrganisationId == filter.OrganisationId && (filter.CustomerId == 0 || u.CustomerId == filter.CustomerId) && ( (filter.DateTypeFilter.Id == (int)QuoteFilterEnum.All && (filter.FromDate == null || u.Date >= filter.FromDate || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate || u.ExpireDate <= filter.ToDate)) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Date && (filter.FromDate == null || u.Date >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate) ) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Expire && (filter.FromDate == null || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.ExpireDate <= filter.ToDate) ) ) && (u.StatusId != (int)QuoteEnum.Delete) && (string.IsNullOrEmpty(filter.SearchText) || u.Number.Contains(filter.SearchText)) ).GroupBy(u => u.StatusId) .Select(u => new { StatusId = u.Key, Count = u.Count() }).ToList(); var status = context.QuoteStatus.Where(u => u.Id != (int)QuoteEnum.Delete).ToList().Select(u => new QuoteStatus { Id = u.Id, Name = IsKhmer?u.NameKh: u.Name, Count = totalQuote.Any(t => t.StatusId == u.Id) ? totalQuote.FirstOrDefault(t => t.StatusId == u.Id).Count : 0 }).ToList(); status.Insert(0, new QuoteStatus { Id = 0, Name = AppResource.GetResource("All"), Count = totalQuote.Sum(u => u.Count) }); return(status); }
private void StartRoutine(object ptrs) { // получение котировок filter = new QuoteFilter(); var feederType = AppConfig.GetStringParam("Feeder", "Test"); if (feederType.ToUpper() == "UDP") { MakeUDPFeeder(); } if (feederType.ToUpper() == "TCP") { MakeTCPFeeder(); } if (feederType.ToUpper() == "TEST") { MakeRandomFeeder(); } feeder.OnQuotesReceived += FeederOnQuotesReceived; indexMaker = new IndexMaker(); feeder.Start(); hostCache = new ServiceHost(QuoteStorageManager.Instance); try { hostNewsReceiver = new ServiceHost(NewsReceiver.Instance); } catch (Exception ex) { Logger.Error("hostNewsReceiver error", ex); } try { hostNewsStorage = new ServiceHost(NewsStorage.Instance); } catch (Exception ex) { Logger.Error("hostNewsStorage error", ex); } try { hostModuleController = new ServiceHost(ModuleStatusController.Instance); hostModuleController.Open(); } catch (Exception ex) { Logger.Error("Ошибка в ModuleController", ex); } try { hostCache.Open(); NewsReceiver.Instance.Start(); hostNewsReceiver.Open(); } catch (Exception ex) { Logger.Error("Ошибка старта менеджера котировок - новостей", ex); throw; } try { hostNewsStorage.Open(); } catch (Exception ex) { Logger.Error("Ошибка старта хранилища новостей", ex); throw; } try { BaseNewsDistributor.Instance.StartPolling(); } catch (Exception ex) { Logger.Error("Ошибка старта раздатчика котировок и новостей", ex); throw; } try { CandleStoreStream.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта потока сохранения котировок", ex); throw; } // стартовать раздачу котировок в MT4 if (distributeQuotesMt4) { try { Mt4Feeder.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта раздачи котировок в МТ4", ex); } } StartWebServer(); Logger.InfoFormat("Сервис запущен"); }
public IActionResult GetQuoteStatuses([FromBody] QuoteFilter filter) { filter.OrganisationId = quoteService.OrganisationId; return(Ok(quoteService.GetQuoteStatuses(filter))); }
public IActionResult GetTotalPages([FromBody] QuoteFilter filter) { filter.OrganisationId = quoteService.OrganisationId; quoteService.GetTotalPages(filter); return(Ok(filter)); }
public async Task <IEnumerable <Quotation> > GetQuotes(QuoteFilter filter) { var result = await AXClient.Instance.QuotationsAsync(filter.ToQueryContext()); return(result?.Data ?? new List <Quotation>()); }
public List <Quote> GetQuotes(QuoteFilter filter) { var khmer = IsKhmer; using var context = Context(); var quotes = context.Quote.Where(u => u.OrganisationId == filter.OrganisationId && (filter.StatusId == 0 || u.StatusId == filter.StatusId) && (filter.CustomerId == 0 || u.CustomerId == filter.CustomerId) && ( (filter.DateTypeFilter.Id == (int)QuoteFilterEnum.All && (filter.FromDate == null || u.Date >= filter.FromDate || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate || u.ExpireDate <= filter.ToDate)) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Date && (filter.FromDate == null || u.Date >= filter.FromDate) && (filter.ToDate == null || u.Date <= filter.ToDate) ) || ( filter.DateTypeFilter.Id == (int)QuoteFilterEnum.Expire && (filter.FromDate == null || u.ExpireDate >= filter.FromDate) && (filter.ToDate == null || u.ExpireDate <= filter.ToDate) ) ) && (u.StatusId != (int)QuoteEnum.Delete) && (string.IsNullOrEmpty(filter.SearchText) || u.Number.Contains(filter.SearchText)) ).OrderByDescending(u => u.Number) .Skip((filter.Page - 1) * filter.PageSize) .Take(filter.PageSize) .Select(u => new Quote { AcceptedBy = u.AcceptedBy, CustomerId = u.CustomerId, StatusId = u.StatusId, AcceptedDate = u.AcceptedDate, BaseCurrencyExchangeRate = u.BaseCurrencyExchangeRate, Created = u.Created, CreatedBy = u.CreatedBy, Currency = new Currency { Code = u.Currency.Code, Name = u.Currency.Name, Id = u.CurrencyId, Symbole = u.Currency.Symbole, }, CurrencyId = u.CurrencyId, Customer = new Customer { Id = u.CustomerId, DisplayName = u.Customer.DisplayName }, Date = u.Date, DeclinedBy = u.DeclinedBy, Id = u.Id, DeclinedDate = u.DeclinedDate, ExpireDate = u.ExpireDate, InvoicedBy = u.InvoicedBy, InvoicedDate = u.InvoicedDate, Note = u.Note, Number = u.Number, OrganisationId = u.OrganisationId, RefNo = u.RefNo, Status = new QuoteStatus { Id = u.StatusId, Name = IsKhmer?u.Status.NameKh: u.Status.Name }, TaxCurrencyExchangeRate = u.TaxCurrencyExchangeRate, Total = u.Total, TotalIncludeTax = u.TotalIncludeTax }).ToList(); return(quotes); }