Example #1
0
 public ActionResult CreateLedger(LedgerEntity ledger)
 {
     if (ModelState.IsValid)
     {
         _db.Execute(new CreateLedgerCommand(ledger));
         return(new HttpStatusCodeResult(HttpStatusCode.Created, "it worked"));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Errors"));
 }
        private async Task DoTimer(ITimerTrigger timer, TimerTriggeredHandlerArgs args, CancellationToken ct)
        {
            if (!StartWork())
            {
                return;
            }

            try
            {
                using (var context = CreateContext())
                {
                    var ledgerRequest = new LedgersRequest {
                        Limit = 10
                    };
                    var data = await _b2C2RestClient.GetLedgerHistoryAsync(ledgerRequest, ct);

                    var added = 0;
                    do
                    {
                        added = 0;
                        foreach (var log in data.Data)
                        {
                            foreach (var assetMapping in _assetMappings)
                            {
                                log.Currency = log.Currency.Replace(assetMapping.Key, assetMapping.Value);
                            }

                            var item = await context.Ledgers.FirstOrDefaultAsync(
                                e => e.TransactionId == log.TransactionId, ct);

                            if (item != null)
                            {
                                continue;
                            }

                            item = new LedgerEntity(log);
                            context.Ledgers.Add(item);
                            added++;
                        }

                        await context.SaveChangesAsync(ct);

                        ledgerRequest.Cursor = data.Next;

                        data = await _b2C2RestClient.GetLedgerHistoryAsync(ledgerRequest, ct);
                    } while (added > 0);
                }
            }
            finally
            {
                StopWork();
            }
        }
Example #3
0
        public ActionResult UpdateLedger(int ledger, string ledgerDesc, bool isActive)
        {
            var ledgerIn = new LedgerEntity {
                Ledger = ledger, LedgerDesc = ledgerDesc, IsActive = isActive
            };

            if (!ModelState.IsValid || ledgerIn.Ledger <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Errors"));
            }

            _db.Execute(new UpdateLedgerCommand(ledgerIn));

            var model = _db.Query(new GetLedgerByIdQuery(ledgerIn.Ledger));

            return(PartialView("GetLedgerRow", model));
        }
        private async Task DoTimer(ITimerTrigger timer, TimerTriggeredHandlerArgs args, CancellationToken ct)
        {
            if (!StartWork())
            {
                return;
            }

            try
            {
                using (var context = CreateContext())
                {
                    var offset = 0;
                    var data   = await _b2C2RestClient.GetLedgerHistoryAsync(offset, 10, ct);

                    var added = 0;
                    do
                    {
                        added = 0;
                        foreach (var log in data)
                        {
                            var item = await context.Ledgers.FirstOrDefaultAsync(
                                e => e.TransactionId == log.TransactionId, ct);

                            if (item != null)
                            {
                                continue;
                            }

                            item = new LedgerEntity(log);
                            context.Ledgers.Add(item);
                            added++;
                        }

                        await context.SaveChangesAsync(ct);

                        offset += data.Count;
                        data    = await _b2C2RestClient.GetLedgerHistoryAsync(offset, 10, ct);
                    } while (added > 0);
                }
            }
            finally
            {
                StopWork();
            }
        }
Example #5
0
 public CreateLedgerCommand(LedgerEntity ledger)
 {
     this.ledger = ledger;
 }