public async Task <UserOrganizationApplication> Execute(CreateApplication command, CancellationToken cancellationToken = new CancellationToken()) { GetOrganization query = new GetOrganizationQuery(command.UserId, command.OrganizationId); Organization organization = await _organizationQueryHandler.Execute(query, cancellationToken); CloudTable appTable = _tableProvider.GetTable(_settings.ApplicationTableName); var appEntity = new ApplicationEntity(command.ApplicationName, command.Timestamp); await appTable.ExecuteAsync(TableOperation.Insert(appEntity), cancellationToken); var indexEntity = new OrganizationApplicationIndexEntity(organization.Id, organization.Name, appEntity.Id, command.ApplicationName, command.Timestamp); CloudTable indexTable = _tableProvider.GetTable(_settings.OrganizationApplicationIndexTableName); await indexTable.ExecuteAsync(TableOperation.Insert(indexEntity), cancellationToken); var userIndexEntity = new UserApplicationIndexEntity(command.UserId, organization.Id, organization.Name, appEntity.Id, command.ApplicationName, command.Timestamp); CloudTable userIndexTable = _tableProvider.GetTable(_settings.UserApplicationIndexTableName); await userIndexTable.ExecuteAsync(TableOperation.Insert(userIndexEntity), cancellationToken); return(userIndexEntity); }
public async Task <IEnumerable <OrganizationViewModel> > Handle(GetOrganizationQuery request, CancellationToken cancellationToken) { var response = new List <OrganizationViewModel>(); var organizationList = await _service.GetOrganizationList(); foreach (var organization in organizationList) { var totalCount = 0; var blackList = 0; var organizationViewModel = new OrganizationViewModel { Id = organization.Id, Name = organization.Name, Users = new List <UsersViewModel>() }; var userList = await _service.GetUsersList(organization.Id); foreach (var user in userList) { var uvm = new UsersViewModel { Email = user.Email, Id = user.Id }; var phoneList = await _service.GetPhonesList(user.OrganizationId, user.Id); var phoneCount = 0; foreach (var phone in phoneList) { phoneCount++; totalCount++; if (phone.Blacklist) { blackList++; } } uvm.PhoneCount = phoneCount; organizationViewModel.BlackListTotal = blackList; organizationViewModel.Users.Add(uvm); } organizationViewModel.TotalCount = totalCount; response.Add(organizationViewModel); } return(await Task.FromResult(response)); }
public async Task<IActionResult> GetOrganization(string id) { var command = new GetOrganizationQuery(id); return Ok(await Mediator.Send(command)); }
public async Task <Organization> GetOrganization([FromRoute] int id, CancellationToken cancellationToken) { var query = new GetOrganizationQuery(id); return(await _mediator.Send(query, cancellationToken)); }