コード例 #1
0
        public void Should_CreateNewAccountEntity()
        {
            // Arrange
            const long tenantId       = 99;
            var        openedDateTime = DateTime.Now;
            var        uit            = new AccountCm
            {
                Description = "description",
                Name        = "name",
                Type        = Account.AccountTaxonomy.Current
            };

            // Act
            var result = uit.ToEntity(tenantId, openedDateTime);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(0, result.Id);
            Assert.AreEqual(tenantId, result.TenantId);
            Assert.IsFalse(result.IsDeleted);
            Assert.AreEqual(uit.Name, result.Name);
            Assert.AreEqual(uit.Description, result.Description);
            Assert.AreEqual(uit.Type, result.Type);
            Assert.AreEqual(openedDateTime, result.OpenDate);
            Assert.IsNull(result.CloseDate);
        }
コード例 #2
0
        /// <summary>
        /// Insert a new account
        /// </summary>
        /// <param name="tenantId">a tenant</param>
        /// <param name="userId">a user</param>
        /// <param name="account"></param>
        /// <returns>a read-only account model</returns>
        public async Task <AccountRm> InsertAsync(long tenantId, long userId, AccountCm account)
        {
            var msg = "Insert" + ". " +
                      string.Format("tenantId={0}, userId={1}, account={2}", tenantId, userId, Serialization.Serialize(account));

            try
            {
                Log.Debug(msg);
                // create an entity
                var e = account.ToEntity(tenantId, DateTime.Now);
                await Repository.InsertAsync(userId, e);

                // return a account read-only view model
                return(AccountRm.From(e));
            }
            catch (Exception exception)
            {
                Log.Error(msg, exception);
                throw new ApplicationException("Failed to insert " + account.Description + " " + FriendlyName);
            }
        }
コード例 #3
0
        public async Task <IHttpActionResult> Post(AccountCm payload)
        {
            var vm = await _accountsService.InsertAsync(TenantId, UserId, payload);

            return(Ok(vm));
        }