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);
        }
Exemple #2
0
        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));
        }