Example #1
0
        public static string /*discussion id*/ CreateDiscussion(string board_id, string creator, string words, string heading,
                                                                string delta_flags, HttpFileCollectionBase files, string heading_delta_flags)
        {
            string partition_key = board_id;

            int    next_id       = NextIdStore.Next(Warehouse.DiscussionListTable, partition_key);
            string discussion_id = SandId.MakeDiscussionId(next_id);

            DynamicTableEntity entity = new DynamicTableEntity(partition_key, discussion_id);

            entity["heading"] = new EntityProperty(/*DiscussionLoadRoll.RemoveForeMeta*/ (heading));
            entity.OperateFlags(new FlagMergeOperation(heading_delta_flags));

            Warehouse.DiscussionListTable.Execute(TableOperation.Insert(entity));

            DiscussionLoadStore.CreateSkeleton(board_id, discussion_id);
            DiscussionLoadStore.CreateLetter(board_id, discussion_id, creator, heading, Subtype.h, heading_delta_flags, null);
            DiscussionLoadStore.CreateLetter(board_id, discussion_id, creator, words, Subtype.s, delta_flags, files);

            Warehouse.DiscussionListPond.Get(board_id).AddDiscussion(entity);

            return(discussion_id);
        }