public async Task <IHttpActionResult> Post(SubscriptionRequest subscriptionRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (await tenantPersister.Exists(subscriptionRequest.Email)) { return(Conflict()); } var tenant = new Tenant { Owner = subscriptionRequest.Email, Name = subscriptionRequest.Name, Level = (SubscriptionLevel.GetSupported(subscriptionRequest.Level) ?? SubscriptionLevel.Free).Code, }; await tenantPersister.Create(tenant); var subscription = new Subscription { Id = tenant.Id, Owner = tenant.Owner, Name = tenant.Name, Level = tenant.Level, StateLink = Url.Route("SubscriptionState", new { id = tenant.Id }) }; return(Content(HttpStatusCode.Accepted, subscription)); }
private string GetTenantDbEdition(string level) { var realLevel = SubscriptionLevel.GetSupported(level); if (SubscriptionLevel.Free.Equals(realLevel)) { return("Basic"); } if (SubscriptionLevel.Basic.Equals(realLevel)) { return("S0"); } if (SubscriptionLevel.Standard.Equals(realLevel)) { return("Basic"); } return("Basic"); }
private string GetTenantDbName(string level, Guid tenantId) { var realLevel = SubscriptionLevel.GetSupported(level); if (SubscriptionLevel.Free.Equals(realLevel)) { return("FreeShared"); } if (SubscriptionLevel.Basic.Equals(realLevel)) { return("StandardShared"); } if (SubscriptionLevel.Standard.Equals(realLevel)) { return(string.Concat("t", tenantId.ToString("N"))); } return("FreeShared"); }