Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

961.nfa

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ProjectQuotasModel.cs 1.47 KiB
    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;
            }
    
            public override ITable<ProjectQuota> GetITableFromDatabase(CoscineDB db)
            {
                return db.ProjectQuotas;
            }
    
            public override void SetObjectId(ProjectQuota databaseObject, Guid id)
            {
                databaseObject.RelationId = id;
            }
        }
    }