public ActionResult GetState(string zipcode)
        {
            ZipData zipData = new ZipData();

            zipData.StateName = ZipHelper.WhatsMyState(zipcode);
            return(View(zipData));
        }
        public ActionResult GetCity(string zipcode)
        {
            ZipData zipData = new ZipData();

            zipData.CityName = ZipHelper.WhatsMyCity(zipcode);
            return(View(zipData));
        }
Exemple #3
0
    public void Load(ZipData zip)
    {
        var bytelist = new List <byte>();

        // 最初の4byteはPDCA(とくに意味はない)
        bytelist.Add((byte)'P');
        bytelist.Add((byte)'D');
        bytelist.Add((byte)'C');
        bytelist.Add((byte)'A');

        // 圧縮形式(拡張予定はないけど) 4byte
        bytelist.AddRange(BitConverter.GetBytes((Int32)1));

        // 何バイトで1バイトにしているか 4byte
        bytelist.AddRange(BitConverter.GetBytes((Int32)ZipData.n_byte));

        // 元のファイルの文字列の長さ 4byte
        var path_bytes = Encoding.UTF8.GetBytes(zip.path);

        bytelist.AddRange(BitConverter.GetBytes((Int32)path_bytes.Length));

        // 元のファイルの文字列データ path_bytes.Length byte
        bytelist.AddRange(path_bytes);

        // ハフマン符号の数(4byte)
        bytelist.AddRange(BitConverter.GetBytes((Int32)zip.Codes.Count));

        // 総バイト数(4byte)
        bytelist.AddRange(BitConverter.GetBytes((Int32)zip.byteNumber));

        foreach (var code in zip.Codes.Keys)
        {
            var element = zip.Codes[code];

            // 元( n_byte byte )
            bytelist.AddRange(element.ToByteArray());
            // 符号の長さ( 4byte )
            bytelist.AddRange(BitConverter.GetBytes((Int32)code.Length));
            // 符号( RoundUp( code.Length / 8.0 ) byte )
            bytelist.AddRange(code.ToByteArray());
        }

        var data_bytes = zip.data.ToByteArray();

        // 符号化されたデータの総数 (4byte)
        bytelist.AddRange(BitConverter.GetBytes((Int32)zip.data.Length));

        // 符号化されたデータ( data_bytes.Length byte )
        bytelist.AddRange(data_bytes);

        // 保存
        this.originalData = new BoolList(bytelist.ToArray());
    }
Exemple #4
0
        /// <summary>
        /// 添加内容到zip文件,在 ZipFile.CommitUpdate() 之后自动释放流;
        /// </summary>
        public static void Add(this ZipFile zipFile, string entryName, Stream stream)
        {
            if (zipFile == null)
            {
                throw new ArgumentNullException(nameof(zipFile));
            }
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            ZipData data = new ZipData(stream);

            zipFile.Add(data, entryName);
        }
Exemple #5
0
 /// <summary>
 /// Finds and returns file data for given node.
 /// </summary>
 /// <param name="node">Node for which data should be found.</param>
 /// <param name="path">Path to the file storing data.</param>
 /// <param name="offset">Byte offset at which data for the node starts.</param>
 /// <param name="size">Byte size of data for the node.</param>
 public void GetNodeData(Node node, out string path, out long offset, out long size)
 {
     if (ZipData != null)
     {
         path = pathOnDisk;
         var nodeName = node.Identifier + TreeUtility.NodeFileExtension;
         offset = ZipData.GetEntryOffset(nodeName);
         size   = ZipData.GetEntrySize(nodeName);
     }
     else
     {
         path   = Path.Combine(pathOnDisk, node.Identifier + TreeUtility.NodeFileExtension);
         offset = 0;
         size   = new FileInfo(path).Length;
     }
 }
Exemple #6
0
        private void ImportZipData(ZipData data)
        {
            //foreach (var data in zipData)
            //{
            var state = string.IsNullOrEmpty(data.StateCode) ? null : _stateRepository.GetStatebyCode(data.StateCode);

            if (state != null)
            {
                var city = _cityRepository.GetCityByStateAndName(state.Id, data.City);

                if (city == null)
                {
                    city = new City()
                    {
                        Name        = data.City,
                        CityCode    = "",
                        Description = "Created while importing Zip from External Source.",
                        StateId     = state.Id
                    };
                    city = _cityRepository.Save(city);
                }

                ZipCode zip = null;
                try
                {
                    zip = _zipCodeRepository.GetZipCode(data.ZipCode, city.Id);
                    if (zip == null)
                    {
                        zip = new ZipCode {
                            CityId = city.Id, Zip = data.ZipCode
                        };
                    }
                }
                catch (ObjectNotFoundInPersistenceException <ZipCode> )
                {
                    zip = new ZipCode {
                        CityId = city.Id, Zip = data.ZipCode
                    };
                }
                if (zip.Id <= 0)
                {
                    PrepareZipObject(data.Latitude, data.Longitude, data.TimeZone, data.DayLightSaving, zip);
                    _zipCodeRepository.Save(zip);
                }
            }
            //}
        }
Exemple #7
0
        private long SaveNewZipCode(ZipData data, long cityId, string zipCode)
        {
            var retZip = new ZipCode();

            if (data != null)
            {
                ZipCode zip = new ZipCode {
                    CityId = cityId, Zip = data.ZipCode
                };
                PrepareZipObject(data.Latitude, data.Longitude, data.TimeZone, data.DayLightSaving, zip);
                retZip = _zipCodeRepository.Save(zip);
            }
            else
            {
                ZipCode zip = new ZipCode {
                    CityId = cityId, Zip = zipCode, Latitude = 0, Longitude = 0, TimeZone = 0, IsInDaylightSavingsTime = false
                };
                retZip = _zipCodeRepository.Save(zip);
            }
            return(retZip != null ? retZip.Id : 0);
        }
Exemple #8
0
    public void Load(ZipData zip)
    {
        var code = new BoolList();
        var info = new InfoSource();

        this.path = zip.path;

        for (int i = 0; i < zip.data.Length; i++)
        {
            code.Add(zip.data[i]);

            if (zip.Codes.ContainsKey(code))
            {
                // 一部分複合する.瞬時符号って最高
                info.AddRange(zip.Codes[code]);

                code.Clear();
            }
        }

        this.byteArray = new byte[zip.byteNumber];
        var temp = info.ToByteArray();

        for (int i = 0; i < this.byteArray.Length; i++)
        {
            byteArray[i] = temp[i];
        }

        /*
         * for(int i = 0 ; i < byteArray.Length ; i++ )
         * {
         *  byte b = 0x00;
         *  for(int j = 0 ; j < 8 ; j++ ){
         *      b <<= 1;
         *      b |= info[ i * 8 + j ] ? (byte)0x01 : (byte)0x00;
         *  }
         *  byteArray[i] = b;
         * }*/
    }
Exemple #9
0
        static private void DoZipLookup()
        {
            try
            {
                string  country = GetInput("Country Abbreviation:  ");
                string  zipcode = GetInput("Zip Code:  ");
                ZipData zipData = ZipCodeApi.GetDataByCountryAndPostalCode(country, zipcode);
                if (zipData != null)
                {
                    Console.WriteLine("==========================================");
                    Console.WriteLine("Search Parameters");
                    Console.WriteLine("Country:     " + country);
                    Console.WriteLine("Postal Code: " + zipcode);
                    Console.WriteLine("==========================================");

                    Console.WriteLine("  Country: " + zipData.Country);
                    Console.WriteLine("  Abbr:    " + zipData.CountryAbbr);
                    Console.WriteLine("  ZipCode: " + zipData.PostCode);
                    foreach (ZipPlace zp in zipData.Places)
                    {
                        Console.WriteLine("\tName:       " + zp.Name);
                        Console.WriteLine("\tState:      " + zp.State);
                        Console.WriteLine("\tState Abbr: " + zp.Abbr);
                        Console.WriteLine("\tLongtitude: " + zp.Long);
                        Console.WriteLine("\tLatitude:   " + zp.Lat);
                        Console.WriteLine();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.WriteLine();
            Console.WriteLine("Any key to continue");
            Console.ReadKey();
            Console.Clear();
        }
        private void BackupToDefaultFileSystem(string id, BackupTask item, string cnnString,
                                               Dictionary <string, Tuple <bool, string> > v,
                                               out string createdBakupFile,
                                               string defaulLocation = null)
        {
            if (string.IsNullOrEmpty(defaulLocation))
            {
                defaulLocation = DbContext.Current.Config.BackupLocation;
            }

            if (!string.IsNullOrEmpty(defaulLocation) & !System.IO.Directory.Exists(defaulLocation))
            {
                System.IO.Directory.CreateDirectory(defaulLocation);
            }

            var    task   = DbContext.Current.GetBackupTasks().FirstOrDefault(s => s.Id == id);
            string dbName = task.DbName;

            if (!dbName.StartsWith("["))
            {
                dbName = string.Format("[{0}]", dbName);
            }
            string   dbNameClean    = dbName.Replace("[", string.Empty).Replace("]", string.Empty);
            DateTime dt             = DateTime.Now;
            string   dbNameWithDate = dbNameClean + "_" + dt.ToString("yyyyMMddhhmmss");
            string   fileNameBak    = (item.AddCurrentDateTime ? dbNameWithDate : dbNameClean) + ".bak";
            var      location       = System.IO.Path.Combine(defaulLocation, fileNameBak);

            createdBakupFile = location;
            try
            {
                using (SqlConnection cnnConnection = new SqlConnection(cnnString))
                {
                    using (SqlCommand cmd = cnnConnection.CreateCommand())
                    {
                        string cmdText =
                            string.Format(
                                @"BACKUP DATABASE {0} TO  DISK = N'{1}' WITH #REPLACE_COPYONLY NOFORMAT, NOINIT,  NAME = N'{2}-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, #COMPRESSION STATS = 10",

                                // Сжатие
                                //BACKUP DATABASE[smartstore] TO  DISK = N'C:\Backup\smartstore.bak' WITH NOFORMAT, NOINIT, NAME = N'smartstore-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
                                //BACKUP DATABASE [smartstore] TO  DISK = N'C:\Backup\smartstore.bak' WITH NOFORMAT, NOINIT,  NAME = N'smartstore-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, NO_COMPRESSION,  STATS = 10

                                // CopyOnly
                                //BACKUP DATABASE [smartstore] TO  DISK = N'C:\Backup\smartstore.bak' WITH  COPY_ONLY, NOFORMAT, NOINIT,  NAME = N'smartstore-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

                                //BACKUP DATABASE [smartstore] TO  [TEST] WITH NOFORMAT, NOINIT,  NAME = N'smartstore-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

                                dbName, location, dbNameClean);
                        if (item.CopyOnly)
                        {
                            cmdText = cmdText.Replace("#REPLACE_COPYONLY", "COPY_ONLY,");
                        }
                        else
                        {
                            cmdText = cmdText.Replace("#REPLACE_COPYONLY", "");
                        }
                        switch (item.Compression)
                        {
                        case 1:
                            cmdText = cmdText.Replace("#COMPRESSION", "COMPRESSION,");
                            break;

                        case 2:
                            cmdText = cmdText.Replace("#COMPRESSION", "NO_COMPRESSION,");
                            break;

                        default:
                            cmdText = cmdText.Replace("#COMPRESSION", "");
                            break;
                        }
                        cmd.CommandText = cmdText;
                        cmd.Connection.Open();
                        cmd.ExecuteNonQuery();
                        cmd.Connection.Close();
                        v.Add("CreateBackupDone", new Tuple <bool, string>(true, "Выполнено!"));
                        if (item.UseZip)
                        {
                            try
                            {
                                var dirLocation = System.IO.Path.GetDirectoryName(location);
                                var zipFileName = System.IO.Path.GetFileNameWithoutExtension(location) + ".zip";
                                var fullZipName = System.IO.Path.Combine(dirLocation, zipFileName);
                                ZipData.CreateZip(location, fullZipName);
                                createdBakupFile = fullZipName;
                                v.Add("CreateZipDone", new Tuple <bool, string>(true, "Выполнено!"));
                            }
                            catch (Exception eZip)
                            {
                                v.Add("CreateZipDone", new Tuple <bool, string>(false, eZip.Message));
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                v.Add("CreateBackupDone", new Tuple <bool, string>(false, "Не выполнено!"));
                v.Add("CreateBackupDoneError", new Tuple <bool, string>(false, e.Message));
                Console.WriteLine(e);
            }

            /*
             *       BACKUP DATABASE [smartstore] TO  DISK = N'E:\SQLDATABASE\BACKUP\smartstore.bak' WITH NOFORMAT, NOINIT,  NAME = N'smartstore-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
             */
        }
 public ActionResult GetState(string zipcode)
 {
     ZipData zipData = new ZipData();
     zipData.StateName = ZipHelper.WhatsMyState(zipcode);
     return View(zipData);
 }
 public ActionResult GetCity(string zipcode)
 {
     ZipData zipData = new ZipData();
      zipData.CityName = ZipHelper.WhatsMyCity(zipcode);
      return View(zipData);
 }
Exemple #13
0
        public void IsGZipHeaderStream()
        {
            var data = File.OpenRead(file);

            Assert.True(ZipData.IsGZipHeader(data));
        }
Exemple #14
0
        public void IsGZipHeader()
        {
            var data = File.ReadAllBytes(file).ToArray();

            Assert.True(ZipData.IsGZipHeader(data));
        }
Exemple #15
0
    static void Main()
    {/*
      * test();
      * var t = BoolList.ToBoolArray(0x12);
      * for(int i = 0 ; i < 8 ; i++ )
      *     Console.WriteLine(t[i]);
      *
      *
      * var a = new BoolList();
      * var b = new BoolList();
      * a.Add(false);
      * a.Add(false);
      * a.Add(false);
      * a.Add(true);
      * b.Add(false);
      * b.Add(true);
      *
      * Console.WriteLine(a.GetHashCode());
      * Console.WriteLine(b.GetHashCode());
      * Console.WriteLine(a==b);
      * Console.WriteLine(a+b);
      *
      * var dict = new Dictionary<BoolList,int>();
      *
      * //dict.Add(a,1);
      * //dict.Add(b,1);
      *
      * foreach(var k in dict.Keys)
      *     Console.WriteLine(dict[k]);
      *
      * return;
      */
        Console.WriteLine("1. zip");
        Console.WriteLine("2. unzip");

        var bdata = new BinaryData();
        var zip   = new ZipData();
        var png   = new PngData();


        if (int.Parse(Console.ReadLine()) == 1)
        {
            Console.WriteLine("Input original file path >>");

            // 情報源として読み取る
            bdata.Load(Console.ReadLine());
            // ハフマン符号化して読み取る
            zip.Load(bdata);
            // PNGデータとして読みとる
            png.Load(zip);

            Console.WriteLine("Input output file path >>");
            png.Save(Console.ReadLine());
        }
        else
        {
            Console.WriteLine("Input PNG file path >>");

            // PNGデータとして読みとる
            png.Load(Console.ReadLine());
            // ハフマン符号化して読み取る
            zip.Load(png);
            // 情報源として読み取る
            bdata.Load(zip);
            bdata.Save();
        }
    }