From c13f8c62e3cf80f2b85ce826b9859712cf49994c Mon Sep 17 00:00:00 2001 From: "L. Ellenbeck" Date: Tue, 5 Oct 2021 15:34:09 +0200 Subject: [PATCH 1/2] Update: inclusion of max quota on project creation rpdm/issues#28 --- src/Database/Models/ProjectModel.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Database/Models/ProjectModel.cs b/src/Database/Models/ProjectModel.cs index b0deffe..69b7a5f 100644 --- a/src/Database/Models/ProjectModel.cs +++ b/src/Database/Models/ProjectModel.cs @@ -131,7 +131,7 @@ namespace Coscine.Database.Models }); } - public Project StoreFromObject(ProjectObject projectObject, User user, IDictionary defaultQuota) + public Project StoreFromObject(ProjectObject projectObject, User user, IEnumerable defaultProjectQuotas) { if (!projectObject.Disciplines.Any() || !projectObject.Organizations.Any()) { @@ -158,7 +158,7 @@ namespace Coscine.Database.Models { SetDisciplines(project, projectObject.Disciplines); SetOrganizations(project, projectObject.Organizations); - SetQuotas(project, defaultQuota); + SetQuotas(project, defaultProjectQuotas); } catch (Exception) { @@ -252,17 +252,30 @@ namespace Coscine.Database.Models } } - public void SetQuotas(Project project, IDictionary defaultQuotas) + public void SetQuotas(Project project, IEnumerable defaultProjectQuotas) { ProjectQuotaModel projectQuotaModel = new ProjectQuotaModel(); ResourceTypeModel resourceTypeModel = new ResourceTypeModel(); + foreach (var resourceType in resourceTypeModel.GetAll()) { + int quota = 0; + int maxQuota = 0; + + var tDefaultQuotas = defaultProjectQuotas.Where(x => x.ResourceTypeId == resourceType.Id); + + if (tDefaultQuotas.Any()) + { + quota = tDefaultQuotas.First().Quota; + quota = tDefaultQuotas.First().MaxQuota; + } + projectQuotaModel.Insert(new ProjectQuota { ProjectId = project.Id, ResourceTypeId = resourceType.Id, - Quota = defaultQuotas != null && defaultQuotas.ContainsKey(resourceType.DisplayName) ? defaultQuotas[resourceType.DisplayName] : 0 + Quota = quota, + MaxQuota = maxQuota }); } } -- GitLab From acdf02cc1304c2c5cad8f302e243e29f10057509 Mon Sep 17 00:00:00 2001 From: "L. Ellenbeck" Date: Tue, 5 Oct 2021 16:09:36 +0200 Subject: [PATCH 2/2] wrong value rpdm/issues#28 --- src/Database/Models/ProjectModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Models/ProjectModel.cs b/src/Database/Models/ProjectModel.cs index 69b7a5f..ba9390d 100644 --- a/src/Database/Models/ProjectModel.cs +++ b/src/Database/Models/ProjectModel.cs @@ -267,7 +267,7 @@ namespace Coscine.Database.Models if (tDefaultQuotas.Any()) { quota = tDefaultQuotas.First().Quota; - quota = tDefaultQuotas.First().MaxQuota; + maxQuota = tDefaultQuotas.First().MaxQuota; } projectQuotaModel.Insert(new ProjectQuota -- GitLab