示例#1
0
        /// <summary>
        /// Adds the mine statistics.
        /// </summary>
        /// <param name="result">The result.</param>
        public void AddMineStatistics(SearchCristalResult result)
        {
            try
            {
                var command = (OleDbCommand)connection.CreateCommand(
                    @"INSERT INTO [MineStatistics]
( [Cristals],[Couloumb], [Level], [Spirits],[Gears],[SmallTicket],[BigTicket],[Percentage],[DoAttempt])
VALUES 
(?,?,?,?,?,?,?,?,?)");


                command.AddParameter("@Cristals", result.Cristals);
                command.AddParameter("@Couloumb", (int)result.Coulomb);
                command.AddParameter("@Level", result.Level);
                command.AddParameter("@Spirits", (int)result.Spirit);
                command.AddParameter("@Gears", (byte)result.MinerGear);
                command.AddParameter("@SmallTicket", result.SmallTicket);
                command.AddParameter("@BigTicket", result.BigTicket);
                command.AddParameter("@Percentage", result.Percentage);
                command.AddParameter("@DoAttempt", result.DoAttempt);

                command.ExecuteNonQuery();
                result.StatisticsID = connection.GetInsertedID();
            }
            catch (Exception ex)
            {
                AppCore.LogSystem.Warn("Ошибка статистики.", "Не смогли добавить результаты посещения шахты", ex);
            }
        }
示例#2
0
        public void Test()
        {
            var sentences = new[]
            {
                "Неудачная попытка. Может, слабо копал?",
                "Неудачная попытка. Может, слабо копал? Сработал ваш кулон.",

                "Ты успешно добыл кристалл! Какой ты молодец! ",
                "Ты успешно добыл кристалл! Какой ты молодец! Сработал ваш кулон.",
                "Ты успешно добыл кристалл! Какой ты молодец! Ты нашёл билет на большую поляну!",
                "Ты успешно добыл кристалл! Какой ты молодец! Ты нашёл билет на маленькую поляну!",
                "Вы добыли 7 крист. Сработал ваш кулон. Ты нашёл билет на большую поляну!",

                "Вы добыли 5 крист. Ты нашёл билет на маленькую поляну!",
            };
            var resultrs = new[]
            {
                new SearchCristalResult(),
                new SearchCristalResult {
                    CoulombWorks = 1
                },
                new SearchCristalResult {
                    Cristals = 1
                },
                new SearchCristalResult {
                    Cristals = 1, CoulombWorks = 1
                },
                new SearchCristalResult {
                    Cristals = 1, BigTicket = true
                },
                new SearchCristalResult {
                    Cristals = 1, SmallTicket = true
                },
                new SearchCristalResult {
                    Cristals = 7, BigTicket = true, CoulombWorks = 1
                },
                new SearchCristalResult {
                    Cristals = 5, SmallTicket = true
                },
            };

            for (var i = 0; i < sentences.Length; i++)
            {
                var result = new SearchCristalResult();
                result.ParseResult(sentences[i]);
                Assert.IsTrue(result.Equals(resultrs[i]), sentences[i]);
            }
        }
示例#3
0
        public void AddMineStatisticsTest()
        {
            var result = new SearchCristalResult();

            result.Cristals    = 5;
            result.Date        = DateTime.Now;
            result.Coulomb     = Coulomb.Unscrewer;
            result.BigTicket   = true;
            result.MinerGear   = MinerGear.Pick | MinerGear.Helmet;
            result.DoAttempt   = true;
            result.Percentage  = 80;
            result.Level       = 38;
            result.SmallTicket = true;
            result.Spirit      = SpiritType.AssiduousMiner;

            ObjectProvider.Instance.AddMineStatistics(result);
            Assert.Greater(result.StatisticsID, 0);
        }
示例#4
0
        private SearchCristalResult CreateMineStatistics(IDataRecord reader)
        {
            var result = new SearchCristalResult
            {
                Cristals     = reader.GetByte(0),
                Coulomb      = (Coulomb)reader.GetInt32(1),
                Level        = reader.GetInt16(2),
                Spirit       = (SpiritType)reader.GetInt32(3),
                MinerGear    = (MinerGear)reader.GetByte(4),
                SmallTicket  = reader.GetBoolean(5),
                BigTicket    = reader.GetBoolean(6),
                Percentage   = reader.GetByte(7),
                DoAttempt    = reader.GetBoolean(8),
                Date         = reader.GetDateTime(9),
                StatisticsID = reader.GetInt32(10)
            };

            return(result);
        }