Skip to content
Snippets Groups Projects

Sprint/2021 19

1 file
+ 17
4
Compare changes
  • Side-by-side
  • Inline
+ 17
4
@@ -131,7 +131,7 @@ namespace Coscine.Database.Models
@@ -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())
if (!projectObject.Disciplines.Any() || !projectObject.Organizations.Any())
{
{
@@ -158,7 +158,7 @@ namespace Coscine.Database.Models
@@ -158,7 +158,7 @@ namespace Coscine.Database.Models
{
{
SetDisciplines(project, projectObject.Disciplines);
SetDisciplines(project, projectObject.Disciplines);
SetOrganizations(project, projectObject.Organizations);
SetOrganizations(project, projectObject.Organizations);
SetQuotas(project, defaultQuota);
SetQuotas(project, defaultProjectQuotas);
}
}
catch (Exception)
catch (Exception)
{
{
@@ -252,17 +252,30 @@ namespace Coscine.Database.Models
@@ -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();
ProjectQuotaModel projectQuotaModel = new ProjectQuotaModel();
ResourceTypeModel resourceTypeModel = new ResourceTypeModel();
ResourceTypeModel resourceTypeModel = new ResourceTypeModel();
 
foreach (var resourceType in resourceTypeModel.GetAll())
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
projectQuotaModel.Insert(new ProjectQuota
{
{
ProjectId = project.Id,
ProjectId = project.Id,
ResourceTypeId = resourceType.Id,
ResourceTypeId = resourceType.Id,
Quota = defaultQuotas != null && defaultQuotas.ContainsKey(resourceType.DisplayName) ? defaultQuotas[resourceType.DisplayName] : 0
Quota = quota,
 
MaxQuota = maxQuota
});
});
}
}
}
}
Loading