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);
        }