Exemple #1
0
        /// <summary>
        /// Performs provided operations on collection indexes.
        /// </summary>
        /// <param name="path"></param>
        /// <param name="flags"></param>
        public unsafe void Index(string path, IndexOperations flags)
        {
            UnsafeBuffer buffer;

            UnsafeBuffer.FillFromString(&buffer, path);

            if (_functions.SetIndex(CollectionHandle, &buffer, (int)flags))
            {
                return;
            }
            throw EjdbException.FromDatabase(Database, "Failed to perform index operation");
        }
        public void OnPostUpload(IFormFile file)
        {
            PhotoData       = IndexOperations.UploadActions(file);
            PhotoDataUrl    = PhotoData.DataUrl;
            JsonDoc         = JsonConvert.SerializeObject(PhotoData.TextractResponse.Blocks);
            ColorToBlockMap = PhotoData.Colors;
            ColorList       = ColorToBlockMap.Keys;

            //HTTP Save Session Data
            HttpContext.Session.SetString("JsonDoc", JsonDoc);
            HttpContext.Session.SetString("ColorToBlockMap", JsonConvert.SerializeObject(ColorToBlockMap));
            HttpContext.Session.SetString("Blocks", JsonConvert.SerializeObject(Blocks));

            Uploaded = true;
        }
        public void OnPostConfirm(string confirmList)
        {
            //HTTP Read Session Data
            JsonDoc         = HttpContext.Session.GetString("JsonDoc");
            ColorToBlockMap = JsonConvert.DeserializeObject <Dictionary <string, string> >(HttpContext.Session.GetString("ColorToBlockMap"));
            Blocks          = JsonConvert.DeserializeObject <List <Block> >(HttpContext.Session.GetString("Blocks"));

            OutputDisplay = true;
            SelectedColor = confirmList;
            Blocks        = JsonConvert.DeserializeObject <List <Block> >(JsonDoc);
            BlockId       = ColorToBlockMap[SelectedColor];

            List <AssetData> assets = IndexOperations.RetrieveAssetData(BlockId, Blocks);

            foreach (var asset in assets)
            {
                Output += asset.Name + " x " + asset.Quantity + "\n";
            }
        }
Exemple #4
0
 /// <inheritdoc />
 public override bool RequiresFlushing(string operationName)
 {
     return(IndexOperations.Contains(operationName));
 }
Exemple #5
0
 /// <inheritdoc />
 public override bool RequiresDatabaseCollectionSize(string operationName)
 {
     return(IndexOperations.Contains(operationName) || nameof(AddElement) == operationName);
 }