private async Task <T> Update <T>(OrganizationAccountManagerInput input) where T : OrganizationAccountManagerOutput { _logger.LogTrace( GetLogMessage( $@"OrganizationId: {input.OrganizationId}, AccountManagerId: {input.AccountManagerId}")); var entity = await Repository .Queryable() .FindById(input.AccountManagerId, input.OrganizationId) .FirstAsync(); entity.InjectFrom(input); entity.Updated = DateTimeOffset.UtcNow; Repository.UpdateAsync(entity, true).Wait(); var output = await GetById <T>(input); await Task.Run(() => { RaiseEvent(new OrganizationAccountManagerUpdatedEvent { OrganizationAccountManager = output }); }); return(output); }
public async Task <IActionResult> UpdateAccountManager([FromRoute] Guid organizationId, [FromRoute] Guid personId, [FromBody] OrganizationAccountManagerInput input) { var result = await _accountManagerService .Update <AgencyOwnerOrganizationAccountManagerOutput>(_agencyOwner, input); return(Ok(result)); }
public async Task <T> Create <T>(OrganizationAccountManagerInput model) where T : OrganizationAccountManagerOutput { _logger.LogTrace( GetLogMessage($@"OrganizationId: {model.OrganizationId}, AccountManagerId: {model.AccountManagerId}")); var entity = await Repository.Queryable().IgnoreQueryFilters() .FirstOrDefaultAsync(x => x.OrganizationId == model.OrganizationId && x.AccountManagerId == model.AccountManagerId); if (entity != null) { if (entity.IsDeleted) { entity.IsDeleted = false; entity.UpdatedById = _userInfo.UserId; entity.Updated = DateTimeOffset.UtcNow; entity.InjectFrom(model); await Repository.UpdateAsync(entity, true); } } else { entity = new OrganizationAccountManager { OrganizationId = model.OrganizationId, AccountManagerId = model.AccountManagerId, AccountManagerStream = model.AccountManagerStream, Created = DateTimeOffset.UtcNow, Updated = DateTimeOffset.UtcNow, UpdatedById = _userInfo.UserId, CreatedById = _userInfo.UserId }.InjectFrom(model) as OrganizationAccountManager; await Repository.InsertAsync(entity, true); } var output = await GetById <T>(model.AccountManagerId, model.OrganizationId); await Task.Run(() => { RaiseEvent(new OrganizationAccountManagerCreatedEvent { OrganizationAccountManager = output }); }); return(output); }
public Task <T> Update <T>(IOrganizationAccountManager am, OrganizationAccountManagerInput input) where T : OrganizationAccountManagerOutput { input.OrganizationId = am.OrganizationId; return(Update <T>(input)); }
public Task <T> Update <T>(IAgencyOwner ao, OrganizationAccountManagerInput input) where T : OrganizationAccountManagerOutput { input.OrganizationId = ao.OrganizationId; return(Update <T>(input)); }
public Task <T> Create <T>(IAgencyOwner ao, OrganizationAccountManagerInput model) where T : OrganizationAccountManagerOutput { model.OrganizationId = ao.OrganizationId; return(Create <T>(model)); }
public Task <T> GetById <T>(OrganizationAccountManagerInput input) where T : OrganizationAccountManagerOutput { return(GetById <T>(input.AccountManagerId, input.OrganizationId)); }