示例#1
0
 private string StrBinryN(BinaryContainer b, long IP, string BS)
 {
     return("INSERT INTO binarycontainer_n(id, "
            + "platformid, "
            + "BGuidType, "
            + "KeyMark, "
            + "CBID, "
            + "created, "
            // + "signature, "
            + "binarytype, "
            + "name, "
            + "length, "
            + "dataavailable, "
            + "ID_PR) "
            + "VALUES(" + b.ID + ", " +
            "'" + b.CreatedBy.PlatformId + "', " +
            "" + b.CreatedBy.BGuidType + "," +
            "" + b.CreatedBy.KeyMark + "," +
            "'" + b.CreatedBy.ID + "'," +
            "'" + b.Created + "'," +
            // "'" + b.Captions.ToString() + "'," +
            "'" + b.BinaryType + "'," +
            "'" + b.Name + "'," +
            "" + b.Length + "," +
            "'" + BS + "'," +
            "" + IP + ");");
 }
示例#2
0
        /// <summary>
        /// Search for Location
        /// </summary>
        /// <param name="ipAddress">IP Address</param>
        /// <returns>Location</returns>
        public async Task <ILocation> Search(string ipAddress)
        {
            if (string.IsNullOrWhiteSpace(ipAddress))
            {
                throw new ArgumentException("ipAddress");
            }

            var octets = ipAddress.Split('.');

            long ipValue = 16777216 * long.Parse(octets[0]);

            ipValue += 65536 * long.Parse(octets[1]);
            ipValue += 256 * long.Parse(octets[2]);
            ipValue += long.Parse(octets[3]);

            var floored = this.Floor(ipValue);

            var container = new BinaryContainer(spatialIpContainer);
            var data      = container.Get(string.Format(spatialIpFileFormat, floored));

            if (null != data)
            {
                var locations = data.Deserialize <List <SearchLocationIp> >();

                return(locations.Where(l => l.StartIp <= ipValue && l.EndIp >= ipValue).FirstOrDefault());
            }

            return(null);
        }
示例#3
0
        public T AddEntry(XdbfEntry entry, byte[] binary)
        {
            if (entry.IsSyncList)
            {
                var container  = new BinaryContainer(binary);
                var entryCount = entry.Length / 16;
                SyncList = new SyncList {
                    Entry = entry, Binary = container
                };
                for (var i = 0; i < entryCount; i++)
                {
                    SyncList.Add(ModelFactory.GetModel <SyncEntry>(container, i * 16));
                }
                return(null);
            }

            if (entry.IsSyncData)
            {
                SyncData       = ModelFactory.GetModel <SyncData>(binary);
                SyncData.Entry = entry;
                return(null);
            }

            var model = ModelFactory.GetModel <T>(binary);

            model.Entry = entry;
            Add(model);
            return(model);
        }
示例#4
0
    public void Process <T>(string fileName, Dictionary <int, T> tmpData, List <int> tmpListConfigId)
    {
        int             fileHash = fileName.GetHashCode();
        BinaryContainer container;

        if (!IOBinaryFile.Instance.Offset.container.TryGetValue(fileHash, out container))
        {
            container = new BinaryContainer(tmpData.Count);
            IOBinaryFile.Instance.Offset.container.Add(fileHash, container);
        }

        for (int i = 0; i > tmpListConfigId.Count; i++)
        {
            //int id = tmpListConfigId[i];
            //byte[] bytes = MessagePackSerializer.Serialize(tmpData[i]);
            //m_byteList.Add(bytes);
            //int from = m_curPointer;
            //ushort len = (ushort)bytes.Length;
            //m_curPointer += len;
            //if (!container.allInfo.ContainsKey(id))
            //{
            //    CellInfo info = new CellInfo();
            //    info.from = from;
            //    info.len = len;
            //    container.allInfo.Add(id, info);
            //}
        }
    }
示例#5
0
 public SettingEntry(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
     _typeCache = Type;
     if (_typeCache == SettingEntryType.Binary || _typeCache == SettingEntryType.UnicodeString)
     {
         offsetTable["BinaryValue"].Length = GetValue <int>();
     }
 }
示例#6
0
        protected GpdFile(OffsetTable offsetTable, BinaryContainer binary, int startOffset)
            : base(offsetTable, binary, startOffset)
        {
            _entryTableSize = EntryTableLength * EntrySize;
            _freeTableSize  = FreeSpaceTableLength * FreeSpaceEntrySize;
            _tableSize      = _entryTableSize + _freeTableSize + 0x18;

            Initialize();
        }
示例#7
0
 protected DashboardFile(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardZone)) Settings.Set(SettingId.GamercardZone, 0);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardRegion)) Settings.Set(SettingId.GamercardRegion, 2);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.YearsOnLive)) Settings.Set(SettingId.YearsOnLive, 0);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardMotto)) Settings.Set(SettingId.GamercardMotto, String.Empty);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardUserLocation)) Settings.Set(SettingId.GamercardUserLocation, String.Empty);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardUserName)) Settings.Set(SettingId.GamercardUserName, String.Empty);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardUserBio)) Settings.Set(SettingId.GamercardUserBio, String.Empty);
     //if (!HasEntry(EntryType.Setting, (int)SettingId.GamercardRep)) Settings.Set(SettingId.GamercardRep, (float)0.0);
 }
        public void Exists()
        {
            var containerName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            Assert.IsFalse(container.Exists());
            container.EnsureExist();
            Assert.IsTrue(container.Exists());
            container.DeleteIfExist();
            Assert.IsFalse(container.Exists());
        }
        public void EnsureExists()
        {
            var containerName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            container.EnsureExist();

            var client       = CloudStorageAccount.DevelopmentStorageAccount.CreateCloudBlobClient();
            var containerRef = client.GetContainerReference(containerName.ToLowerInvariant());

            Assert.IsNotNull(containerRef);
        }
示例#10
0
        /// <summary>
        /// Initializes a new instance of the ContentSource class.
        /// </summary>
        public ContentSource()
        {
            this.blobContext.Initialize(ServerConfiguration.Default);

            this.binaryContainer = new BinaryContainer(ServerConfiguration.Default, ContentBlobContext.BinaryBlobContainer);
            this.binaryContainer.EnsureExist();

            this.xmlTable = new AzureTable <XmlData>(ServerConfiguration.Default);
            this.xmlTable.EnsureExist();

            this.textTable = new AzureTable <TextData>(ServerConfiguration.Default);
            this.textTable.EnsureExist();
        }
示例#11
0
        public T Read <T>(BinaryContainer data) where T : Persistable
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            using (var reader = data.AsText().Read())
            {
                var instance = Persistable.Deserialize <T>(data.Identifier, reader, mInstancePool, mConverters);

                return(instance);
            }
        }
示例#12
0
        public void CreateContainer()
        {
            var name  = 'z' + Guid.NewGuid().ToString().Replace('-', 'a');
            var blobs = new BinaryContainer(name);

            blobs.Create().Wait();

            var account = AzureStorage.Get();

            var client    = account.CreateCloudBlobClient();
            var reference = client.GetContainerReference(name);
            var result    = reference.CreateIfNotExists();

            Assert.IsFalse(result);
        }
        public void EnsureExistsPublic()
        {
            var containerName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            container.EnsureExist(true);

            var client       = CloudStorageAccount.DevelopmentStorageAccount.CreateCloudBlobClient();
            var containerRef = client.GetContainerReference(containerName.ToLowerInvariant());

            Assert.IsNotNull(containerRef);
            var permissions = containerRef.GetPermissions();

            Assert.IsNotNull(permissions);
            Assert.AreEqual <BlobContainerPublicAccessType>(BlobContainerPublicAccessType.Container, permissions.PublicAccess);
        }
示例#14
0
        public void SaveWithTimeOut()
        {
            var    bytes  = new byte[256];
            Random random = new Random();

            random.NextBytes(bytes);
            var containerName = "aslasdasdkdjh";
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            container.EnsureExist();

            var id       = Guid.NewGuid().ToString();
            var uri      = container.Save(id, bytes, "na", new TimeSpan(0, 1, 0));
            var returned = container.GetBytes(id);

            Assert.IsTrue(bytes.ContentEquals(returned));
        }
        public void GetBytesExtension()
        {
            var    bytes  = new byte[256];
            Random random = new Random();

            random.NextBytes(bytes);
            var containerName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            container.EnsureExist();

            var id       = string.Format("{0}.jpeg", Guid.NewGuid());
            var uri      = container.Save(id, bytes, "na");
            var returned = container.GetBytes(id);

            Assert.IsTrue(bytes.ContentEquals(returned));
        }
示例#16
0
        public ItemImage Save(ItemRequestImageInput image)
        {
            var id          = Guid.NewGuid();
            var virtualPath = string.Format("request/{0}_{1}.jpg", id, "{0}");
            var sproc       = new GoodsSaveItemRequestImage()
            {
                Identifier            = id,
                ContentType           = image.ContentType,
                FileName              = image.FileName,
                FileSize              = image.FileSize,
                ItemRequestIdentifier = image.ItemRequestIdentifier,
                UserIdentifier        = image.UserIdentifier,
                Path = string.Format("/user/{0}", virtualPath),
            };

            var storedImage = sproc.CallObject <ItemRequestImageInput>();

            var container = new BinaryContainer("user");

            container.Save(string.Format(virtualPath, OriginalName), image.Contents, image.ContentType);

            var thumbnail = this.Thumbnail(image.Contents, ImageFormat.Jpeg);

            var thumbnailPath = string.Format(virtualPath, ImageCore.ThumbnailName);

            container.Save(thumbnailPath, thumbnail, contentType);

            var large = this.Large(image.Contents, ImageFormat.Jpeg);

            var largePath = string.Format(virtualPath, ImageCore.LargeName);

            container.Save(largePath, large, contentType);

            var activity = new ActivityCore();

            activity.NewItemRequestImage(storedImage);

            return(new ItemImage()
            {
                VirtualPathFormat = string.Format("/user/{0}", thumbnailPath),
            });
        }
        public void GetStream()
        {
            var    bytes  = new byte[256];
            Random random = new Random();

            random.NextBytes(bytes);
            var containerName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            var container     = new BinaryContainer(CloudStorageAccount.DevelopmentStorageAccount, containerName);

            container.EnsureExist();

            var id  = Guid.NewGuid().ToString();
            var uri = container.Save(id, bytes, "na");

            using (var stream = container.GetStream(id) as MemoryStream)
            {
                var returned = stream.ToArray();
                Assert.IsTrue(bytes.ContentEquals(returned));
            }
        }
示例#18
0
        private void RewriteEntryList <T>(EntryList <T> entryList, IComparer <T> comparer = null) where T : EntryBase
        {
            if (entryList == null)
            {
                return;
            }

            var length        = entryList.Count * SyncEntry.Size;
            var syncListItems = entryList.ToList();

            if (comparer != null)
            {
                syncListItems.Sort(comparer);
            }
            var syncList = new BinaryContainer(length);


            foreach (var entry in entryList)
            {
                RewriteEntry(entry.Entry, entry.AllBytes);
            }
            var i = 0;

            foreach (var entry in syncListItems)
            {
                var item = ModelFactory.GetModel <SyncEntry>(syncList, i * 16);
                item.EntryId = entry.Entry.Id;
                item.SyncId  = 0; //_syncId++; //?
                i++;
            }

            if (entryList.SyncList != null)
            {
                RewriteEntry(entryList.SyncList.Entry, syncList.ReadAll());
            }
            if (entryList.SyncData != null)
            {
                RewriteEntry(entryList.SyncData.Entry, entryList.SyncData.AllBytes);
            }
        }
示例#19
0
        public void RoundTrip()
        {
            var data   = new byte[64];
            var random = new Random();

            random.NextBytes(data);
            var objId     = "a" + Guid.NewGuid().ToString();
            var container = new BinaryContainer("test");

            container.Create().Wait();

            container.Save(objId, data);

            var result = container.Get(objId);

            Assert.IsNotNull(result);
            Assert.AreEqual <int>(data.Length, result.Length);
            for (var i = 0; i < data.Length; i++)
            {
                Assert.AreEqual <byte>(data[i], result[i]);
            }
        }
示例#20
0
        /// <summary>
        /// Initializes the root components.
        /// </summary>
        private void InitializeRoot(IConsole buffer)
        {
            Root = new RootContainer(buffer);

            UserInput = new KeyboardInput(Root)
            {
                ExitKey = ConsoleKey.Escape
            };

            Header = new WeekHeader(OnHomeScreen, wrapper);
            BinaryContainer root_container = new BinaryContainer()
            {
                Vertical = true
            };

            root_container.Add(Header, Content);

            root_container.First  = Header;
            root_container.Second = Content;

            Root.Add(root_container);

            WorkflowController = new InterfaceWorkflowController(ContentController);
        }
示例#21
0
        /// <summary>
        /// Store Locations
        /// </summary>
        public async void StoreLocations()
        {
            var locations  = this.Locations();
            var dictionary = new Dictionary <long, IList <SearchLocationIp> >();

            foreach (var location in locations)
            {
                var keys = new long[] { this.Floor(location.StartIp), this.Floor(location.EndIp) };

                if (keys[0] == keys[1])
                {
                    keys = new long[] { keys[0] };
                }

                foreach (var key in keys)
                {
                    if (dictionary.ContainsKey(key))
                    {
                        dictionary[key].Add(location);
                    }
                    else
                    {
                        var locs = new List <SearchLocationIp>();
                        locs.Add(location);
                        dictionary.Add(key, locs);
                    }
                }
            }

            var container = new BinaryContainer(spatialIpContainer);

            foreach (var key in dictionary.Keys)
            {
                container.Save(string.Format(spatialIpFileFormat, key), dictionary[key].Serialize());
            }
        }
示例#22
0
 public XisoTableData(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#23
0
 public XdbfEntry(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#24
0
 public TitleEntry(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
     TitleCode = TitleId.ToHex();
 }
示例#25
0
 protected StfsPackage(OffsetTable offsetTable, BinaryContainer binary, int startOffset)
     : base(offsetTable, binary, startOffset)
 {
 }
示例#26
0
 public ProgressCache(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#27
0
 public PackageSignature(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#28
0
 public Certificate(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#29
0
 public XexFileHeader(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
 }
示例#30
0
 public Package(OffsetTable offsetTable, BinaryContainer binary, int startOffset) : base(offsetTable, binary, startOffset)
 {
     NotifyActionDuration("STFS package parse", Parse);
 }