Example #1
0
        public static void AddVersion(PackageDatabase packageDbConn, Command.AddverOption data)
        {
            //check exist
            var reader = from item in packageDbConn.CoreDbContext.version
                         where item.name == data.Name
                         select item;

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

            //set database
            var newObj = data.ToDatabaseFormat();

            if (newObj.status)
            {
                //update database
                packageDbConn.CoreDbContext.version.Add(newObj.res);
                //copy package
                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);
            }
        }
Example #2
0
        public static (PackageDatabaseTableVersionItem res, bool status) ToDatabaseFormat(this Command.AddverOption ori)
        {
            var obj = new PackageDatabaseTableVersionItem()
            {
                name               = ori.Name,
                parent             = ori.Parent,
                additional_desc    = ori.AdditionalDesc,
                dependency         = ori.Dependency,
                conflict           = ori.Conflict,
                require_decompress = ori.RequireDecompress,
                hash               = SignVerifyHelper.GetFileHash(ori.PackagePath)
            };

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

                obj.suit_os          = (OSType)(int.Parse(ori.SuitOS));
                obj.reverse_conflict = bool.Parse(ori.ReverseConflict);
                obj.internal_script  = bool.Parse(ori.ReverseConflict);
            } catch {
                return(obj, false);
            }

            return(obj, true);
        }