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); }
/// <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); } }