示例#1
0
        public async Task <AddTenantResultModel> AddTenant(TenantRequestModel requestModel)
        {
            var result = new AddTenantResultModel();

            var tenant = new Tenant()
            {
                Name     = requestModel.Name,
                HostName = requestModel.Domain,
                Theme    = requestModel.Theme
            };

            try
            {
                await _context.Tenants.AddAsync(tenant);

                await _context.SaveChangesAsync();

                var logo = await AddLogo(tenant.Id, requestModel.Logo);

                tenant.Logo = logo;

                _context.Tenants.Update(tenant);
                await _context.SaveChangesAsync();

                result.Success = true;
                result.Tenant  = tenant;
            }
            catch (Exception ex) {
                result.Success = false;
                result.Error   = $"Unhandled expection: {ex.Message}";
            }

            return(result);
        }
示例#2
0
 public static Tenant Map(TenantRequestModel tenantRequestModel)
 {
     return(new Tenant
     {
         id = Guid.NewGuid(),
         name = tenantRequestModel.Name,
         region = tenantRequestModel.Region,
         metadata = tenantRequestModel.Metadata
     });
 }
        public TenantRequest CopyFrom(TenantRequestModel r)
        {
            var req =
                new TenantRequest(
                    CopyFrom(r.TenantModel), r.Code, r.RequestStatus, r.DateCreated, r.ID)
            {
                RequestChanges = DeserializeEvents(r.RequestChanges),

                ServiceWorkOrderCount = r.ServiceWorkOrderCount,
            };

            return(req);
        }
示例#4
0
 public static void Map(TenantRequestModel tenantRequestModel, Tenant existingTenant)
 {
     existingTenant.name     = tenantRequestModel.Name;
     existingTenant.region   = tenantRequestModel.Region;
     existingTenant.metadata = tenantRequestModel.Metadata;
 }