예제 #1
0
        public async Task <IActionResult> CreateTransactionCode([FromBody] CodeTransactionDTO codeTransactionDTO)
        {
            try
            {
                int id = await this._transactionCodeService.AddTransactionCode(codeTransactionDTO);

                return(Ok(id));
            }
            catch (Exception e)
            {
                return(Problem(e.Message));
            }
        }
예제 #2
0
        public async Task <int> AddTransactionCode(CodeTransactionDTO codeTransactionDTO)
        {
            _cache.ClearValues(KEY_CACHE_CODES);

            string transactionCodeFormat = codeTransactionDTO.Code.ToUpperInvariant().Trim();

            HashSet <string> codesAvailables = this._contextDB.MCodeTransaction.Select(x => x.Code).ToHashSet();

            if (codesAvailables.Contains(transactionCodeFormat))
            {
                throw new Exception($"The code {transactionCodeFormat} already exist!");
            }

            MCodeTransaction mCodeTransaction = new MCodeTransaction()
            {
                Code = transactionCodeFormat
            };

            await this._contextDB.MCodeTransaction.AddAsync(mCodeTransaction);

            await this._contextDB.Context.SaveChangesAsync();

            return(mCodeTransaction.ID);
        }