Example #1
0
        public async Task <ValidationResult> ValidData(IEnumerable <string> data)
        {
            var result = new ValidationResult();

            foreach (var record in data.RemoveDuplicates().Select((value, i) => new { i, value }))
            {
                if (record.value.IsValid(out var date, out var marketPrice))
                {
                    var validRecord = new InsertDataModel
                    {
                        Date           = date,
                        MarketPriceEX1 = marketPrice
                    };
                    OnValidRecord?.Invoke(this, new ValidRecordEventArgs
                    {
                        InsertData = validRecord,
                        Row        = record.i
                    });
                    result.ValidRecord.Add(validRecord);
                }
                else
                {
                    result.MalformedRecordLine.Add(record.i);
                    OnMalformedRecord?.Invoke(this, record.i);
                }
            }

            return(await Task.FromResult(result));
        }
Example #2
0
        public async Task Insert(InsertDataModel model)
        {
            await _context.MarketDatas.AddAsync(new MarketData
            {
                Date           = model.Date,
                MarketPriceEX1 = model.MarketPriceEX1
            });

            await _context.SaveChangesAsync();
        }
Example #3
0
        public async Task InsertRecord(InsertDataModel model)
        {
            if (!_repository.Exists(y => model.Date == y.Date && model.MarketPriceEX1 == y.MarketPriceEX1))
            {
                await _repository.Insert(model);

                OnInsertRecord?.Invoke(this, new List <InsertDataModel> {
                    model
                });
            }
        }