コード例 #1
0
        public async Task <IActionResult> New(string moniker, [FromQuery][Required] string pocEmailAddress)
        {
            try
            {
                SystemTenant tenant = await _systemTenantsService.GetItemAsync(moniker);

                if (tenant.PointOfContact.EmailAddress.Address.Equals(pocEmailAddress, StringComparison.InvariantCultureIgnoreCase))
                {
                    tenant = await _systemTenantsService.ReplaceItemAsync(tenant);

                    ObjectResult statusCode = StatusCode(StatusCodes.Status200OK, "New token issued.");
                    var          response   = new { tenant.SetupToken, statusCode };

                    return(Ok(new { response }));
                }
                else
                {
                    ObjectResult statusCode = StatusCode(StatusCodes.Status400BadRequest, "Token NOT issued. PoC email address does not match.");
                    var          response   = new { statusCode };

                    return(BadRequest(new { response }));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest("Error generating new setup token. Error: " + ex.Message));
            }
        }
        public async Task <SystemTenant> Register(SystemTenantModel model)
        {
            SystemTenant tenant = null;

            //  If tenant exists in container, return.
            if (await TenantExists(model.Moniker))
            {
                throw new MonikerAlreadyExistsException(model.Moniker.ToUpper());
            }

            //  Get all lookup items.
            List <LookupGroupEntity> systemLookupItems = (await _systemLookupItemService.GetItems()).ToList();

            //  Get current subscription.
            Subscription currentSubscription = await _systemSubscriptionService.GetItem(model.SubscriptionId);

            //  Create and populate tenant object.
            tenant = new SystemTenant(model, currentSubscription, systemLookupItems);

            tenant = await _systemTenantManager.CreateItemAsync(tenant);

            return(tenant);
        }
        public async Task <SystemTenant> Register(string moniker)
        {
            SystemTenant tenant = null;

            //  If tenant exists in container, return.
            if (await TenantExists(moniker))
            {
                throw new MonikerAlreadyExistsException(moniker.ToUpper());
            }

            //  Get list of tenants from config file.
            var models = _configuration.GetSection("tenants").Get <List <SystemTenantModel> >();

            //  If tenant does not exist in config file, return.
            if (!models.Exists(x => string.Compare(x.Moniker, moniker, true) == 0))
            {
                throw new MonikerDoesNotExistException(moniker.ToUpper());
            }

            foreach (SystemTenantModel registrationModel in models)
            {
                //  Get all lookup items.
                List <LookupGroupEntity> systemLookupItems = (await _systemLookupItemService.GetItems()).ToList();

                //  Get current subscription.
                Subscription currentSubscription = await _systemSubscriptionService.GetItem(registrationModel.SubscriptionId);

                //  Create and populate tenant object.
                tenant = new SystemTenant(registrationModel, currentSubscription, systemLookupItems);

                tenant = await _systemTenantManager.CreateItemAsync(tenant);

                return(tenant);
            }

            return(tenant);
        }