コード例 #1
0
        private void buttonGO_Click(object sender, RoutedEventArgs e)
        {
            bool flag = false;
            for (int i = 0; i < List.Count; i++)
                if (List[i].val1 != -1 || List[i].val2 != -1)
                {
                    string names = "GOST_ID,MARKA,VYTYAZHKA";
                    for (int j = 0; j < List.Count; j++)
                        names += "," + task.yAll[j].name + "_MIN," + task.yAll[j].name;

                    string values = "'" + textBoxGost.Text + "','" + textBoxMarka.Text + "','" + textBoxType.Text + "'";
                    for (int j = 0; j < List.Count; j++)
                        values += "," + List[j].val1.ToString(System.Globalization.CultureInfo.InvariantCulture) + "," +
                            List[j].val2.ToString(System.Globalization.CultureInfo.InvariantCulture);

                    DBWorker dbConnection = new DBWorker();
                    int res = dbConnection.InsertGOST(names, values);
                    dbConnection.CloseConnection();
                    if (res == 1) MessageBox.Show("Запись добавлена!");
                    else MessageBox.Show("Ошибка добавления!");
                    this.Close();
                    flag = true;
                    break;
                }
            if (flag == false) MessageBox.Show("Введите границы!");
        }
コード例 #2
0
 public GostHelper()
 {
     InitializeComponent();
     DBWorker dbConnection = new DBWorker();
     task = new DataPlavka(dbConnection.GetPlavka(DbSelect.Columns, null));
     for (int i = 0; i < task.yAll.Count; i++)
         List.Add(new itemGrid(task.yAll[i].description, -1, -1));
     dbConnection.CloseConnection();
     gridGOST.ItemsSource = List;
 }
コード例 #3
0
        //грузим регрессионную модель
        private int LoadRegress(int id)
        {
            DBWorker dbConnection = new DBWorker();
                if (dbConnection.isConnected)
                {
                    DataTable modelTable = dbConnection.LoadModel(DbSelect.SelectReg, id);
                    if (W.task == null) W.task = new DataPlavka(dbConnection.GetPlavka(DbSelect.Columns, null)); //берем список параметров
                    if (modelTable == null)
                    {
                        if (W.modelRegress != null) W.modelRegress.buildInfo = -3;
                        return -1;
                    }
                    if (modelTable.Rows.Count == 0) return 0;
                    W.modelRegress = new RegressionModel(id);
                    W.modelRegress.date = Convert.ToDateTime(modelTable.Rows[0]["DATE_REG"]);
                    W.modelRegress.GOST = modelTable.Rows[0]["GOST_ID"].ToString();
                    W.modelRegress.mark = modelTable.Rows[0]["MARKA"].ToString() + " " + modelTable.Rows[0]["VYTYAZHKA"].ToString();
                    //W.task.GOST = W.modelRegress.GOST;
                    //W.task.mark = W.modelRegress.mark;
                    //формируем массив факторов Х
                    for (int i = 0; i < W.task.xAll.Count; i++)
                        if (modelTable.Rows[0][W.task.xAll[i].name] != System.DBNull.Value)
                            W.modelRegress.x.Add(i);
                    for (int i = 0; i < W.modelRegress.x.Count; i++) //проверяем простая или точная модель
                        if (modelTable.Rows[0][W.task.xAll[W.modelRegress.x[i]].name + "_F"] != System.DBNull.Value) { W.modelRegress.isUpgraded = true; break; }
                    if (W.modelRegress.isUpgraded)
                    {
                        W.modelRegress.typesF = new int[W.modelRegress.x.Count];
                        for (int i = 0; i < W.modelRegress.x.Count; i++)
                            W.modelRegress.typesF[i] = Convert.ToInt32(modelTable.Rows[0][W.task.xAll[W.modelRegress.x[i]].name + "_F"]);
                    }

                    for (int i = 0; i < modelTable.Rows.Count; i++) //каждая строка - модель
                    {
                        W.modelRegress.y.Add(Convert.ToInt32(modelTable.Rows[i]["Y_ID"]));
                        //W.task.y.Add(Convert.ToInt32(modelTable.Rows[i]["Y_ID"]));
                        double[] weights = new double[W.modelRegress.x.Count + 1]; //последний - свобоный ЧЛЕН
                        for (int j = 0; j < W.modelRegress.x.Count; j++)
                            weights[j] = Convert.ToDouble(modelTable.Rows[i][W.task.xAll[W.modelRegress.x[j]].name]);
                        weights[W.modelRegress.x.Count] = Convert.ToDouble(modelTable.Rows[i]["A"]);
                        RegEquation modelOne = new RegEquation(weights, Convert.ToDouble(modelTable.Rows[i]["FISHER"]),
                            Convert.ToDouble(modelTable.Rows[i]["FISHER_VAL"]), Convert.ToDouble(modelTable.Rows[i]["RMSERROR"]));
                        modelOne.descr = W.task.yAll[W.modelRegress.y[i]].description;
                        if (modelOne.F_test == 0) modelOne.F_test = 1.0e-16;
                        W.modelRegress.equation.Add(modelOne);
                    }
                }
                dbConnection.CloseConnection();
                return 1;
        }
コード例 #4
0
        public static void MyClassInitialize(TestContext testContext)
        {
            string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db";

            // To enable tests in a virtual machine (change the letter accordingly)
            if (!Char.IsLetter(testDbPath.First()))
            {
                testDbPath = "Z:" + testDbPath.Substring(10);
            }

            ConParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath);

            DBWorker.ConfigureDBConnection(ConParams);
            DBWorker.OpenConnection();

            DBWorker.BuildMetadataRepository();

            Model = Serializer.Deserialize <MatrixSelectionModel>(@"Files\MatrixSelection.mpm");
        }
コード例 #5
0
        void InitChart_AppRunsByDay(DbConnection conn, DBWorker worker)
        {
            DbCommand cmd = conn.CreateCommand();

            string dateFormatStr = worker.GetConvertDateToStringExpression("StartTime", worker.GetDateFormatString_yyyy_mm_dd());

            InitQueryForUsageReportTable("select " + dateFormatStr + " as RunDate, count(s.ID) as NumSessions, avg(" + worker.GetDateDiffExpression("StartTime", "EndTime", "s") + ") as Dur from " + svc.UsageReportTableName + " as s ", cmd, " group by " + dateFormatStr);

            DataTable dt = LoadDataTableFromCommand(cmd);

            AddDurationColumnFromSeconds(dt, "Duration", 2);

            Chart1.DataSource = dt;
            Chart1.Series["Series1"].XValueMember  = "RunDate";
            Chart1.Series["Series1"].YValueMembers = "NumSessions";
            Chart1.Series["Series1"].Label         = "#VALY\n(#PERCENT)";
            Chart1.Series["Series1"].ChartType     = SeriesChartType.Line;

            SetAxisProperties(Chart1.ChartAreas[0].AxisX, "Number Of Runs");

            ChartArea ca = Chart1.ChartAreas.Add("duration");

            Series s = Chart1.Series.Add("duration");

            s.ChartArea           = "duration";
            s.XValueMember        = "RunDate";
            s.YValueMembers       = "Duration";
            s.YValueType          = ChartValueType.DateTime;
            s.IsValueShownAsLabel = true;
            s.LabelFormat         = "HH:mm";


            ca.AxisY.Minimum            = 0;
            ca.AxisY.LabelStyle.Format  = "HH:mm";
            ca.AxisY.LabelStyle.Enabled = true;

            SetAxisProperties(ca.AxisX, "Avg Duration");

            AlignChartAreaTo(ca, Chart1.ChartAreas[0].Name);

            Chart1.DataBind();
        }
コード例 #6
0
        public void SQLiteTests()
        {
            // arrange
            string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db";

            // To enable tests in a virtual machine (change the letter accordingly)
            if (!Char.IsLetter(testDbPath.First()))
            {
                testDbPath = "Z:" + testDbPath.Substring(10);
            }

            ConnectionParameters conParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath);

            Assert.IsTrue(DBWorker.ConfigureDBConnection(conParams), "SQLite connection configured");
            Assert.IsTrue(DBWorker.OpenConnection(), "SQLite connection opened");
            Assert.IsTrue(DBWorker.IsOpen(), "SQLite connection is currently open");
            Assert.IsFalse(string.IsNullOrEmpty(DBWorker.GetConnectionName()), "SQLite connection name correct.");
            Assert.IsTrue(DBWorker.CloseConnection(), "SQLite connection closed");
            DBWorker.Reset();
        }
コード例 #7
0
        public BaseBot(string token, string DBConnectionString)
        {
            try
            {
                logger.Info("Creating new bot");
                this.token = token;
                this.DBConnectionString = DBConnectionString;
                botClient = new TelegramBotClient(token);

                sender_to_tg = new Sender();
                dBWorker     = new DBWorker(DBConnectionString);
                factory      = new WrapperFactory(botClient, dBWorker, token);
                EventsInit();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw ex;
            }
        }
コード例 #8
0
        public void GenerateScript(int revisionId)
        {
            // get the revision
            var rev = _db.Revisions.Find(revisionId);

            // make sure it's in progress
            if (rev.RevisionStatusCode != RevisionStatuses.InProgress)
            {
                throw new Exception($"{rev.RevisionName} is not in progress");
            }

            // first update the database
            DBWorker dbWorker = new DBWorker();

            rev.ScriptFilename = dbWorker.ExecuteRevision(new CommitRevsionArgs()
            {
                Revision = rev, RevisionId = revisionId, ExcuteMigration = false
            });
            _db.SaveChanges();
        }
コード例 #9
0
        static void Main(string[] args)
        {
            DataGenerator generator  = new DataGenerator();
            FileWorker    fileWorker = new FileWorker(generator);
            DBWorker      dbWorker   = new DBWorker();

            //Generating files
            fileWorker.GenerateFiles("D:\\Files");

            //Merging files into one
            Console.WriteLine(fileWorker.MergeFiles("D:\\Files", null, "ПаШа") + " strings were deleted.");


            fileWorker.ProcessInfo += FileWorker_ProcessInfo;
            //Saving data to DB
            fileWorker.SaveData("D:\\Files\\Result.txt", dbWorker);

            Console.WriteLine("Sum is: " + dbWorker.GetSumFromIntColumn());
            Console.WriteLine("Median is: " + dbWorker.GetMedian());
        }
コード例 #10
0
        public void MSSQLTests()
        {
            ConnectionParameters conParams = new ConnectionParameters
            {
                Type     = "MS-SQL",
                Name     = "MS-SQL Connection",
                Host     = Settings.Default.mssql_host,
                Database = Settings.Default.mssql_database,
                Port     = Settings.Default.mssql_port,
                User     = Settings.Default.mssql_user,
                Password = Settings.Default.mssql_password
            };

            Assert.IsTrue(DBWorker.ConfigureDBConnection(conParams), "MS-SQL connection configured");
            Assert.IsTrue(DBWorker.OpenConnection(), "MS-SQL connection opened");
            Assert.IsTrue(DBWorker.IsOpen(), "MS-SQL connection is currently open");
            Assert.IsFalse(string.IsNullOrEmpty(DBWorker.GetConnectionName()), "MS-SQL connection name correct.");
            Assert.IsTrue(DBWorker.CloseConnection(), "MS-SQL connection closed");
            DBWorker.Reset();
        }
コード例 #11
0
        public static void MyClassInitialize(TestContext testContext)
        {
            ConParams = new ConnectionParameters
            {
                Type     = "PostgreSQL",
                Name     = "PostgreSQL Connection",
                Host     = Settings.Default.postgresql_host,
                Database = Settings.Default.postgresql_database,
                Port     = Settings.Default.postgresql_port,
                User     = Settings.Default.postgresql_user,
                Password = Settings.Default.postgresql_password
            };

            DBWorker.ConfigureDBConnection(ConParams);
            DBWorker.OpenConnection();

            DBWorker.BuildMetadataRepository();

            Model = Serializer.Deserialize <MatrixSelectionModel>(@"Files\PostgreResults.mpm");
        }
コード例 #12
0
 public MapEngine(BlockingCollection<User> usersBlockingCollection
                                                 , BlockingCollection<Coordinates<User>> usersMoveCoordinatesBlockingCollection
                                                 , BlockingCollection<InfoCurrentStateMap> outInfoBlockingCollection)
 {
     _usersBlockingCollection = usersBlockingCollection;
     _usersMoveCoordinatesBlockingCollection = usersMoveCoordinatesBlockingCollection;
     _outInfoCurrentStateMap = outInfoBlockingCollection;
     _dbWorker = new DBWorker();
     User user1 = new User() { Id = 1, Name = "Vova" };
     _users.Add(user1.Id, user1);
     _usersCoordinates.Add(user1.Id, new Coordinates<User>() { Model = user1, x = spawnCoordinates.x, y = spawnCoordinates.y});
     User user2 = new User() { Id = 2, Name = "Dima" };
     _users.Add(user2.Id, user2);
     _usersCoordinates.Add(user2.Id, new Coordinates<User>() { Model = user2, x = spawnCoordinates.x, y = spawnCoordinates.y});
     TemporaryObjectPokemon monsters1 = new TemporaryObjectPokemon() { Id = Guid.NewGuid(), Name = "Pig" };
     _monsters.Add(monsters1.Id, monsters1);
     _monstersCoordinates.Add(monsters1.Id, new Coordinates<TemporaryObjectPokemon>() { Model = monsters1, x = spawnCoordinates.x, y = spawnCoordinates.y });
     TemporaryObjectPokemon monsters2 = new TemporaryObjectPokemon() { Id = Guid.NewGuid(), Name = "Pig" };
     _monsters.Add(monsters2.Id, monsters2);
     _monstersCoordinates.Add(monsters2.Id, new Coordinates<TemporaryObjectPokemon>() { Model = monsters2, x = spawnCoordinates.x, y = spawnCoordinates.y });
 }
コード例 #13
0
        public static void MyClassInitialize(TestContext testContext)
        {
            //Assert.Inconclusive("Oracle not yet tested");
            ConParams = new ConnectionParameters
            {
                Type     = "Oracle",
                Name     = "Oracle Connection",
                Host     = Settings.Default.oracle_host,
                Database = Settings.Default.oracle_service,
                Port     = Settings.Default.oracle_port,
                User     = Settings.Default.oracle_user,
                Password = Settings.Default.oracle_password
            };

            DBWorker.ConfigureDBConnection(ConParams);
            DBWorker.OpenConnection();

            DBWorker.BuildMetadataRepository();

            Model = Serializer.Deserialize <MatrixSelectionModel>(@"Files\OracleResults.mpm");
        }
コード例 #14
0
        public void UserBansTest()
        {
            DBWorker dBWorker          = DBWorkerInit();
            string   bot_token_for_ban = "token1";
            string   bot_token2        = "token2";
            string   bot_token3        = "token3";

            dBWorker.add_user(DateTime.UtcNow, 1, bot_token_for_ban);
            dBWorker.add_user(DateTime.UtcNow, 2, bot_token_for_ban);
            dBWorker.add_user(DateTime.UtcNow, 1, bot_token2);
            dBWorker.add_user(DateTime.UtcNow, 1, bot_token3);
            System.Threading.Thread.Sleep(500);
            dBWorker.ban_user(1, 1, bot_token_for_ban);
            System.Threading.Thread.Sleep(500);
            bool res = dBWorker.check_user_ban(1, 1, bot_token_for_ban);

            Assert.IsTrue(res);
            Assert.IsFalse(dBWorker.check_user_ban(2, 1, bot_token_for_ban));
            Assert.IsFalse(dBWorker.check_user_ban(2, 1, bot_token2));
            Assert.IsFalse(dBWorker.check_user_ban(1, 1, bot_token3));
        }
コード例 #15
0
    /*
     * private void saveLevel (string path){
     *
     *      FileWorker.writeLevelInFile (path, field, pictures, "Level name", "Level description");
     * }*/

    public void saveTask(bool asNew)
    {
        if (taskTitle != null && taskTitle.Length > 0)
        {
            Task task = new Task(taskTitle, taskDescription, field.BackgroundId, type.value);
            task.setGamePictures(picturesBar.getGamePictures());
            if (!asNew && DataTransfer.Task != null)
            {
                task.DBId = DataTransfer.Task.DBId;
            }
            DataTransfer.Task      = task;
            DataTransfer.Task.DBId = DBWorker.saveTask(task);
            //DataTransfer.Task = DBWorker.loadLastAddedTask ();
            showSaveMenu(false);
            freez(false);
        }
        else
        {
            enterTitleError.active = true;
        }
    }
コード例 #16
0
        public string Search(string query)
        {
            DBWorker           dbworker = new DBWorker();
            List <GeneralPost> posts    = dbworker.GetAllPostsByHashTag(query);

            if (posts.Count != 0)
            {
                Pagination   pag = dbworker.GetPaginations(query);
                SearchResult res = new SearchResult();
                res.Posts             = posts;
                res.InstPagination    = pag.InstagrammPagination;
                res.VKPagination      = pag.VKPagination;
                res.TwitterPagination = pag.TwitterPagination;
                res.Query             = query;
                return(JsonConvert.SerializeObject(res));
            }

            AggregatorModel aggregator = new AggregatorModel();

            return(JsonConvert.SerializeObject(aggregator.Search(query)));
        }
コード例 #17
0
        public override void logToDB()
        {
            long?pairChatId    = null;
            long?pairMessageId = null;

            if (linkedMessage != null)
            {
                pairChatId    = linkedMessage.Chat.Id;
                pairMessageId = linkedMessage.MessageId;
            }
            if (result != null)
            {
                foreach (Message mess in result)
                {
                    DBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, mess.MessageId,
                                         mess.Chat.Id, mess.From != null?((long?)mess.From.Id):null, mess.ReplyToMessage == null ? 0 : mess.ReplyToMessage.MessageId,
                                         bot_token, mess.Text, mess.Caption, mess.Photo != null ? mess.Photo.Last().FileId : null,
                                         mess.MediaGroupId, true, pairChatId, pairMessageId, ButtonsData: CommonFunctions.CteateReturningValuesFromKeyboard(mess.ReplyMarkup));
                }
            }
        }
コード例 #18
0
        void InitChart_AppRunsWithVersion(DbConnection conn, DBWorker worker)
        {
            DbCommand cmd = conn.CreateCommand();

            string floatToStrExpr = worker.GetConvertFloatToStringExpression("s.AppVersion", -1, 1);

            InitQueryForUsageReportTable("select s.AppName+' v'+" + floatToStrExpr + " as App, count(s.ID) as NumSessions, avg(" + worker.GetDateDiffExpression("s.StartTime", "s.EndTime", "s") + ") as Dur from " + svc.UsageReportTableName + " as s ", cmd, "group by s.AppName,s.AppVersion order by count(s.ID) DESC");

            DataTable dt = LoadDataTableFromCommand(cmd);

            AddDurationColumnFromSeconds(dt, "Duration", 2);

            Chart1.DataSource = dt;
            Chart1.Series["Series1"].XValueMember  = "App";
            Chart1.Series["Series1"].YValueMembers = "NumSessions";
            Chart1.Series["Series1"].Label         = "#VALY\n(#PERCENT)";
            SetAxisProperties(Chart1.ChartAreas[0].AxisX, "Number Of Runs");

            ChartArea ca = Chart1.ChartAreas.Add("duration");

            Series s = Chart1.Series.Add("duration");

            s.ChartArea           = "duration";
            s.XValueMember        = "App";
            s.YValueMembers       = "Duration";
            s.YValueType          = ChartValueType.DateTime;
            s.IsValueShownAsLabel = true;
            s.LabelFormat         = "HH:mm";


            ca.AxisY.Minimum            = 0;
            ca.AxisY.LabelStyle.Format  = "HH:mm";
            ca.AxisY.LabelStyle.Enabled = true;

            SetAxisProperties(ca.AxisX, "Avg Duration");

            AlignChartAreaTo(ca, Chart1.ChartAreas[0].Name);

            Chart1.DataBind();
        }
コード例 #19
0
        private int LoadDescret(int id)
        {
            DBWorker dbConnection = new DBWorker();
            if (dbConnection.isConnected)
            {
                DataTable modelTable = dbConnection.LoadModel(DbSelect.SelectDes, id);
                if (W.task == null) W.task = new DataPlavka(dbConnection.GetPlavka(DbSelect.Columns, null)); //берем список параметров
                if (modelTable == null) return -1;
                if (modelTable.Rows.Count == 0) return 0;
                W.modelDescret = new DescrModel(id);
                W.modelDescret.date = Convert.ToDateTime(modelTable.Rows[0]["DATE_DES"]);

                W.modelDescret.GOST = modelTable.Rows[0]["GOST_ID"].ToString();
                W.modelDescret.mark = modelTable.Rows[0]["MARKA"].ToString() + " " + modelTable.Rows[0]["VYTYAZHKA"].ToString();
                //W.task.GOST = W.modelDescret.GOST;
                //W.task.mark = W.modelDescret.mark;
                W.modelDescret.alpha = Convert.ToDouble(modelTable.Rows[0]["ALPHA"]);
                W.modelDescret.beta = Convert.ToDouble(modelTable.Rows[0]["BETA"]);
                W.modelDescret.criteria = Convert.ToDouble(modelTable.Rows[0]["U"]);
                string ys = modelTable.Rows[0]["YS"].ToString();
                string[] ys2 = ys.Split('@');
                for (int i = 0; i < ys2.Length; i++) W.modelDescret.y.Add(Convert.ToInt32(ys2[i])); //установили У
                //формируем массив факторов Х
                for (int i = 0; i < W.task.xAll.Count; i++)
                    if (modelTable.Rows[0][W.task.xAll[i].name] != System.DBNull.Value)
                        W.modelDescret.x.Add(i);

                for (int i = 0; i < W.modelDescret.x.Count; i++)
                {
                    double lower = Convert.ToDouble(modelTable.Rows[0][W.task.xAll[W.modelDescret.x[i]].name + "_MIN"]);
                    double upper = Convert.ToDouble(modelTable.Rows[0][W.task.xAll[W.modelDescret.x[i]].name]);
                    string descr = W.task.xAll[W.modelDescret.x[i]].description;
                    Conditions c = new Conditions(lower, upper, descr);
                    W.modelDescret.xBounds.Add(c);
                }
            }
            dbConnection.CloseConnection();
            return 1;
        }
コード例 #20
0
        public void get_pair_message_idTest()
        {
            string   bot_token = "token1";
            DBWorker dBWorker  = DBWorkerInit();

            dBWorker.add_user(DateTime.UtcNow, 1, bot_token);
            dBWorker.add_user(DateTime.UtcNow, 2, bot_token);
            dBWorker.add_user(DateTime.UtcNow, 3, bot_token);
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 1, 1, 1, 0, bot_token, text: "some text1");
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 2, 1, 1, 0, bot_token, text: "some text2");
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 3, 1, 1, 0, bot_token, text: "some text3");
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 1, 2, 2, 0, bot_token, text: "some text1");
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 2, 2, 2, 0, bot_token, text: "some text2", pair_chat_id: 1, pair_message_id: 3);
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 3, 2, 2, 0, bot_token, text: "some text3");
            System.Threading.Thread.Sleep(500);
            Assert.AreEqual(3, dBWorker.get_pair_message_id(2, 2, bot_token));
            Assert.AreEqual(2, dBWorker.get_pair_message_id(1, 3, bot_token));
            Assert.IsNull(dBWorker.get_pair_message_id(1, 1, bot_token));
            dBWorker.add_message(DateTime.UtcNow, DateTime.UtcNow, 2, 2, 2, 0, bot_token, text: "some text4");
            Assert.AreEqual(1, dBWorker.get_pair_chat_id(2, 2, bot_token));
            Assert.AreEqual(2, dBWorker.get_pair_chat_id(1, 3, bot_token));
            Assert.IsNull(dBWorker.get_pair_chat_id(1, 1, bot_token));
        }
コード例 #21
0
        void InitChart_FeatureUsageByFeature(DbConnection conn, DBWorker worker)
        {
            DbCommand cmd = conn.CreateCommand();

            InitQueryForFeatureTable("select f.Name, count(f.Name) as NumSessions, avg(" + worker.GetDateDiffExpression("f.StartTime", "f.EndTime", "s") + ")  as Dur from " + svc.UsageReportFeatureTableName + " as f ", cmd, " group by f.Name order by count(f.Name) desc;");
            DataTable dt = LoadDataTableFromCommand(cmd);

            AddDurationColumnFromSeconds(dt, "Duration", 2);

            Chart1.DataSource = dt;
            Chart1.Series["Series1"].XValueMember  = "Name";
            Chart1.Series["Series1"].YValueMembers = "NumSessions";
            Chart1.Series["Series1"].Label         = "#VALY\n(#PERCENT)";
            SetAxisProperties(Chart1.ChartAreas[0].AxisX, "Feature Usage Count");

            ChartArea ca = Chart1.ChartAreas.Add("duration");

            Series s = Chart1.Series.Add("duration");

            s.ChartArea           = "duration";
            s.XValueMember        = "name";
            s.YValueMembers       = "Duration";
            s.YValueType          = ChartValueType.DateTime;
            s.IsValueShownAsLabel = true;
            s.LabelFormat         = "HH:mm:ss";

            ca.AxisY.Minimum            = 0;
            ca.AxisY.LabelStyle.Format  = "HH:mm:ss";
            ca.AxisY.LabelStyle.Enabled = true;

            SetAxisProperties(ca.AxisX, "Avg Duration");

            AlignChartAreaTo(ca, Chart1.ChartAreas[0].Name);

            Chart1.DataBind();
        }
コード例 #22
0
        public void OracleTests()
        {
            // arrange
            ConnectionParameters conParams = new ConnectionParameters
            {
                Type     = "Oracle",
                Name     = "Oracle Connection",
                Host     = Settings.Default.oracle_host,
                Database = Settings.Default.oracle_service,
                Port     = Settings.Default.oracle_port,
                User     = Settings.Default.oracle_user,
                Password = Settings.Default.oracle_password
            };

            Assert.IsTrue(DBWorker.ConfigureDBConnection(conParams), "Oracle connection configured");
            Assert.IsTrue(DBWorker.OpenConnection(), "Oracle connection opened");
            Assert.IsTrue(DBWorker.IsOpen(), "Oracle connection is currently open");
            Assert.IsFalse(string.IsNullOrEmpty(DBWorker.GetConnectionName()), "Oracle connection name correct.");
            Assert.IsTrue(DBWorker.CloseConnection(), "Oracle connection closed");
            Assert.IsTrue(DBWorker.TryConnection(), "Try Connection");
            Assert.IsTrue(DBWorker.DisposeConnection(), "Connection disposed");

            DBWorker.Reset();
        }
コード例 #23
0
ファイル: MainVM.cs プロジェクト: Thujed/Quiz
        public MainVM()
        {
            Players.CollectionChanged += (s, e) =>
                                         PlayersPresentationData.OnPlayersInfoUpdate(Players.OrderByDescending(p => p.PlayerName.Length).First().PlayerName);

            DBWorker dataBase = new DBWorker();

            Players.AddRange(dataBase.GetAllPlayers().
                             Select(p => new PlayerDataVM(p)).
                             ToList());
            int playersCount = Players.Count;

            for (int i = 0; i < MIN_PLAYERS_COUNT - playersCount; ++i)
            {
                Players.Add(new PlayerDataVM(new Player(
                                                 "Player " + (Players.Count + 1).ToString(),
                                                 0,
                                                 Players.Count >= _defaultPlayerColours.Length ? Color.FromRgb(125, 125, 125) : _defaultPlayerColours[Players.Count]
                                                 )));
            }

            Players.LinkActionToPlayerDataList(Player_OnPlayerSelected);
            ChangePointsVM.OnPlayerPointsChanged += ChangePointsVM_OnPlayerPointsChanged;
        }
コード例 #24
0
        public static void MyClassInitialize(TestContext testContext)
        {
            string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db";

            // To enable tests in a virtual machine (change the letter accordingly)
            if (!Char.IsLetter(testDbPath.First()))
            {
                testDbPath = "Z:" + testDbPath.Substring(10);
            }

            ConParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath);

            String dbDatabaseWithoutPathName = ConParams.Database.Substring(ConParams.Database.LastIndexOf(("\\"), StringComparison.Ordinal) + 1);

            Path = AppDomain.CurrentDomain.BaseDirectory + @"\Metadata_" + dbDatabaseWithoutPathName + "@" + ConParams.Host + ".xml";

            DBWorker.ConfigureDBConnection(ConParams);
            DBWorker.OpenConnection();

            DBWorker.BuildMetadataRepository();
            XMLHelper.SerializeObjectToXML(Path, DBWorker.MetaData);

            XmlMetadata = XMLHelper.DeserializeObjectFromXML <MetaDataRepository>(Path);
        }
コード例 #25
0
        public DataSelect(TaskConfig w)
        {
            InitializeComponent();
            mainWindow = w;
            dbConnection = new DBWorker();

            //подключаемся к БД и извлекаем начальную инфу о параметрах и марках стали
            if (dbConnection.isConnected)
            {
                task = new DataPlavka(dbConnection.GetPlavka(DbSelect.Columns, null));
                for (int i = 0; i < task.xAll.Count; i++)
                        xListBox.Items.Add(task.xAll[i].description);
                for (int i = 0; i < task.yAll.Count; i++)
                    yListBox.Items.Add(task.yAll[i].description);

                DataTable dt = dbConnection.GetPlavka(DbSelect.Marks, null);
                for (int i = 0; i < dt.Rows.Count; i++)
                    markComboBox.Items.Add(dt.Rows[i].ItemArray[0]);

                gostComboBox.IsEnabled = false;
                typeComboBox.IsEnabled = false;
                dbConnection.CloseConnection();
            }
        }
コード例 #26
0
        /// <summary>
        /// Test the Database-Connection.
        /// </summary>
        /// <param Name="sender"></param>
        /// <param Name="e"></param>
        /// <author>Bernhard Bruns</author>
        private void TestConnectionClick(object sender, RoutedEventArgs e)
        {
            Cursor = Cursors.Wait;

            ConnectionParameters connectionParameters = new ConnectionParameters();

            connectionParameters.Type     = DBTypeComboBox.SelectedItem.ToString();
            connectionParameters.Name     = DBConnectionnameTextBox.Text;
            connectionParameters.User     = DBUsernameTextBox.Text;
            connectionParameters.Password = DBPasswordPasswordBox.Password;
            connectionParameters.Host     = DBHostnameTextBox.Text;
            connectionParameters.Database = DBDatabaseTextBox.Text;
            connectionParameters.Port     = DBPortTextBox.Text;


            try
            {
                if (DBWorker.ConfigureDBConnection(connectionParameters))
                {
                    if (DBWorker.OpenConnection())
                    {
                        ModernDialog.ShowMessage("The connection to " + connectionParameters.Host + " is established.", "Connection", MessageBoxButton.OK);
                    }
                    else
                    {
                        ErrorHandling.ReportErrorToUser("The connection could not be established.");
                    }
                }
                else
                {
                    ModernDialog.ShowMessage("The connection could not be established. It's probably not implemented yet.", "Error: Implementation missing", MessageBoxButton.OK);
                }
            }
            catch (NoParamsGivenException ex)
            {
                ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Missing parameters", MessageBoxButton.OK);
            }
            catch (ConnectionTypeNotGivenException ex)
            {
                ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: No connection Type", MessageBoxButton.OK);
            }
            catch (NoConnectionException ex)
            {
                ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: No connection", MessageBoxButton.OK);
            }

            catch (UnauthorizedAccessException ex)
            {
                ModernDialog.ShowMessage(ex.Message, "Error: Access denied ", MessageBoxButton.OK);
            }

            catch (WrongCredentialsException ex)
            {
                ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Wrong credentials", MessageBoxButton.OK);
            }
            catch (DatabaseDoesNotExist ex)
            {
                ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Wrong database", MessageBoxButton.OK);
            }
            catch (TimeoutException ex)
            {
                ModernDialog.ShowMessage(ex.Message, "Error: Timeout", MessageBoxButton.OK);
            }
            catch (DBException ex)
            {
                ModernDialog.ShowMessage(ex.Message, "Error: Unknown", MessageBoxButton.OK);
            }

            finally
            {
                Cursor = Cursors.Arrow;
            }
        }
コード例 #27
0
        public static List <Pagination> Cash(string cashquery, int countofpages)
        {
            if (!Directory.Exists((Path + @"Cash\" + cashquery)))
            {
                Directory.CreateDirectory(Path + @"Cash\" + cashquery);
            }
            List <string> files = Directory.EnumerateFiles(Path + @"Cash\" + cashquery).ToList();

            files.ForEach(file =>
            {
                File.Delete(file);
            });

            AggregatorModel    model    = new AggregatorModel();
            List <GeneralPost> allposts = new List <GeneralPost>();
            SearchResult       result   = new SearchResult();

            result = model.Search(cashquery);
            allposts.AddRange(result.Posts);
            for (int i = 0; i < countofpages - 1; i++)
            {
                result = model.More(cashquery, result.VKPagination, result.InstPagination, result.TwitterPagination);
                if (result.Posts.Count != 0)
                {
                    allposts.AddRange(result.Posts);
                }
                else
                {
                    countofpages = i + 2;
                    break;
                }
            }
            result.Posts = allposts;
            List <Thread> imageThreads = new List <Thread>();

            imageNum = 0;

            foreach (var post in result.Posts)
            {
                Thread imageThread = new Thread(() =>
                {
                    post.Image = DownloadImage(post.Image, cashquery);
                });

                Thread avatarThread = new Thread(() =>
                {
                    post.AuthorAvatar = DownloadImage(post.AuthorAvatar, cashquery);
                });

                imageThreads.Add(avatarThread);
                imageThreads.Add(imageThread);
                avatarThread.Start();
                imageThread.Start();
            }

            foreach (Thread thread in imageThreads)
            {
                thread.Join();
            }

            DBWorker dbworker = new DBWorker();

            dbworker.DeleteAllPostsByHashTag(null);
            dbworker.DeleteAllPostsByHashTag(cashquery);
            dbworker.DeletePagination(cashquery);
            dbworker.AddAllPosts(result.Posts, cashquery);
            dbworker.AddPagination(new Pagination()
            {
                DateOfAdd            = DateTime.Now,
                CountOfPages         = countofpages,
                VKPagination         = result.VKPagination,
                InstagrammPagination = result.InstPagination,
                TwitterPagination    = result.TwitterPagination,
                HashTag = cashquery
            });

            return(dbworker.GetAllPagination());
        }
コード例 #28
0
 public BaseServiceDB()
 {
     _dbWorker = new DBWorker();
 }
コード例 #29
0
 private void markComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (markComboBox.SelectedIndex != -1)
     {
         DBWorker dbConnection = new DBWorker();
         if (dbConnection.isConnected)
         {
             DataTable dt = dbConnection.GetPlavka(DbSelect.GOSTS, markComboBox.SelectedItem.ToString());
             gostComboBox.Items.Clear();
             for (int i = 0; i < dt.Rows.Count; i++)
                 gostComboBox.Items.Add(dt.Rows[i].ItemArray[0]);
             gostComboBox.IsEnabled = true;
             typeComboBox.IsEnabled = false;
             typeComboBox.Items.Clear();
         }
         dbConnection.CloseConnection();
     }
 }
コード例 #30
0
 private void view_Click(object sender, RoutedEventArgs e)
 {
     DBWorker dbConnection = new DBWorker();
     DataTable res = new DataTable();
         if (dbConnection.isConnected)
         {
             if (radioLoadReg.IsChecked == true) res = dbConnection.ViewAvaliableModels(DbSelect.SelectReg);
             if (radioLoadDes.IsChecked == true) res = dbConnection.ViewAvaliableModels(DbSelect.SelectDes);
             if (radioLoadOpt.IsChecked == true) res = dbConnection.ViewAvaliableModels(DbSelect.SelectTech);
         }
         Window viewer = new Window();
         viewer.MaxHeight = 600;
         viewer.MaxWidth = 900;
         DataGrid dg = new DataGrid();
         dg.ItemsSource = res.AsDataView();
         viewer.SizeToContent = System.Windows.SizeToContent.WidthAndHeight;
         viewer.Content = dg;
         viewer.Show();
 }
コード例 #31
0
 private void gostComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (gostComboBox.HasItems)
     {
         DBWorker dbConnection = new DBWorker();
         if (dbConnection.isConnected)
         {
             string[] conds = new string[2];
             conds[0] = markComboBox.SelectedItem.ToString();
             conds[1] = gostComboBox.SelectedItem.ToString();
             DataTable dt = dbConnection.GetPlavka(DbSelect.SteelTypes, conds);
             typeComboBox.Items.Clear();
             for (int i = 0; i < dt.Rows.Count; i++)
                 typeComboBox.Items.Add(dt.Rows[i].ItemArray[0]);
             typeComboBox.IsEnabled = true;
         }
         dbConnection.CloseConnection();
     }
 }
コード例 #32
0
    static void Main(string[] args)
    {
        DBWorker worker = new DBWorker();

        worker.DoDatabaseWork();
    }
コード例 #33
0
 public HomeController(SensorsContext context)
 {
     _context = context;
     dbw      = new DBWorker(_context);
     dr       = new DataReciever(_context);
 }
コード例 #34
0
 public MainWindow()
 {
     InitializeComponent();
     connection = new DBWorker();
 }
コード例 #35
0
ファイル: LoginForm.cs プロジェクト: unkindypie/task-spy
        private async void button1_Click(object sender, EventArgs e)
        {
            //валидация ip
            bool isIpValid = false;

            if (textBox1.Text == "")
            {
                isIpValid = true;
            }
            else
            {
                try
                {
                    IPAddress.Parse(textBox1.Text);
                    isIpValid = true;
                }
                catch { }
            }


            if (isIpValid && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "")
            {
                DBWorker.SetCredentials(textBox4.Text, textBox1.Text, textBox2.Text, textBox3.Text);
                bool connected = false;
                try
                {
                    System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
                    connected = await DBWorker.Self.ConnectAsync(false);
                } catch
                {
                }
                if (!connected)
                {
                    MessageBox.Show($"Невозможно подключится к серверу {textBox4.Text}. Проверьте данные, которые вы ввели.");
                }

                else
                {
                    serverName = textBox4.Text;
                    ip         = textBox1.Text;
                    userName   = textBox2.Text;
                    password   = textBox3.Text;

                    if (checkBox1.Checked)
                    {
                        ConfigManager.Config.server   = textBox4.Text;
                        ConfigManager.Config.ip       = textBox1.Text;
                        ConfigManager.Config.username = textBox2.Text;
                        ConfigManager.Config.password = textBox3.Text;
                    }

                    this.DialogResult = DialogResult.OK;
                    Close();
                }
            }
            else
            {
                if (!isIpValid)
                {
                    MessageBox.Show("IP не валидный!");
                }
                else
                {
                    MessageBox.Show("Все должны обязательно быть заполннеными. IP может быть оставлен пустым, если сервер в нем не нуждается.");
                }
            }
        }
コード例 #36
0
 private async void HandleNoteCommand(string[] parameters, SLRuntimeEventArgs e)
 {
     if (parameters.Length >= 2)
     {
         string   option   = parameters[1];
         DBWorker dbWorker = new DBWorker(cDatabaseFolderPath + e.user + ".sqlite");
         dbWorker.Open();
         if (option.Equals("-l"))
         {
             List <DBNotesEntry> dbNotesEntriesList = dbWorker.SelectNotes();
             if (dbNotesEntriesList.Count > 0)
             {
                 foreach (DBNotesEntry dbNoteEntry in dbNotesEntriesList)
                 {
                     StringBuilder message = new StringBuilder("");
                     message.Append("Id: ");
                     message.Append(dbNoteEntry.id);
                     message.Append("\n");
                     message.Append("Note: ");
                     //string normalized = SLNormalizer.Normalize(dbNoteEntry.note);
                     //message.Append(normalized);
                     message.Append(dbNoteEntry.note);
                     message.Append("\n");
                     await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message.ToString()), true, true);
                 }
             }
             else
             {
                 string message = "There is 0 notes found in database";
                 await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message), true);
             }
         }
         else if (option.Equals("-d"))
         {
             if (parameters.Length >= 3)
             {
                 string id = parameters[2];
                 if (dbWorker.DeleteNote(id) > 0)
                 {
                     string message = "Note " + id + " was deleted";
                     await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message.ToString()), true);
                 }
                 else
                 {
                     string message = "Note was not deleted or there is no note to delete";
                     await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message), true);
                 }
             }
         }
         else if (option.Equals("-da"))
         {
             int deletedNotesCount = dbWorker.DeleteAllNotes();
             if (deletedNotesCount > 0)
             {
                 string message = deletedNotesCount + " notes was deleted";
                 await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message.ToString()), true);
             }
             else
             {
                 string message = "Notes was not deleted or there is no notes to delete";
                 await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message), true);
             }
         }
         else
         {
             string note = e.text.Substring((cNoteCommand + " ").Length);
             if ((dbWorker.InsertNote(SLNormalizer.Denormalize(note))) > 0)
             {
                 string message = "Note was added";
                 await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message.ToString()), true);
             }
             else
             {
                 string message = "For some reason note was not inserted";
                 await slWebApiClient.ChatPostMessageAsync(e.channel, slWebApiClient.WrapWithConsoles(message), true);
             }
         }
         dbWorker.Close();
     }
 }
コード例 #37
0
 public static void MyClassCleanup()
 {
     DBWorker.Reset();
 }
コード例 #38
0
 private void saveRegModel(bool showBox)
 {
     DBWorker dbConnection = new DBWorker();
     if (dbConnection.isConnected)
     {
         modelRegress.id = dbConnection.GetID(DbSelect.RegID) + 1;
         if (dbConnection.InsertModel(task, modelRegress) == -1)
         {
             MessageBox.Show("Ошибка сохранения регрессионной модели");
             modelRegress.id = -1;
         }
         else
         {
             if(showBox) MessageBox.Show("Модель успешно сохранена!");
             labelRegID.Text = "ID: " + modelRegress.id.ToString();
         }
     }
 }
コード例 #39
0
        private int LoadTechnology(int id)
        {
            DBWorker dbConnection = new DBWorker();
             if (dbConnection.isConnected)
             {
                 DataTable modelTable = dbConnection.LoadModel(DbSelect.SelectTech, id);
                 if (W.task == null) W.task = new DataPlavka(dbConnection.GetPlavka(DbSelect.Columns, null)); //берем список параметров
                 if (modelTable == null) return -1;
                 if (modelTable.Rows.Count == 0) return 0;

                 W.technology = new Technology(id);
                 W.technology.date = Convert.ToDateTime(modelTable.Rows[0]["DATE_TECH"]);
                 string[] markInfo = dbConnection.GetMark(Convert.ToInt32(modelTable.Rows[0]["STE_ID"]));
                 W.technology.GOST = markInfo[0];
                 W.technology.mark = markInfo[1] + " " + markInfo[2];
                 W.technology.rmserror = Convert.ToDouble(modelTable.Rows[0]["RMSERROR"]);
                 if (W.technology.rmserror == 0) W.technology.rmserror = 1.0e-16;
                 W.technology.descretID = Convert.ToInt32(modelTable.Rows[0]["DES_ID"]);
                 W.technology.regressID = Convert.ToInt32(modelTable.Rows[0]["REG_ID"]);
                 W.technology.baseTechnologyID = Convert.ToInt32(modelTable.Rows[0]["BASE_ID"]);
                 if (W.technology.baseTechnologyID != -1) W.technology.isCorrected = true;
                 //формируем массив факторов Х
                 for (int i = 0; i < W.task.xAll.Count; i++)
                     if (modelTable.Rows[0][W.task.xAll[i].name] != System.DBNull.Value)
                         W.technology.x.Add(i);
                 //формируем массив факторов Y
                 for (int i = 0; i < W.task.yAll.Count; i++)
                     if (modelTable.Rows[0][W.task.yAll[i].name] != System.DBNull.Value)
                         W.technology.y.Add(i);
                 for (int i = 0; i < W.technology.x.Count; i++)
                     W.technology.xOpt.Add(Convert.ToDouble(modelTable.Rows[0][W.task.xAll[W.technology.x[i]].name]));
                 for (int i = 0; i < W.technology.y.Count; i++)
                     W.technology.yOpt.Add(Convert.ToDouble(modelTable.Rows[0][W.task.yAll[W.technology.y[i]].name]));

             }
             dbConnection.CloseConnection();
             return 1;
        }
コード例 #40
0
        private void SetGOST()
        {
            string[] temp;
            if(modelDescret != null) temp = modelDescret.mark.Split(' ');
            else temp = task.mark.Split(' ');
            string[] conds = new string[4];
            conds[0] = "";
            conds[1] = temp[0];
            if (modelDescret != null) conds[2] = modelDescret.GOST;
            else conds[2] = task.GOST;
            conds[3] = temp[1];
            if (modelDescret != null)
            for (int i = 0; i < modelDescret.y.Count; i++)
                conds[0] += task.yAll[modelDescret.y[i]].name + "," + task.yAll[modelDescret.y[i]].name + "_min,";
            else
                for (int i = 0; i < task.y.Count; i++)
                    conds[0] += task.yAll[task.y[i]].name + "," + task.yAll[task.y[i]].name + "_min,";
            conds[0] = conds[0].Trim(',');
            DBWorker dbConnection = new DBWorker();
            DataTable res = dbConnection.GetPlavka(DbSelect.DataY, conds); //извлекаем нужные данные полностью
            dbConnection.CloseConnection();
            yBoundsData.Clear();

            if (modelDescret != null)
                for (int i = 0; i < res.Rows[0].ItemArray.Length; i = i + 2)
                    yBoundsData.Add(new itemGrid(task.yAll[modelDescret.y[i / 2]].description,
                        Convert.ToDouble(res.Rows[0].ItemArray[i + 1]),
                        Convert.ToDouble(res.Rows[0].ItemArray[i])));
            else
                for (int i = 0; i < res.Rows[0].ItemArray.Length; i = i + 2)
                    yBoundsData.Add(new itemGrid(task.yAll[task.y[i / 2]].description,
                        Convert.ToDouble(res.Rows[0].ItemArray[i + 1]),
                        Convert.ToDouble(res.Rows[0].ItemArray[i])));
            yDescrGrid.ItemsSource = null;
            yDescrGrid.ItemsSource = yBoundsData;

            expanderDes.Header = conds[1] + " " + conds[2] + " " + conds[3];
            labelDesGOST.Text = "Стандарт: " + conds[2];
            labelDesMark.Text = "Марка: " + conds[1] + " " + conds[3];
        }
コード例 #41
0
        private void startBtn_Click(object sender, RoutedEventArgs e)
        {
            isChanged = true;
            if (markComboBox.Text != "" && gostComboBox.Text != "" && typeComboBox.Text != "" && xTaskListBox.HasItems && yTaskListBox.HasItems)
            {
                string[] columns = new string[2]; //формируем запрос на извлечение данных
                task.x.Clear();
                task.y.Clear();
                //
                for (int i = 0; i < yTaskListBox.Items.Count; i++) //записываем в задачу и sql выборку всех у
                    for (int j = 0; j < task.yAll.Count; j++)
                        if (task.yAll[j].description == yTaskListBox.Items[i].ToString())
                        {
                            columns[0] += "P." + task.yAll[j].name + ",";
                            task.y.Add(j);
                        }
                for (int i = 0; i < xTaskListBox.Items.Count; i++)//записываем в задачу и sql выборку всех х
                    for (int j = 0; j < task.xAll.Count; j++)
                        if (task.xAll[j].description == xTaskListBox.Items[i].ToString())
                        {
                            columns[0] += task.xAll[j].name + ",";
                            task.x.Add(j);
                        }
                task.y.Sort();
                task.x.Sort();
                columns[0] = columns[0].Trim(','); // удаляем последнюю запятую
                columns[1] = "marka='" + markComboBox.SelectionBoxItem + "' AND gost_id='" + gostComboBox.SelectionBoxItem +
                    "' AND vytyazhka='" + typeComboBox.SelectionBoxItem + "' AND date_plavka > to_date('" + date1picker.Text +
                    "', 'dd.mm.yyyy') AND date_plavka < to_date('" + date2picker.Text + "', 'dd.mm.yyyy')"; //выбор конкретной марки стали
                dbConnection = new DBWorker();
                plavka = dbConnection.GetPlavka(DbSelect.Data, columns); //извлекаем нужные данные полностью
                task.plavka = plavka.Copy();
                for (int i = 0; i < task.plavka.Rows.Count; i++) //удаляем из данных задачи строки с пустыми значениями
                    for (int j = 0; j < task.plavka.Rows[i].ItemArray.Length; j++)
                        if (task.plavka.Rows[i].ItemArray[j].ToString() == "")
                        {
                            task.plavka.Rows.RemoveAt(i);
                            i--;
                            break;
                        }
                labelResult.Content = "Выбрано " + plavka.Rows.Count + " записей";
                labelResult2.Content = plavka.Rows.Count - task.plavka.Rows.Count + " с пустыми полями";

                viewBtn.IsEnabled = true;
                dbConnection.CloseConnection();

                task.mark = markComboBox.SelectionBoxItem + " " + typeComboBox.SelectionBoxItem;
                task.GOST = gostComboBox.SelectionBoxItem.ToString();
                mainWindow.labelDataMark.Text = "Марка: " + markComboBox.SelectionBoxItem + " " + typeComboBox.SelectionBoxItem;
                mainWindow.labelDataGOST.Text = "Стандарт: " + gostComboBox.SelectionBoxItem;
                mainWindow.labelDataSince.Text = "C: " + date1picker.Text;
                mainWindow.labelDataTo.Text = "По: " + date2picker.Text;
                task.GOST = gostComboBox.SelectionBoxItem.ToString();
                task.mark = markComboBox.SelectionBoxItem + " " + typeComboBox.SelectionBoxItem;
            }
            else labelResult.Content = "Укажите все параметры";
        }
コード例 #42
0
 private void saveDesModel(bool showBox)
 {
     DBWorker dbConnection = new DBWorker();
     if (dbConnection.isConnected)
     {
         modelDescret.id = dbConnection.GetID(DbSelect.DesID) + 1;
         if (dbConnection.InsertModel(task, modelDescret) == -1)
         {
             MessageBox.Show("Ошибка сохранения дискретной модели");
             modelDescret.id = -1;
         }
         else
         {
             if (showBox) MessageBox.Show("Модель успешно сохранена!");
             labelDesID.Text = "ID: " + modelDescret.id.ToString();
         }
     }
 }
コード例 #43
0
        private void dataMenuItem_Click(object sender, RoutedEventArgs e)
        {
            if (dataWindow == null) dataWindow = new DataSelect(this);
            dataWindow.ShowDialog();
            if (dataWindow.IsInitialized)
                if (dataWindow.isChanged)
                {
                    dataWindow.isChanged =false;
                    task = new DataPlavka(dataWindow.task);
                    Log.Text = "Загружено " + dataWindow.task.plavka.Rows.Count.ToString() + " записей";
                    labelDataNotes.Text = "Загружено записей: " + dataWindow.task.plavka.Rows.Count.ToString();

                    dataDataGrid.ItemsSource = null;
                    dataDataGrid.ItemsSource = dataWindow.task.plavka.AsDataView();
                    if (dataDataGrid.Columns.Count < 9)
                        for (int i = 0; i < dataDataGrid.Columns.Count; i++)
                            dataDataGrid.Columns[i].Width = new DataGridLength(1, DataGridLengthUnitType.Star);

                    labelDataX.Content = "Количество исследуемых факторов - " + task.x.Count;
                    labelDataY.Content = "Количество исследуемых свойств - " + task.y.Count;
                    xBoundsData.Clear();
                    for(int i=0; i<task.x.Count; i++)
                        xBoundsData.Add(new itemGrid(task.xAll[task.x[i]].description, -1, -1));
                    xDescrGrid.ItemsSource = xBoundsData;

                    markComboBox.Items.Clear();
                    gostComboBox.Items.Clear();
                    typeComboBox.Items.Clear();
                    typeComboBox.IsEnabled = false;
                    DBWorker dbConnection = new DBWorker();
                    DataTable dt = dbConnection.GetPlavka(DbSelect.Marks, null);
                    for (int i = 0; i < dt.Rows.Count; i++)
                        markComboBox.Items.Add(dt.Rows[i].ItemArray[0]);
                    dbConnection.CloseConnection();

                    string[] temp = task.mark.Split(' ');
                    SetGOST();

                    funcGrid.Visibility = System.Windows.Visibility.Collapsed;
                    statGrid.Visibility = System.Windows.Visibility.Collapsed;
                    groupBoxBefore.Header = "Начальные границы";
                    groupBoxAfter.Header = "Дискретная модель";
                    dataExpander.IsExpanded = true;
                }
        }
コード例 #44
0
 public WrapperFactory(TelegramBotClient client, DBWorker dBWorker, string bot_token)
 {
     this.client    = client;
     this.dBWorker  = dBWorker;
     this.bot_token = bot_token;
 }
コード例 #45
0
        /// <summary>
        /// Configures and opens a database connection
        /// Builds the metadata repository and loads the xml-serialized metadata-file.
        /// Navigates to page P2Metadata
        /// </summary>
        /// <param name="conParams"></param>
        /// <returns></returns>
        /// <author>Bernhard Bruns, Moritz Eversmann, Bernd Nottbeck</author>
        public static bool EstablishDatabaseConnection(ConnectionParameters conParams)
        {
            try
            {
                if (DBWorker.ConfigureDBConnection(conParams))
                {
                    DBWorker.OpenConnection();

                    MainWindow.ConnectionName = DBWorker.GetConnectionName();

                    DBWorker.BuildMetadataRepository();

                    XMLHelper.SynchronizeFactTableWithXML(conParams);

                    DefaultEventClassifierIsSelected = false;

                    if (DBWorker.MetaData.EventClassifier == "")
                    {
                        DefaultEventClassifierIsSelected = true;
                        if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("PROC_DESCRIPTION"))
                        {
                            DBWorker.MetaData.EventClassifier = "PROC_DESCRIPTION";
                        }
                        else if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("activity"))
                        {
                            DBWorker.MetaData.EventClassifier = "activity";
                        }
                        else if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("ACTIVITY"))
                        {
                            DBWorker.MetaData.EventClassifier = "ACTIVITY";
                        }
                        else
                        {
                            DefaultEventClassifierIsSelected = false;
                        }
                    }
                    NavigationCommands.GoToPage.Execute("/Pages/P2metadata.xaml", null);
                }

                return(true);
            }
            catch (TypeInitializationException ex)
            {
                ErrorHandling.ReportErrorToUser("Error: Type initialization. " + ex.Message);
            }
            catch (NoParamsGivenException)
            {
                ErrorHandling.ReportErrorToUser("Error: No databasefields are filled.");
            }
            catch (DBException ex)
            {
                ErrorHandling.ReportErrorToUser("Database error: " + ex.Message);
            }
            catch (TimeoutException ex)
            {
                ErrorHandling.ReportErrorToUser("Database Timeout: " + ex.Message);
            }
            catch (Exception ex)
            {
                ErrorHandling.ReportErrorToUser("Error: " + ex.Message + " " + ex.StackTrace);
            }
            return(false);
        }
コード例 #46
0
 private void saveTechnology(Technology tech)
 {
     DBWorker dbConnection = new DBWorker();
     if (dbConnection.isConnected)
     {
         tech.id = dbConnection.GetID(DbSelect.TechID) + 1;
         if (dbConnection.InsertModel(task, tech) == -1)
         {
             MessageBox.Show("Ошибка сохранения технологии");
             tech.id = -1;
         }
         else
         {
             if (tech.isCorrected != true) MessageBox.Show("Cохранено!");
             labelOptID.Text = "ID: " + tech.id.ToString();
         }
     }
 }