public async Task <IEnumerable <IProjectData> > GetProjectsAsync(Func <ProjectEntity, bool> where = null) { var partitionKey = ProjectEntity.GeneratePartitionKey(); var projects = await _projectsTableStorage.GetDataAsync(partitionKey); if (where != null) { projects = projects.Where(where); } return(projects.ToList().Select(c => { c = ChangeNullWithDefault(c); return c; })); }
public static ProjectEntity Create(IProjectData src) { var projectStatus = src.Status == Status.Draft ? Status.Draft.ToString() : Status.Initiative.ToString(); var result = new ProjectEntity { RowKey = src.Id, PartitionKey = GeneratePartitionKey(), Name = src.Name, Overview = src.Overview, Description = src.Description, ProjectStatus = projectStatus, Category = src.Category, Tags = src.Tags, CompetitionRegistrationDeadline = src.CompetitionRegistrationDeadline, ImplementationDeadline = src.ImplementationDeadline, VotingDeadline = src.VotingDeadline, BudgetFirstPlace = src.BudgetFirstPlace, BudgetSecondPlace = src.BudgetSecondPlace, Created = src.Created, LastModified = src.Created, AuthorId = src.AuthorId, AuthorFullName = src.AuthorFullName, AuthorIdentifier = src.AuthorIdentifier, ParticipantsCount = src.ParticipantsCount, ProgrammingResourceName = src.ProgrammingResourceName, ProgrammingResourceLink = src.ProgrammingResourceLink, UserAgent = src.UserAgent, SkipVoting = src.SkipVoting, SkipRegistration = src.SkipRegistration, PrizeDescription = src.PrizeDescription, StreamId = src.StreamId, NameTag = src.NameTag, InfoForKycUsers = src.InfoForKycUsers, DescriptionFooter = src.DescriptionFooter }; return(result); }