Ejemplo n.º 1
0
        private void btPackage_Click(object sender, EventArgs e)
        {
            string src  = tbPath.Text;
            string file = tbName.Text + "-" + tbVersion.Text.Replace('.', '-') + ".udp";
            string dst  = DirTool.Combine(DirTool.GetFilePath(tbPath.Text), file);

            if (FilePackageTool.Pack(src, dst) > 0 && File.Exists(dst))
            {
                string md5Code = FileTool.GetMD5(dst);
                //设置更新模型,14个属性
                AppUpdateInfo aui = new AppUpdateInfo()
                {
                    Name         = tbName.Text,
                    Author       = tbAuthor.Text,
                    Desc         = tbDesc.Text,
                    Version      = tbVersion.Text,
                    ReleasePath  = tbReleasePath.Text,
                    Necessary    = cbNecessary.Checked,
                    DateTime     = DateTime.Now,
                    DownloadMode = rbHttpMode.Checked ? 0 : 1,
                    HttpUrl      = tbHttpUrl.Text,
                    FtpIp        = tbFtpIp.Text,
                    FtpAccount   = tbFtpAccount.Text,
                    FtpPassword  = tbFtpPassword.Text,
                    FtpFile      = tbFtpFile.Text,
                    Md5          = md5Code,
                };
                string auiJson = JsonTool.ToStr(aui);
                TxtTool.Create(dst + ".txt", auiJson);
            }
        }
Ejemplo n.º 2
0
 private void BtBuild_Click(object sender, EventArgs e)
 {
     Task.Factory.StartNew(() =>
     {
         this.Invoke(new Action(() => { LbResult.Text = "开始检索并生成目录文件,请稍候……"; }));
         beginTime            = DateTime.Now;
         string path          = TbPath.Text;
         string parentPath    = DirTool.Parent(path);
         FileCodeHelper fcode = new FileCodeHelper();
         if (Directory.Exists(path) && Directory.Exists(parentPath))
         {
             List <string> fileList = FileTool.GetAllFile(path);
             if (!ListTool.IsNullOrEmpty(fileList))
             {
                 VersionModel version = new VersionModel()
                 {
                     Number = DateTime.Now.Second, Path = path, FileList = new List <VersionFile>(),
                 };
                 foreach (var item in fileList)
                 {
                     version.FileList.Add(new VersionFile()
                     {
                         File = item.Replace(path, ""),
                         MD5  = fcode.GetMD5(item),
                     });
                 }
                 string file = string.Format(@"{0}\version.txt", parentPath);
                 string json = JsonTool.ToStr(version);
                 TxtTool.Create(file, json);
             }
         }
         endTime = DateTime.Now;
         this.Invoke(new Action(() => { LbResult.Text = string.Format("生成完成,用时:{0}秒。", (endTime - beginTime).TotalSeconds); }));
     });
 }
Ejemplo n.º 3
0
        }/// <summary>

        /// 模型 存储到文件
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="file"></param>
        /// <returns></returns>
        public static bool Object2File <T>(string file, T t)
        {
            string s  = Object2String(t);
            bool   rs = TxtTool.Create(file, s);

            return(rs);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 整理图片到指定位置
        /// </summary>
        /// <param name="file">图片路径</param>
        /// <param name="path">整理目标路径</param>
        /// <param name="picture">图片信息模型</param>
        /// <returns></returns>
        public static bool ReorganizePicture(string file, string path, Pictures picture)
        {
            try
            {
                if (File.Exists(file))
                {
                    //根据照片信息旋转,生成临时文件
                    string temp = DirTool.Combine(path, "_data", "temp");
                    DirTool.Create(temp);
                    string tempfile = DirTool.Combine(temp, picture.Name);
                    if (File.Exists(tempfile))
                    {
                        FileTool.Delete(tempfile);
                    }
                    RotateImageTool.Rotate(file, tempfile);

                    //创建压缩图
                    string normal = DirTool.Combine(path, "_data", "normal", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}");
                    DirTool.Create(normal);
                    if (File.Exists(DirTool.Combine(normal, picture.Name)))
                    {
                        FileTool.Delete(DirTool.Combine(normal, picture.Name));
                    }
                    ImageHelper.MakeThumbnail(tempfile, DirTool.Combine(normal, picture.Name), 1000, 1000, "H");

                    //创建缩略图
                    string thumb = DirTool.Combine(path, "_data", "thumb", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}");
                    DirTool.Create(thumb);
                    if (File.Exists(DirTool.Combine(thumb, picture.Name)))
                    {
                        FileTool.Delete(DirTool.Combine(thumb, picture.Name));
                    }
                    ImageHelper.MakeThumbnail(tempfile, DirTool.Combine(thumb, picture.Name), 500, 500, "Cut");

                    //整理原始照片
                    string original = DirTool.Combine(path, $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}");
                    DirTool.Create(original);
                    if (File.Exists(DirTool.Combine(original, picture.Name)))
                    {
                        FileTool.Delete(DirTool.Combine(original, picture.Name));
                    }
                    File.Move(file, DirTool.Combine(original, picture.Name));

                    //整理照片基础信息
                    string info = DirTool.Combine(path, "_data", "info", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}");
                    DirTool.Create(info);
                    TxtTool.Create(DirTool.Combine(info, picture.Name + ".info"), JsonTool.ToStr(picture));

                    FileTool.Delete(tempfile);
                    return(true);
                }
            }
            catch { return(false); }
            return(false);
        }
Ejemplo n.º 5
0
        private void 生成配置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VersionModel vm     = GatherModel();
            string       vmJson = JsonTool.ToStr(vm);
            string       vmFile = string.IsNullOrWhiteSpace(NowOpenFile) ?
                                  R.Paths.VersionFile + string.Format("{0}.version", DateTime.Now.ToString("MMddHHmmss")) :
                                  NowOpenFile;

            TxtTool.Create(vmFile, vmJson);
            TsslRunStatus.Text = "构建成功:" + Path.GetFileName(vmFile);
        }
Ejemplo n.º 6
0
        private void 生成配置到指定目录ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog fileDialog = new SaveFileDialog();

            fileDialog.InitialDirectory = R.Paths.VersionFile;
            fileDialog.Filter           = "版本文件|*.version";
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                VersionModel vm     = GatherModel();
                string       vmJson = JsonTool.ToStr(vm);
                TxtTool.Create(fileDialog.FileName, vmJson);
                TsslRunStatus.Text = "构建成功:" + Path.GetFileName(fileDialog.FileName);
            }
        }
Ejemplo n.º 7
0
 public static bool Write(DataEntity data)
 {
     if (data != null && data.User != null && Str.Ok(data.User.Email, data.User.Passcode))
     {
         string s     = PassHelper.EnData(data);
         string file  = R.Files.GetUserDataFile(data.User.Email);
         string cache = R.Files.GetUserDataCacheFile(data.User.Email);
         bool   f1    = TxtTool.Create(cache, s);
         if (f1)
         {
             bool f2 = FileTool.Copy(cache, file, true);
             return(f2);
         }
     }
     return(false);
 }
Ejemplo n.º 8
0
        internal static void Get()
        {
            Task.Factory.StartNew(() =>
            {
                List <USBVendorModel> list = GetByFile();
                if (Ls.Ok(list))
                {
                    __USBIDS = list;
                }

                List <USBVendorModel> weblist = GetByWeb();
                if (Ls.Ok(weblist))
                {
                    __USBIDS = weblist;
                    TxtTool.Create(R.Files.USBIds, Json.Object2String(weblist));
                }
            });
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 保存配置信息
        /// </summary>
        /// <returns></returns>
        public override bool DoSave()
        {
            string s = Json.Object2String(this.Config);

            s = JsonFormat.Format(s);

            TxtTool.Create(this.FilePath, s);
            bool result = TxtTool.Create(this.FilePathBackup, s);

            if (result)
            {
                if (Json.File2Object <T>(this.FilePathBackup) != null)
                {
                    if (FileTool.Copy(this.FilePathBackup, this.FilePath, true))
                    {
                        FileTool.Delete(this.FilePathBackup);
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 10
0
        private void CreateVersionMap()
        {
            string versionNumber = TbVersionNumber.Text;
            string ftpPath       = TbFtpPath.Text;

            string[] beginClose = TbBeginClose.Text.Split(';');
            string[] endRun     = TbEndRun.Text.Split(';');

            string       path       = TbPath.Text;
            string       parentPath = DirTool.Parent(path);
            FileCodeTool fcode      = new FileCodeTool();

            if (Directory.Exists(path) && Directory.Exists(parentPath))
            {
                List <string> fileList = FileTool.GetAllFile(path);
                if (!ListTool.IsNullOrEmpty(fileList))
                {
                    VersionModel version = new VersionModel()
                    {
                        Number            = versionNumber,
                        ServerPath        = ftpPath,
                        BeginCloseProcess = beginClose,
                        EndRunProcess     = endRun,
                        FileList          = new List <VersionFile>()
                    };

                    foreach (var item in fileList)
                    {
                        version.FileList.Add(new VersionFile()
                        {
                            File = item.Replace(path, ""),
                            MD5  = fcode.GetMD5(item),
                        });
                    }
                    string file = string.Format(@"{0}\update.version", parentPath, versionNumber);
                    string json = JsonTool.ToStr(version);
                    TxtTool.Create(file, json);
                }
            }
        }
Ejemplo n.º 11
0
            public static void Persistence()
            {
                DirTool.Create(R.Paths.Store);

                List <SystemStatusModel>  ssm = new List <SystemStatusModel>();
                List <ProjectStatusModel> psm = new List <ProjectStatusModel>();

                foreach (var item in SystemStatus.ToArray())
                {
                    ssm.Add(item.Value);
                }
                foreach (var item in ProjectStatus.ToArray())
                {
                    psm.Add(item.Value);
                }

                string ss = Json.Object2String(ssm.OrderBy(x => x.IP));
                string ps = Json.Object2String(psm.OrderBy(x => x.IP).ThenBy(x => x.Port));

                bool ss_flag = TxtTool.Create(R.Files.SystemStatus, ss);
                bool ps_flag = TxtTool.Create(R.Files.ProjectStatus, ps);
            }
Ejemplo n.º 12
0
        /// <summary>
        /// 初始化Ini配置信息
        /// </summary>
        static void InitIni()
        {
            DirTool.Create(R.Paths.Settings);
            DirTool.Create(R.Paths.Projects);
            DirTool.Create(R.Paths.DefaultPublishStorage);
            DirTool.Create(R.Paths.DefaultNewStorage);

            R.Paths.PublishStorage = IniTool.GetString(R.Files.Settings, "Paths", "PublishStorage", R.Paths.DefaultPublishStorage);
            if (string.IsNullOrWhiteSpace(R.Paths.PublishStorage))
            {
                R.Paths.PublishStorage = R.Paths.DefaultPublishStorage;
            }

            R.Paths.NewStorage = IniTool.GetString(R.Files.Settings, "Paths", "NewStorage", R.Paths.DefaultNewStorage);
            if (string.IsNullOrWhiteSpace(R.Paths.NewStorage))
            {
                R.Paths.NewStorage = R.Paths.DefaultNewStorage;
            }

            R.Tx.IP                  = IniTool.GetString(R.Files.Settings, "Console", "IP", "");
            R.Tx.Port                = IniTool.GetInt(R.Files.Settings, "Console", "Port", 0);
            R.Tx.LocalIP             = IniTool.GetString(R.Files.Settings, "Local", "IP", "");
            R.Tx.LocalName           = IniTool.GetString(R.Files.Settings, "Local", "Name", "");
            R.IsAutoDeleteExpiredLog = IniTool.GetBool(R.Files.Settings, "Settings", "AutoDeleteExpiredLog", false);
            R.AppID                  = IniTool.GetString(R.Files.Settings, "App", "ID", "");

            if (!Str.Ok(R.AppID))
            {
                R.AppID = GuidTool.Short();
                IniTool.Set(R.Files.Settings, "App", "ID", R.AppID);
            }

            if (!File.Exists(R.Files.NewStorageReadme))
            {
                TxtTool.Create(R.Files.NewStorageReadme, R.NewStorageReadmeTxt);
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 设置/重置工程信息
        /// </summary>
        /// <param name="model"></param>
        public void SetProject(ProjectModel model)
        {
            //初始化设置项目
            Project = model;
            //获取当前端口进程
            if (GetProcess())
            {
                //初始化时有进程占用端口号
                StatusUI(WorkStatus.端口占用);
            }
            else
            {
                //没有进程占用端口号
                StatusUI(WorkStatus.准备就绪);
            }
            //为控件更新显示
            LBProjectName.Text = Project.Name;         //更新项目名称
            LBPort.Text        = $"端口:{Project.Port}"; //更新端口号信息

            //设置下拉框选择版本信息
            if (ListTool.HasElements(Project.Versions))
            {
                try
                {
                    DataTable dt = new DataTable();
                    dt.TableName = "dt";
                    dt.Columns.Add("Code");
                    dt.Columns.Add("Name");
                    Project.Versions.OrderByDescending(x => x.Number).ToList().ForEach(x =>
                    {
                        DataRow row = dt.NewRow();
                        row["Code"] = x.Number.ToString();
                        row["Name"] = $"{x.Number}({x.CreateTime.ToString("yyyy年MM月dd日 HH:mm")})";
                        dt.Rows.Add(row);
                        if (x.Number > Project.CurrentVersion)
                        {
                            Project.CurrentVersion = x.Number;
                        }
                    });
                    CBVersion.DataSource    = dt;
                    CBVersion.DisplayMember = "Name";
                    CBVersion.ValueMember   = "Code";
                }
                catch { }
            }
            else
            {
                DataTable dt = new DataTable();
                dt.TableName = "dt";
                dt.Columns.Add("Code");
                dt.Columns.Add("Name");
                DataRow row = dt.NewRow();
                row["Code"] = 0;
                row["Name"] = $"新建工程需要先加载工程";
                dt.Rows.Add(row);
                CBVersion.DataSource    = dt;
                CBVersion.DisplayMember = "Name";
                CBVersion.ValueMember   = "Code";
            }

            //保存工程信息到文件
            string str = Json.Object2String(Project);

            TxtTool.Create(DirTool.Combine(R.Paths.Projects, Name), str);

            //刷新进程
            GetProcess();
        }