Ejemplo n.º 1
0
        public static string AddFile(DataConfig providerConfig, POCO.System system, POCO.BasecampEntity sourceProject, POCO.BasecampDocument sourceDocument)
        {
            string partitionKey = GetBasecampBucketUrl(sourceProject.url);

            POCO.BasecampDocumentEntity docEntity = new BasecampDocumentEntity(Utils.CleanTableKey(partitionKey), Utils.CleanTableKey(sourceDocument.url));
            docEntity.CPStatus          = string.Empty;
            docEntity.ItemCount         = 0;
            docEntity.Name              = sourceDocument.title;
            docEntity.ServerRelativeUrl = sourceDocument.url;
            docEntity.TimeCreated       = sourceDocument.created_at.ToUniversalTime();
            docEntity.TimeLastModified  = sourceDocument.updated_at.ToUniversalTime();
            docEntity.Title             = sourceDocument.title;

            return(BasecampProject.AddFile(providerConfig, docEntity));
        }
Ejemplo n.º 2
0
        public static List <POCO.BasecampProjectEntity> GetProjects(DataConfig providerConfig, POCO.System system, POCO.BasecampEntity basecampProject)
        {
            List <Filter> filters  = new List <Filter>();
            Filter        pkFilter = new Filter("PartitionKey", Utils.CleanTableKey(system.PartitionKey), "eq");
            Filter        rkFilter = new Filter("RowKey", Utils.CleanTableKey(basecampProject.url), "eq");

            filters.Add(pkFilter);
            filters.Add(rkFilter);

            return(BasecampProject.GetProjects(providerConfig, filters));
        }
Ejemplo n.º 3
0
        public static string AddProject(DataConfig providerConfig, POCO.System system, POCO.BasecampEntity sourceProject)
        {
            POCO.BasecampProjectEntity projectEntity = new BasecampProjectEntity(Utils.CleanTableKey(system.PartitionKey), Utils.CleanTableKey(sourceProject.url));
            projectEntity.CPStatus          = string.Empty;
            projectEntity.ItemCount         = 0;
            projectEntity.Name              = sourceProject.name;
            projectEntity.ServerRelativeUrl = sourceProject.url;
            projectEntity.TimeCreated       = sourceProject.created_at.ToUniversalTime();
            projectEntity.TimeLastModified  = sourceProject.updated_at.ToUniversalTime();

            return(BasecampProject.AddProject(providerConfig, projectEntity));
        }
Ejemplo n.º 4
0
        public static void UpdateProjectStatus(DataFactory.DataConfig providerConfig, POCO.System system, POCO.BasecampEntity basecampProject, string cpStatus)
        {
            switch (providerConfig.ProviderType)
            {
            case "azure.tableservice":

                throw new NotImplementedException();

                break;

            case "internal.mongodb":
                var collection = Utils.GetMongoCollection <BasecampProjectEntity>(providerConfig, "basecampprojects");

                // Create the update filter
                List <DataFactory.Filter> filters  = new List <DataFactory.Filter>();
                DataFactory.Filter        pkFilter = new DataFactory.Filter("PartitionKey", Utils.CleanTableKey(system.PartitionKey), "eq");
                DataFactory.Filter        rkFilter = new DataFactory.Filter("RowKey", Utils.CleanTableKey(basecampProject.url), "eq");
                filters.Add(pkFilter);
                filters.Add(rkFilter);
                FilterDefinition <BasecampProjectEntity> filter = Utils.GenerateMongoFilter <BasecampProjectEntity>(filters);

                string       updateParam = "{$set: {TimeCreated: '" + basecampProject.created_at.ToUniversalTime().ToString(Utils.ISODateFormat) + "', TimeLastModified: '" + basecampProject.updated_at.ToUniversalTime().ToString(Utils.ISODateFormat) + "', CPStatus: '" + cpStatus + "'}}";
                BsonDocument updateDoc   = BsonDocument.Parse(updateParam);

                // Update the batch status
                collection.UpdateOne(filter, updateDoc);
                break;
            }
        }