private async Task <GetJournalListResposne> LoadJournalEntries(GetJournalListRequest req, List <JournalEntryModel> retList) { GetJournalListResposne resp = new GetJournalListResposne() { JournalEntries = retList }; if (req.JournalEntryId > 0) { resp.CurrentJournalEntry = retList.FirstOrDefault(x => x.JournalEntryId == req.JournalEntryId); } else { if (retList.Count > 0) { resp.CurrentJournalEntry = retList[0]; } } //create sample records for offshore //TODO: WILL NEED TO POPULATE CORRECTLY int recCounter = 0; foreach (JournalEntryModel jem in resp.JournalEntries) { //add 3 test transactions for (int i = 0; i < 3; i++) { recCounter = recCounter + 1; if (jem.SettledTransactions == null) { jem.SettledTransactions = new List <SettledTransactionModel>(); } SettledTransactionModel sem = new SettledTransactionModel(); sem.PaymentNumber = "SME00000" + recCounter.ToString(); sem.SettledDate = new DateTime(2018, 1, 15); sem.SettledTransactionId = recCounter; sem.TransactionAmount = (recCounter * 110) + (.23m * decimal.Parse(recCounter.ToString())); sem.TransactionDesc = "Test Trans " + recCounter.ToString(); jem.SettledTransactions.Add(sem); } } return(resp); }
public async Task <IActionResult> SaveJournalEntryList([FromBody] SaveJournalEntryListRequest req) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } PortalUser user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken); if (user == null) { return(NotFound()); } GetJournalListResposne resp = new GetJournalListResposne(); resp.JournalEntries = new List <JournalEntryModel>(); using (var transaction = await repository.StartTransaction()) { try { foreach (var model in req.JournalEntries) { resp.JournalEntries.Add(await SaveJournalEntryModel(user, req.JournalTypeId, ConvertJSONToModel(model, (int)JournalType.Enum.Expenses), repository)); } transaction.Commit(); } catch (Exception e) { transaction.Rollback(); return(NotFound(e)); } } return(Ok(resp)); }