Beispiel #1
0
        public static void EditVersion(PackageDatabase packageDbConn, Command.EditverOption data)
        {
            var reader = from item in packageDbConn.CoreDbContext.version
                         where item.name == data.Name
                         select item;

            if (!reader.Any())
            {
                ConsoleAssistance.WriteLine("Lost package.", ConsoleColor.Red);
                return;
            }

            var got    = reader.First();
            var newObj = data.ToDatabaseFormat(got);

            if (newObj.status)
            {
                packageDbConn.CoreDbContext.version.Remove(got);
                packageDbConn.CoreDbContext.version.Add(newObj.res);

                //copy file
                if (data.PackagePath != "~")
                {
                    File.Delete(Information.WorkPath.Enter("package").Enter($"{data.Name}.zip").Path);
                    File.Copy(data.PackagePath, Information.WorkPath.Enter("package").Enter($"{data.Name}.zip").Path);
                }
                ConsoleAssistance.WriteLine("Operation done.", ConsoleColor.Yellow);
            }
            else
            {
                ConsoleAssistance.WriteLine("Illegal parameter", ConsoleColor.Red);
            }
        }
Beispiel #2
0
        public static (PackageDatabaseTableVersionItem res, bool status) ToDatabaseFormat(this Command.EditverOption ori, PackageDatabaseTableVersionItem item)
        {
            var obj = new PackageDatabaseTableVersionItem()
            {
                name               = ori.Name == "~" ? item.name : ori.Name,
                parent             = ori.Parent == "~" ? item.parent : ori.Parent,
                additional_desc    = ori.AdditionalDesc == "~" ? item.additional_desc : ori.AdditionalDesc,
                dependency         = ori.Dependency == "~" ? item.dependency : ori.Dependency,
                conflict           = ori.Conflict == "~" ? item.conflict : ori.Conflict,
                require_decompress = ori.RequireDecompress == "~" ? item.require_decompress : ori.RequireDecompress,
                hash               = ori.PackagePath == "~" ? item.hash : SignVerifyHelper.GetFileHash(ori.PackagePath)
            };

            try {
                if (ori.Timestamp == "+")
                {
                    obj.timestamp = DateTime.Now.ToUNIXTimestamp();
                }
                else if (ori.Timestamp == "~")
                {
                    obj.timestamp = item.timestamp;
                }
                else
                {
                    obj.timestamp = long.Parse(ori.Timestamp);
                }

                obj.suit_os          = ori.SuitOS == "~" ? item.suit_os : (OSType)(int.Parse(ori.SuitOS));
                obj.reverse_conflict = ori.ReverseConflict == "~" ? item.reverse_conflict : bool.Parse(ori.ReverseConflict);
                obj.internal_script  = ori.InternalScript == "~" ? item.internal_script : bool.Parse(ori.ReverseConflict);
            } catch {
                return(obj, false);
            }

            return(obj, true);
        }