diff --git a/src/Database/Models/ProjectQuotasModel.cs b/src/Database/Models/ProjectQuotasModel.cs index f8d21b867ef198342de8fe3f0465333d53b61d1d..5452a3cb38dd645b9351041d17df7ddc210d568a 100644 --- a/src/Database/Models/ProjectQuotasModel.cs +++ b/src/Database/Models/ProjectQuotasModel.cs @@ -1,12 +1,34 @@ using Coscine.Database.DataModel; +using Coscine.Database.ReturnObjects; using LinqToDB; using System; +using System.Collections.Generic; using System.Linq.Expressions; namespace Coscine.Database.Models { public class ProjectQuotaModel : DatabaseModel<ProjectQuota> { + public ProjectQuotaObject CreateReturnObjectFromDatabaseObject(ProjectQuota projectQuota) + { + if (projectQuota.ResourceType == null) + { + ResourceTypeModel resourceTypeModel = new ResourceTypeModel(); + projectQuota.ResourceType = resourceTypeModel.GetById(projectQuota.ResourceTypeId); + } + + return new ProjectQuotaObject( + projectQuota.RelationId, + projectQuota.ProjectId, + new ResourceTypeObject( + projectQuota.ResourceType.Id, + projectQuota.ResourceType.DisplayName, + projectQuota.ResourceType.Enabled + ), + projectQuota.Quota + ); + } + public override Expression<Func<ProjectQuota, Guid>> GetIdFromObject() { return (projectQuota) => projectQuota.RelationId;