コード例 #1
0
        public static uint Import(string file, AccessDatabase database)
        {
            using var stream = File.OpenRead(file);

            var specifications = new XmlSerializer(typeof(SkillXml));

            var details = (SkillXml)specifications.Deserialize(stream);

            var skillTable = database["SkillBehavior"];

            var entry = skillTable.Create();

            var skill = new SkillBehaviorTable(entry);

            skill.imaginationcost = (int)details.Cost;

            skill.cooldown = details.Cooldown;

            skill.cooldowngroup = (int)details.CooldownGroup;

            skill.skillIcon = (int)details.Icon;

            skill.behaviorID = (int)ImportBehavior(details.Root, database);

            return((uint)entry.Key);
        }
コード例 #2
0
        private static async Task Main()
        {
            Sql = new List <string>();

            await OpenConfig();

            /*
             * await TerrainManager.AnalyseAsync(Configuration.Output);
             *
             * return;
             */

            Database = await AccessDatabase.OpenAsync(Configuration.CdClient);

            Database.OnSql += Sql.Add;

            BuildSkill();

            await FinalizeAsync();

            await BuildZones();

            await UpdateZones();

            await InsertZones();

            await BuildNpcs();

            await BuildMissions();

            await FinalizeAsync();
        }
コード例 #3
0
        // Custom constructor to pass expense report data
        public ExpenseReportPage(object data) : this()
        {
            AccessDatabase adb = new AccessDatabase();

            DataGrid.DataContext = adb.GetExpenses(ConnectionString.Text);
            this.DataContext     = data;
        }
コード例 #4
0
        public static async Task ExportSqlAsync(this AccessDatabase @this, string connectionString)
        {
            await using var connection = new SqliteConnection(connectionString);

            await connection.OpenAsync();

            foreach (var table in @this)
            {
                Console.WriteLine($"Writing: {table.Name} x {table.Count}");

                await using (var query = new SqliteCommand(table.TableSegment(), connection))
                {
                    await query.ExecuteNonQueryAsync();
                }

                var rows = new StringBuilder();

                foreach (var row in table)
                {
                    rows.AppendLine(row.SqlInsert());
                }

                await using (var query = new SqliteCommand(rows.ToString(), connection))
                {
                    await query.ExecuteNonQueryAsync();
                }

                Console.WriteLine($"Wrote: {table.Name}");
            }

            await connection.CloseAsync();
        }
コード例 #5
0
        private static uint ImportBehavior(BehaviorXml details, AccessDatabase database)
        {
            var behaviorTable = database["BehaviorTemplate"];

            var entry = behaviorTable.Create();

            var behavior = new BehaviorTemplateTable(entry);

            behavior.effectID = (int)details.Effect;

            behavior.templateID = (int)details.Type;

            foreach (var detailsParameter in details.Parameters)
            {
                var parameterTable = database["BehaviorParameter"];

                var parameterEntry = parameterTable.Create(behavior.behaviorID);

                var parameter = new BehaviorParameterTable(parameterEntry);

                parameter.parameterID = detailsParameter.Name;

                if (detailsParameter.Behavior)
                {
                    parameter.value = detailsParameter.Next == null ? 0 : ImportBehavior(detailsParameter.Next, database);
                }
                else
                {
                    parameter.value = detailsParameter.Value;
                }
            }

            return((uint)behavior.behaviorID);
        }
コード例 #6
0
        public void FixHTTPMovieURL()
        {
            LOGGER.GenerateSilent("Fixing movies with http url.");
            DataTable dtMovies = AccessDatabase.Select(Queries.GetHTTPMovies);

            Movie[] movies = Movie.FetchAllMovie(dtMovies);

            foreach (Movie item in movies)
            {
                item.IMDBLink = item.IMDBLink.Replace("http:", "https:");
                int r = AccessDatabase.Update(Queries.UpdateMovieIMDbLink,
                                              "@MovieID", item.MovieID, "@IMDbLink", item.IMDBLink);

                if (r == 0)
                {
                    LOGGER.GenerateSilent("Could not find movie." + Environment.NewLine + item.FullTitle);
                }
                else if (r > 1)
                {
                    LOGGER.GenerateSilent("There is more than one movie with the same IMDb " +
                                          "link. all of them have been updated." + Environment.NewLine +
                                          item.IMDBLink + Environment.NewLine + item.FullTitle);
                }
            }

            LOGGER.GenerateSilent("Finished fixing movies with http url.");
        }
コード例 #7
0
 /// <summary>
 /// Class thông số về đối tượng trên medisoft.
 /// </summary>
 /// <param name="cfg">Class cấu hình connect database.</param>
 public DoiTuong(Config cfg)
 {
     _ccf  = cfg;
     _cacc = new AccessDatabase(_ccf);
     //
     // TODO: Add constructor logic here
     //
 }
コード例 #8
0
        public ExpenseItHome()
        {
            InitializeComponent();
            AccessDatabase adb = new AccessDatabase();

            People = adb.GetPersons(ConnectionString.Text);
            peopleListBox.ItemsSource = People;
        }
コード例 #9
0
        private void UpdateScreen()
        {
            AccessDatabase db = new AccessDatabase();

            listPlayers.ItemsSource = db.SelectAllPlayers();
            list = db.SelectAllPlayers();
            lblCountPlayers.Text = list.Count.ToString();
        }
コード例 #10
0
        protected override void ApplyChanges(AccessDatabase database)
        {
            SetParameter(database, "x_velocity", Velocity.X);

            SetParameter(database, "y_velocity", Velocity.Y);

            SetParameter(database, "z_velocity", Velocity.Z);
        }
コード例 #11
0
        protected override void ApplyChanges(AccessDatabase database)
        {
            for (var index = 0; index < Branches.Count; index++)
            {
                var branch = Branches[index];

                SetParameter(database, $"behavior {index + 1}", branch.Id);
            }
        }
コード例 #12
0
 protected override void Load(AccessDatabase database)
 {
     Velocity = new Vector3
     {
         X = GetParameter <float>(database, "x_velocity"),
         Y = GetParameter <float>(database, "y_velocity"),
         Z = GetParameter <float>(database, "z_velocity"),
     };
 }
コード例 #13
0
 protected override void Load(AccessDatabase database)
 {
     foreach (var key in GetParameterKeys(database))
     {
         if (key.StartsWith("behavior"))
         {
             Branch(database, key);
         }
     }
 }
コード例 #14
0
            public override void Context()
            {
                Database database = new SqlServerDatabase();

                tsql_separator_regex_string = database.sql_statement_separator_regex_pattern;
                database = new AccessDatabase();
                access_sql_separator_regex_string = database.sql_statement_separator_regex_pattern;
                database = new OracleDatabase();
                plsql_separator_regex_string = database.sql_statement_separator_regex_pattern;
            }
コード例 #15
0
        public SelectPlayerPage()
        {
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false); // Hide title bar

            AccessDatabase db = new AccessDatabase();

            listPlayers.ItemsSource = db.SelectAllPlayers();
            list = db.SelectAllPlayers();
            lblCountPlayers.Text = list.Count.ToString();
        }
コード例 #16
0
        public static Skill Create(AccessDatabase database)
        {
            var table = database["SkillBehavior"];

            var skill = table.Create();

            return(new Skill
            {
                Id = (uint)skill.Key
            });
        }
コード例 #17
0
        /// <summary>
        /// Queries the database for all hub data
        /// </summary>
        /// <returns></returns>
        private DataTable GetHubData()
        {
            var db = new AccessDatabase(this.querySetup.DatabasePath);

            var factory = new LocalityHubsQuerySQLFactory(this.querySetup);

            var builder = new StandardQueryBuilder(factory);

            var data = db.ExecuteQuery(builder.BuildSQL());

            return(data);
        }
コード例 #18
0
        public static TypedTable <T> Typed <T>(this AccessDatabase @this) where T : class
        {
            var type = typeof(T);

            var attribute = type.GetCustomAttribute <TableAttribute>();

            var id = attribute?.Name ?? type.Name;

            var table = @this[id];

            return(new TypedTable <T>(table.Info, table.Data, @this));
        }
コード例 #19
0
        private DataTable GetData(string locality)
        {
            var db = new AccessDatabase(querySetup.DatabasePath);

            var factory = new VisitsByLocalityQuerySQLFactory(querySetup, locality);

            var builder = new StandardQueryBuilder(factory);

            Console.WriteLine("Retrieving data for {0}", locality);
            var data = db.ExecuteQuery(builder.BuildSQL());

            return(data);
        }
コード例 #20
0
        public static LwoObject NewObject(this AccessDatabase @this, int id = -1)
        {
            var table = @this["Objects"];

            if (id == -1)
            {
                id = table.ClaimKey(1);
            }

            var row = table.Create(id);

            return(LoadObject(@this, row.Key));
        }
コード例 #21
0
        public void FixHTTPPersons()
        {
            LOGGER.GenerateSilent("Fixing persons with http url.");

            Person[] httpPersons = this.GetHTTPPersons();
            foreach (Person item in httpPersons)
            {
                bool isActor    = false;
                bool isDirector = false;
                Person_SP.GetTypeByID(item.PersonID, out isActor, out isDirector);
                string   validIMDbLink = item.IMDBLink.Replace("http:", "https:");
                Person[] validPersons  = this.GetPersonByIMDbLink(validIMDbLink);

                int length = validPersons.Length;
                if (length == 0)
                {
                    this.UpdatePersonIMDbLink(item.PersonID, validIMDbLink);
                }
                else if (length == 1)
                {
                    Person validPerson     = validPersons[0];
                    bool   validIsActor    = false;
                    bool   validIsDirector = false;
                    Person_SP.GetTypeByID(validPerson.PersonID, out validIsActor, out validIsDirector);

                    if (isActor && !validIsActor)
                    {
                        AccessDatabase.Insert(QueryRepository.Actor_Insert, "@PersonID", validPerson.PersonID);
                    }

                    if (isDirector && !validIsDirector)
                    {
                        AccessDatabase.Insert(QueryRepository.Director_Insert, "@PersonID", validPerson.PersonID);
                    }

                    this.UpdateMovieActors(item.PersonID, validPerson.PersonID);
                    this.UpdateMovieDirectors(item.PersonID, validPerson.PersonID);
                    this.DeletePerson(item.PersonID);
                }
                else
                {
                    LOGGER.GenerateSilent("There is more than one match for person." +
                                          Environment.NewLine + item.FullName +
                                          Environment.NewLine + item.PersonID +
                                          Environment.NewLine + item.IMDBLink);
                }
            }

            LOGGER.GenerateSilent("Finished fixing persons with http url.");
        }
コード例 #22
0
        protected override void ApplyChanges(AccessDatabase database)
        {
            SetParameter(database, "lookat_x", LookAt.X);

            SetParameter(database, "lookat_y", LookAt.Y);

            SetParameter(database, "lookat_z", LookAt.Z);

            SetParameter(database, "pos_x", Position.X);

            SetParameter(database, "pos_y", Position.Y);

            SetParameter(database, "pos_z", Position.Z);
        }
コード例 #23
0
ファイル: Common.cs プロジェクト: MelvinLervick/GolfEspWS
        public static DataTable GetAllTableData(string tableName)
        {
            var database = new AccessDatabase(ConfigurationManager.AppSettings["PROVIDER"],
                                              ConfigurationManager.AppSettings["DSN"]);

            if (!database.LoadAllTableData(tableName))
            {
                return(database.DbDataSet.Tables[tableName]);
            }

            return(new DataTable {
                TableName = tableName
            });
        }
コード例 #24
0
        public T GetParameter <T>(AccessDatabase database, string name) where T : struct
        {
            var table = database["BehaviorParameter"];

            foreach (var column in table.SeekMultiple((int)Id))
            {
                var entry = new BehaviorParameterTable(column);

                if (entry.parameterID == name)
                {
                    return((T)Convert.ChangeType(entry.value, typeof(T)));
                }
            }

            return(default);
コード例 #25
0
        protected override void Load(AccessDatabase database)
        {
            LookAt = new Vector3
            {
                X = GetParameter <float>(database, "lookat_x"),
                Y = GetParameter <float>(database, "lookat_y"),
                Z = GetParameter <float>(database, "lookat_z"),
            };

            Position = new Vector3
            {
                X = GetParameter <float>(database, "pos_x"),
                Y = GetParameter <float>(database, "pos_y"),
                Z = GetParameter <float>(database, "pos_z"),
            };
        }
コード例 #26
0
        public static LwoObject CopyObject(this AccessDatabase @this, int lot, int id = -1)
        {
            var source = @this.LoadObject(lot);

            var destination = @this.NewObject(id);

            foreach (var column in source.Row)
            {
                if (column.Name == "id")
                {
                    continue;
                }

                destination.Row[column.Name].Value = column.Value;
                destination.Row[column.Name].Type  = column.Type;
            }

            foreach (var component in source)
            {
                var destinationComponent = new LwoComponent(component.Id);

                destination.Add(destinationComponent);

                var sourceRow = component.Row;

                if (sourceRow == default)
                {
                    continue;
                }

                var destinationRow = destinationComponent.Row;

                foreach (var column in sourceRow)
                {
                    if (column.Name == "id")
                    {
                        continue;
                    }

                    destinationRow[column.Name].Value = column.Value;
                    destinationRow[column.Name].Type  = column.Type;
                }
            }

            return(destination);
        }
コード例 #27
0
    public Object authenticate(String username, String password, Object context)
    {
        String ticket = null;

        db = (AccessDatabase)context;
        try {
            ticket = db.getTicket(username, password);
        }
        catch (AccessDatabaseError e) {
            throw new AuthenticateExceptionInvalidCredentials();
        }
        catch (Exception e2) {
            // A temporary exception, retry later
            throw new AuthenticateException(e2.ToString());
        }
        return(ticket);
    }
コード例 #28
0
        public static async Task LoadSqlAsync(this AccessDatabase @this, string connectionString)
        {
            await using var connection = new SqliteConnection(connectionString);

            await connection.OpenAsync();

            foreach (var table in @this)
            {
                table.Clear();

                await using (var query = new SqliteCommand("SELECT * FROM ?", connection))
                {
                    query.Parameters.Add(table.Name);

                    await using var reader = await query.ExecuteReaderAsync();

                    while (await reader.ReadAsync())
                    {
                        var entry = table.Create();

                        foreach (var field in entry)
                        {
                            entry[field.Name].Value = field.Type switch
                            {
                                DataType.Nothing => (object)reader.GetInt32(field.Index),
                                DataType.Integer => reader.GetInt32(field.Index),
                                DataType.Unknown1 => reader.GetInt32(field.Index),
                                DataType.Unknown2 => reader.GetInt32(field.Index),
                                DataType.Float => reader.GetFloat(field.Index),
                                DataType.Text => reader.GetString(field.Index),
                                DataType.Varchar => reader.GetString(field.Index),
                                DataType.Boolean => reader.GetBoolean(field.Index),
                                DataType.Bigint => reader.GetInt64(field.Index),
                                _ => throw new ArgumentOutOfRangeException()
                            };
                        }
                    }
                }

                table.Recalculate();
            }

            await connection.CloseAsync();
        }
コード例 #29
0
        public async void DeletePlayer(object sender, EventArgs args)
        {
            var awnser = await DisplayAlert("Delete player", "Are you sure you do want delete this player?", "Yes", "No");

            if (awnser == false)
            {
                await DisplayAlert("Delete action", "Delete canceled", "Ok");
            }
            else
            {
                Label lblDelete = (Label)sender;
                TapGestureRecognizer tapGest = (TapGestureRecognizer)lblDelete.GestureRecognizers[0];
                var player = tapGest.CommandParameter as Player;

                AccessDatabase db = new AccessDatabase();
                db.DeletePlayer(player);
                UpdateScreen();
                btnHome.IsVisible = true;
            }
        }
コード例 #30
0
        public void UpdatePlayer(object sender, EventArgs args)
        {
            player.Name              = playerName.Text;
            player.PreviousTeam      = lastTeam.Text;
            player.Age               = short.Parse(age.Text);
            player.College           = cityBirth.Text;
            player.Salary            = double.Parse(salary.Text);
            player.Description       = description.Text;
            player.ThreePointShooter = shootThrees.IsToggled;
            player.PhoneNumber       = phone.Text;
            player.Email             = email.Text;

            //TODO - Update in the database
            AccessDatabase db = new AccessDatabase();

            db.UpdateList(player);

            //TODO - Go back to Previous Page
            App.Current.MainPage = new NavigationPage(new PlayersPage());
        }