Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }