Skip to content
Snippets Groups Projects

Sprint/2021 19

Merged Petar Hristov requested to merge Sprint/2021-19 into master
1 file
+ 17
4
Compare changes
  • Side-by-side
  • Inline
@@ -131,7 +131,7 @@ namespace Coscine.Database.Models
});
}
public Project StoreFromObject(ProjectObject projectObject, User user, IDictionary<string, int> defaultQuota)
public Project StoreFromObject(ProjectObject projectObject, User user, IEnumerable<ProjectQuota> 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<string, int> defaultQuotas)
public void SetQuotas(Project project, IEnumerable<ProjectQuota> 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;
maxQuota = 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
});
}
}
Loading