Exemple #1
0
        /// <summary>
        /// type, size,collate, null
        /// </summary>
        public override void WriteColumnChanges(ColumnModifications col)
        {
            var w = new MySqlColumnWriter(Builder);

            Builder.AppendFormat("alter table {0} modify ", MySqlProvider.EscapeIdentifier(col.Name));
            w.Write(col);
        }
Exemple #2
0
        internal static void Initialize()
        {
            try
            {
                Provider = new MySqlProvider(
                    Settings.AppSettings.GetStringElement("Database.Host"),
                    Settings.AppSettings.GetStringElement("Database.Name"),
                    Settings.AppSettings.GetStringElement("Database.Username"),
                    Settings.AppSettings.GetStringElement("Database.Password"));
                Provider.Connect();

                RealmProvider = new MySqlProvider(
                    Settings.AppSettings.GetStringElement("Database.Host"),
                    Settings.AppSettings.GetStringElement("Database.rName"),
                    Settings.AppSettings.GetStringElement("Database.Username"),
                    Settings.AppSettings.GetStringElement("Database.Password"));
                RealmProvider.Connect();

                Logger.Info("Connected to the database !");
            }
            catch (Exception e)
            {
                Logger.Error("Can't connect to database : " + e.ToString());
            }
        }
        public MySqlDataContext(string server, string user, string password, string database, bool open = true)
        {
            try
            {
                string[] serverSplit      = server.Split(':');
                string   connectionString = string.Empty;

                if (serverSplit.Length > 1)
                {
                    connectionString = $"server={serverSplit[0]};port={serverSplit[1]};userid={user};password={password};database={database}";
                }
                else
                {
                    connectionString = $"server={serverSplit[0]};userid={user};password={password};database={database}";
                }

                MySqlConnection sqlConnection = new MySqlConnection(connectionString);
                m_MySqlProvider = new MySqlProvider(sqlConnection);

                if (open)
                {
                    Open();
                }
            }
            catch
            {
                m_MySqlProvider.Connection.Close();
            }
        }
Exemple #4
0
        public static async Task FixDuplicateScores(Presence pr, string channel, string message, string[] args)
        {
            await ChannelManager.BotMessage(pr, channel, "Start cleaning duplicate scores...");

            await using (var db = MySqlProvider.GetDbConnection())
            {
                var scoreHashes = new List <string>();
                var scores      = await db.QueryAsync <DbScore>("SELECT * FROM Scores");

                await ChannelManager.BotMessage(pr, channel, $"Scores to check: {scores.Count()}");

                foreach (var score in scores)
                {
                    var scoreHash = Crypto.ComputeHash($"sum:{score.Count50 + score.Count100 + score.Count300}c300" +
                                                       $"{score.Count300}c100{score.Count100}c50{score.Count50}cgeki{score.CountGeki}ckatu" +
                                                       $"{score.CountKatu}cmiss{score.CountMiss}beatmap{score.FileChecksum}accuracy{score.Accuracy}");

                    if (scoreHashes.Contains(scoreHash))
                    {
                        await db.ExecuteAsync($"DELETE FROM Scores WHERE Id = {score.Id}");
                    }
                    else
                    {
                        scoreHashes.Add(scoreHash);
                    }
                }
            }
            await ChannelManager.BotMessage(pr, channel, "Done!");
        }
Exemple #5
0
        /************************************************************************************************************************/

        internal void Init(IDbConnection conn)
        {
            //
            if (XConfig.DB == DbEnum.None)
            {
                if (XConfig.MySQL.Equals(conn.GetType().FullName, StringComparison.OrdinalIgnoreCase))
                {
                    XConfig.DB = DbEnum.MySQL;
                }
                else
                {
                    throw new Exception("MyDAL 目前只支持 【MySQL】,后续将会支持【Oracle/SQLServer/PostgreSQL/DB2/Access/SQLite/Teradata/MariaDB】.");
                }
            }

            //
            Conn       = conn;
            Parameters = new List <DicParam>();
            AH         = new AttributeHelper(this);
            VH         = new CsValueHelper(this);
            GH         = new GenericHelper(this);
            EH         = new XExpression(this);
            SC         = new XCache(this);
            PH         = new ParameterHelper(this);
            DPH        = new DicParamHelper(this);
            BDH        = new BatchDataHelper();
            DS         = new DataSource(this);

            //
            if (XConfig.DB == DbEnum.MySQL)
            {
                SqlProvider = new MySqlProvider(this);
            }
        }
Exemple #6
0
        private static IDbProvider CreateAppDbProvider()
        {
            IDbProvider dbProvider = null;

            switch (DbType)
            {
            case DatabaseType.SqlServer:
                dbProvider = new SqlServerProvider();
                break;

            case DatabaseType.MySql:
                dbProvider = new MySqlProvider();
                break;

            case DatabaseType.Oracle:
                dbProvider = new OracleProvider();
                break;

            default:
                dbProvider = new SqlServerProvider();
                break;
            }

            return(dbProvider);
        }
Exemple #7
0
        public void LateInit()
        {
            orignal       = R.Permissions;
            Provider      = new MySqlProvider();
            R.Permissions = Provider;

            RocketLogger.Log(string.Format("Late Initialize was successful!"), ConsoleColor.Yellow);
        }
        public UserRepository SetUserRepository()
        {
            service = new MySqlProvider(
                "server=localhost;UserId=root;Password=1234;database=remotenotesIntegrationTest;allow zero datetime=yes;Allow User Variables=True;");
            var hold = new UserRepository(service);

            return(hold);
        }
        public IHttpActionResult WeChatServicesRefundApi([FromBody] JToken json)
        {
            return(this.TryReturn <object>(() =>
            {
                try
                {
                    WxPayData wxp = new WxPayData();
                    //插入调用退款接口Json
                    wxp.WriteLogFile("调用退款Json:" + json.ToJsonString());
                    var arg = json.AsDynamic();
                    //订单号
                    string orderNo = arg.orderNo;
                    //查询要退款的单据
                    var selectOrderSql = string.Format(@"SELECT * FROM B_ORDER WHERE CODE='{0}' AND PAY_STATUS='已支付' AND IS_DELETE=0", orderNo, this.LoginUser.Cid);
                    wxp.WriteLogFile("执行单据退款查询SQL:" + selectOrderSql);
                    var recordList = new DataSet();
                    using (var x = MySqlProvider.X())
                    {
                        recordList = x.ExecuteSqlCommand(selectOrderSql);
                        x.Close();
                    }
                    var recordRows = recordList.Tables[0].DataSet.Rows().FirstOrDefault();
                    if (recordRows != null)
                    {
                        var item = recordRows;
                        var refundNo = "RFD" + orderNo;
                        //订单金额
                        string price = item["PRICE"].ToString();

                        var data = WxPayData.ForRefund(double.Parse(price), double.Parse(price), orderNo, refundNo);
                        var url = GlobalVariableWeChatApplets.REFUND_URL;
                        var xml = data.ToXml();
                        var response = HttpService.PostByCertificates(xml, url, 6);
                        var preOrder = WxPayData.FromXml(response, "HMAC-SHA256");
                        var backCode = preOrder.GetValue("return_code");
                        if (backCode != null && backCode.ToString() == "FAIL")
                        {
                            var returnMsg = preOrder.GetValue("return_msg").ToString();
                            return new { Table = new { IsSuccess = false, ErroMessage = returnMsg, MSG = "" } };
                        }
                        else
                        {
                            var payData = WxPayData.ForWechatRefund(preOrder);
                            var orderString = payData.ToJson();
                            return new { Table = new { IsSuccess = true, ErroMessage = "", MSG = orderString } };
                        }
                    }
                    else
                    {
                        return new { Table = new { IsSuccess = false, ErroMessage = "未查询到需要退款的数据", MSG = "" } };
                    }
                }
                catch (Exception ex)
                {
                    return new { Table = new { IsSuccess = false, ErroMessage = ex.Message, Json = "" } };
                }
            }));
        }
		public void ShouldHaveSetDialectProvider()
		{
			// Act
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				// Assert
				Assert.IsInstanceOf<MySqlDialectProvider>(OrmLiteConfig.DialectProvider);
			}
		}
        public MySqlDataContext(MySqlConnection connection)
        {
            if (connection is null)
            {
                throw new ArgumentNullException(nameof(connection));
            }

            m_MySqlProvider = new MySqlProvider(connection);
        }
Exemple #12
0
 public Configuration(IConfiguration configuration)
 {
     _configuration = configuration;
     MySqlProvider  = new MySqlProvider(new MySqlConnection(configuration.GetConnectionString("ttyplatform")));
     AesAddin       = new AesAddin("LAVERALSTARDANDMDS7024200345IEVS");
     TableMap       = new TableMap();
     API            = new API();
     //TermTimeUnis = GetTimeConfig();
 }
Exemple #13
0
        public void mysql_test_pagination_strings()
        {
            var    m = new MySqlProvider(Config.SqlServerProviderName);
            string cnt;
            string sel;

            m.MakePaged("select * from test", out sel, out cnt);
            Assert.Equal("select count(*) from test", cnt);
            Assert.Equal(string.Format("select * from test limit @{0},@{1}", PreparePagedStatement.SkipParameterName, PreparePagedStatement.TakeParameterName), sel);
        }
        protected void grdResult_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
        {
            string query = "DELETE FROM Books WHERE Id = @Id";

            Dictionary <string, object> parametters = new Dictionary <string, object>();

            parametters.Add("Id", e.Keys[0]);

            MySqlProvider.ExecuteSqlQueryReturnValue(query, parametters, result => grdResultFill());
        }
        private void grdResultFill()
        {
            string query = "SELECT * FROM Books";

            MySqlProvider.ExecuteSqlQueryReturnValue(query, null, delegate(MySqlDataReader reader)
            {
                grdResult.DataSource = reader;
                grdResult.DataBind();
            });
        }
Exemple #16
0
        protected override void WriteIndexName()
        {
            Builder.Append(MySqlProvider.EscapeIdentifier(Index.Name));
            var opt = Index.Options.Get(MySqlIndexOptions.Using);

            if (opt != null)
            {
                Builder.Append(" " + opt);
            }
        }
		public void ShouldDropAndCreate()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				// Act
				provider.DropAndCreate(typeof(Shipper));

				// Assert
				Assert.IsTrue(provider.CollectionExists(typeof(Shipper)));
				Assert.IsTrue(provider.CollectionExists(typeof(ShipperContact)));
			}
		}
        protected void grdResult_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
        {
            string query = "UPDATE Books";

            string where = "WHERE Id = " + e.Keys[0];

            Dictionary <string, object> parametters = new Dictionary <string, object>();

            parametters.Add("Title", e.NewValues[0] == null ? string.Empty : e.NewValues[0]);
            parametters.Add("Author", e.NewValues[1] == null ? string.Empty : e.NewValues[1]);

            MySqlProvider.ExecuteSqlQueryUpdate(query, where, parametters, reader => grdResult_RowCancelingEdit(sender, null));
        }
Exemple #19
0
        /// <summary>
        ///  条件查询用户信息
        /// </summary>
        /// <param name="mobile">手机号</param>
        /// <param name="phone">电话</param>
        /// <param name="trueName">真实姓名</param>
        /// <param name="isJoinMoblie">手机号是否联合查询 默认为 是</param>
        /// <returns></returns>
        public OperationResult <IList <UsersInfo> > Users_GetUserByParms(string mobile, string phone, string trueName, int userID, int isJoinMoblie = 1)
        {
            IList <UsersInfo> userInfoList = new List <UsersInfo>();

            try
            {
                using (var context = new MySqlProvider(DbConnectionName.MySqlUsersContext.ToString()))
                {
                    var sql = string.Empty;
                    sql += " SELECT u.UID,u.UserName,r.TrueName,r.Address,u.CreateTime,u.Status,u.Mobile ";
                    sql += " FROM Users u LEFT JOIN   Receiver r   ";
                    sql += " ON u.UID=r.UID   ";
                    sql += " INNER JOIN Usersbase b    ";
                    sql += "  on u.UID=b.UID   ";
                    sql += "  WHERE  1=1   ";
                    if (!string.IsNullOrEmpty(mobile) && mobile != "" && isJoinMoblie == 1)
                    {
                        sql += " AND  r.Mobile='{0}' OR u.Mobile='{1}' OR b.Mobile='{2}'";
                        sql  = string.Format(sql, mobile, mobile, mobile, mobile);
                    }
                    else if (!string.IsNullOrEmpty(mobile) && mobile != "" && isJoinMoblie == 0)
                    {
                        sql += " AND   u.Mobile='{0}' ";
                        sql  = string.Format(sql, mobile);
                    }
                    if (!string.IsNullOrEmpty(phone) && phone != "")
                    {
                        sql += " AND  r.Telephone LIKE '%{0}%' ";
                        sql  = string.Format(sql, phone);
                    }
                    if (!string.IsNullOrEmpty(trueName) && trueName != "")
                    {
                        sql += " AND  r.TrueName LIKE '%{0}%'  ";
                        sql  = string.Format(sql, trueName);
                    }
                    if (userID > 0)
                    {
                        sql += " AND  (r.UID ={0}  OR u.UID={1}) ";
                        sql  = string.Format(sql, userID, userID);
                    }
                    sql         += " GROUP BY u.UID ";
                    userInfoList = context.Database.SqlQuery <Model.ResultModel.UsersInfo>(sql).ToList();
                    return(new OperationResult <IList <UsersInfo> >(OperationResultType.Success, null, userInfoList));
                }
            }
            catch (Exception ex)
            {
                return(new OperationResult <IList <UsersInfo> >(OperationResultType.Error, ex.Message, userInfoList));
            }
        }
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            string query = "SELECT * FROM books WHERE LOCATE (@SearchOption, Title)";

            Dictionary <string, object> parametters = new Dictionary <string, object>();

            parametters.Add("SearchOption", txtSearch.Text);

            MySqlProvider.ExecuteSqlQueryReturnValue(query, parametters, delegate(MySqlDataReader reader)
            {
                grdResult.DataSource = reader;
                grdResult.DataBind();
            });
        }
Exemple #21
0
        private MySqlProviderAdapter(
            MySqlProvider provider,

            Type connectionType,
            Type dataReaderType,
            Type parameterType,
            Type commandType,
            Type transactionType,

            Type?mySqlDecimalType,
            Type mySqlDateTimeType,
            Type mySqlGeometryType,

            Func <object, decimal>?mySqlDecimalGetter,

            Func <IDbDataParameter, object> dbTypeGetter,

            string?getMySqlDecimalMethodName,
            string?getDateTimeOffsetMethodName,
            string getMySqlDateTimeMethodName,

            string providerTypesNamespace,
            MappingSchema mappingSchema,
            BulkCopyAdapter?bulkCopy)
        {
            ProviderType = provider;

            ConnectionType  = connectionType;
            DataReaderType  = dataReaderType;
            ParameterType   = parameterType;
            CommandType     = commandType;
            TransactionType = transactionType;

            MySqlDecimalType  = mySqlDecimalType;
            MySqlDateTimeType = mySqlDateTimeType;
            MySqlGeometryType = mySqlGeometryType;

            MySqlDecimalGetter = mySqlDecimalGetter;

            GetDbType = dbTypeGetter;

            GetMySqlDecimalMethodName   = getMySqlDecimalMethodName;
            GetDateTimeOffsetMethodName = getDateTimeOffsetMethodName;
            GetMySqlDateTimeMethodName  = getMySqlDateTimeMethodName;
            ProviderTypesNamespace      = providerTypesNamespace;

            MappingSchema = mappingSchema;
            BulkCopy      = bulkCopy;
        }
        protected void btnInsert_Click(object sender, EventArgs e)
        {
            string query = "INSERT INTO Books";

            Dictionary <string, object> parametters = new Dictionary <string, object>();

            parametters.Add("Title", txtBookTitle.Text);
            parametters.Add("Author", txtBookAuthor.Text);
            parametters.Add("PublishDate", DateTime.Now);

            MySqlProvider.ExecuteSqlQueryInsert(query, parametters, delegate(int i)
            {
                grdResultFill();
            });
        }
		public void ShouldClearAllCollections()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				Shipper shipper = DataProvider.PreInsertArrange(provider);
				shipper = provider.Insert<Shipper>(shipper);

				// Act
				provider.DeleteAll<Shipper>();

				// Assert
				Assert.AreEqual(provider.Select<Shipper>().Count, 0);
				Assert.AreEqual(provider.Select<ShipperContact>().Count, 0);
			}
		}
		public void ShouldThrowArgumentNullExceptionForNullConnectionString()
		{
			// Act
			try
			{
				using (MySqlProvider provider = new MySqlProvider(null))
				{
					// Assert
					Assert.Fail("Should not allow empty connection strings");
				}
			}
			catch (ArgumentNullException)
			{
				Assert.Pass();
			}
		}
 public static void TryMySqlData()
 {
     if (!IsTryMySql)
     {
         try
         {
             MySqlProvider db   = new MySqlProvider();
             var           conn = db.GetAdapter();
             IsTryMySql = true;
         }
         catch
         {
             throw new Exception("You need to refer to MySql.Data.dl");
         }
     }
 }
        static void Main(string[] args)
        {
            const string connectionStringPath = @"\\psf\Home\Dropbox\Dox\Mac-Git\connectionString.txt";
            string       connectionString     = ConnectionStringReader.GetConnectionString(connectionStringPath);

            var          dbFactory      = new OrmLiteConnectionFactory(connectionString, MySqlDialectProvider.Instance);
            ISqlProvider customProvider = new MySqlProvider();

            using (var db = dbFactory.OpenDbConnection())
            {
                db.UpdateTable <Customer>(customProvider, true);

                var x = db.GetLastSql();

                Console.ReadKey();
            }
        }
 public static void TryMySqlData()
 {
     if (!IsTryMySqlData)
     {
         try
         {
             MySqlProvider db   = new MySqlProvider();
             var           conn = db.GetAdapter();
             IsTryMySqlData = true;
         }
         catch
         {
             var message = ErrorMessage.GetThrowMessage(
                 "You need to refer to MySql.Data.dll",
                 "需要引用MySql.Data.dll,请在Nuget安装最新稳定版本,如果有版本兼容问题请先删除原有引用");
             throw new Exception(message);
         }
     }
 }
Exemple #28
0
        public static async Task RecalculatePerformance(Presence pr, string channel, string message, string[] args)
        {
            await ChannelManager.BotMessage(pr, channel, "Start recalculating performance points...");

            await using (var db = MySqlProvider.GetDbConnection())
            {
                var scores = await db.QueryAsync <DbScore>("SELECT * FROM Scores");

                await ChannelManager.BotMessage(pr, channel, $"Scores to re-calculate: {scores.Count()}");

                foreach (var score in scores)
                {
                    try
                    {
                        var beatmap = (await BeatmapManager.Get(score.FileChecksum));
                        if (beatmap.Item1 is RankedStatus.NotSubmitted or RankedStatus.NeedUpdate)
                        {
                            continue;
                        }

                        double pp = 0;
                        if (beatmap.Item2.Status == RankedStatus.Loved)
                        {
                            pp = 0;
                        }
                        else
                        {
                            pp = await Calculator.CalculatePerformancePoints(score);
                        }
                        await db.ExecuteAsync($"UPDATE Scores SET PerformancePoints = @PP WHERE Id = {score.Id}", new
                        {
                            PP = pp
                        });
                    }
                    catch
                    {
                        // ignored
                    }
                }
            }
            await ChannelManager.BotMessage(pr, channel, "Done!");
        }
Exemple #29
0
        /// <summary>
        /// 创建参数回调
        /// </summary>
        /// <param name="item">参数对象</param>
        protected override void OnCreate(CommandParameter item)
        {
            if (item.Value == null)
            {
                return;
            }
            if (item.Value.GetType() != item.RealType)
            {
                item.Value = TypeExtensions.Convert(item.Value, item.RealType);
            }

            if (item.RealType.IsEnum)
            {
                //item.Properties["MySqlDbType"] = TypeExtensions.Convert("Int64", MySqlProvider.GetDbType());
                item.RealType = typeof(long);
                item.Value    = TypeExtensions.Convert <long>(item.Value);
                return;
            }
            if (item.RealType.IsArray && item.RealType.GetElementType() != typeof(byte))
            {
                item.Properties["MySqlDbType"] = TypeExtensions.Convert("JSON", MySqlProvider.GetDbType());
                item.Value = item.Value == null ? null : JSON.ToJSON(item.Value);
                return;
            }
            if (
                item.RealType == typeof(object) ||
                TypeExtensions.IsAnonymousType(item.RealType) ||
                TypeExtensions.IsInheritFrom(item.RealType, typeof(System.Collections.Generic.IDictionary <string, object>)) ||
                (item.RealType.IsClass && !TypeExtensions.IsSystemBaseType(item.RealType))
                )
            {
                item.Properties["MySqlDbType"] = TypeExtensions.Convert("JSON", MySqlProvider.GetDbType());
                item.RealType = typeof(object);
                item.Value    = item.Value == null ? null : JSON.ToJSON(item.Value);
                return;
            }
        }
Exemple #30
0
        public static async Task <Score[]> GetRawScores(string beatmapMd5, PlayMode mode, RankedStatus status,
                                                        LeaderboardMode lbMode)
        {
            IEnumerable <DbScore> scores = null;

            await using (var db = MySqlProvider.GetDbConnection())
            {
                scores = await db.QueryAsync <DbScore>($"SELECT *, Scores.Id AS Id FROM Scores " +
                                                       $"JOIN Users ON Users.Id = Scores.UserId " +
                                                       $"WHERE Users.Privileges & {(int) Privileges.Normal} > 0 " +
                                                       $"AND FileChecksum = '{beatmapMd5}' " +
                                                       $"AND Completed = {(int) CompletedStatus.Best} " +
                                                       $"AND PlayMode = {(int) mode} " +
                                                       $"AND Relaxing = {lbMode == LeaderboardMode.Relax} " +
                                                       $"ORDER BY {(lbMode == LeaderboardMode.Relax ? "PerformancePoints" : "TotalScore")} DESC " +
                                                       $"LIMIT 50");
            }



            var dbScores = scores as DbScore[] ?? scores.ToArray();

            return(dbScores.Select(score => FromDb(score, status, dbScores)).ToArray());
        }
Exemple #31
0
        public static void Init(IServiceProvider serviceProvider, IWebHostEnvironment env)
        {
            IAdminSecurityApplication securityApplication = new AdminSecurityApplication();

            securityApplication.ResetIpFilter();
            securityApplication = null;

            var cache = SqlCache.Instance;

            ISqlProvider provider = new SqlServerProvider();

            provider.Init(cache);
            provider = new MySqlProvider();
            provider.Init(cache);
            provider = new SqliteProvider();
            provider.Init(cache);
            provider = new PostgreSQLProvider();
            provider.Init(cache);
            provider = null;

            //var assList = AppDomain.CurrentDomain.GetAssemblies().Where(q => q.FullName?.Contains("Plugin") ?? false).ToList();
            //foreach (var ass in assList) {
            //    SqlProviderInit(cache,  ass);
            //}

            //var dir = Path.Combine(env.ContentRootPath, "Plugins");
            //if (Directory.Exists(dir)) {
            //    var files = Directory.GetFiles(dir, "*.Plugin*.dll", SearchOption.AllDirectories);
            //    foreach (var file in files) {
            //        try {
            //            var ass = Assembly.LoadFrom(file);
            //            SqlProviderInit(cache, ass);
            //        } catch (Exception) { }
            //    }
            //}
        }
Exemple #32
0
 protected override string Escape(string name)
 {
     return(MySqlProvider.EscapeIdentifier(name));
 }
		public void ShouldNotClearLookup()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				Shipper shipper = DataProvider.PreInsertArrange(provider);

				// Act
				provider.DeleteAll<Shipper>();

				// Assert
				Assert.AreEqual(provider.Select<ShipperType>().Count, 1);
			}
		}
		public void ShouldSelectShipperAndTreeWithExpression()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				Shipper shipper = DataProvider.PreInsertArrange(provider);
				shipper = provider.Insert<Shipper>(shipper);

				// Act
				Shipper savedTree = provider.Select<Shipper>(x => x.Id == shipper.Id).First();

				// Assert
				Assert.IsNotNull(savedTree);
				Assert.AreEqual(savedTree.ShipperContacts.Count, 1);
				Assert.IsNotNull(savedTree.ShipperContacts[0]);
			}
		}
		public void ShouldUpdateShipper()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				Shipper shipper = DataProvider.PreInsertArrange(provider);
				provider.Insert<Shipper>(shipper);
				shipper.CompanyName += " Changed";
				shipper.ShipperContacts[0].EmailAddress += shipper.ShipperContacts[0].EmailAddress + " Changed";

				// Act
				provider.Update<Shipper>(shipper);

				// Assert
				Shipper updatedShipper = provider.SelectById<Shipper>(shipper.Id);
				Assert.AreEqual(shipper.CompanyName, updatedShipper.CompanyName);
				Assert.AreEqual(shipper.ShipperContacts[0].EmailAddress, updatedShipper.ShipperContacts[0].EmailAddress);
			}
		}
Exemple #36
0
 public static void Initialize(TestContext context)
 {
     prov = new MySqlProvider();
 }
Exemple #37
0
 public override void provider_escape_name()
 {
     Assert.Equal("`dbo.table`", MySqlProvider.EscapeIdentifier("dbo.table"));
 }
		public void ShouldDeleteAll()
		{
			// Arrange
			using (MySqlProvider provider = new MySqlProvider(ConfigSettings.MySqlConnectionString))
			{
				Shipper shipper = DataProvider.PreInsertArrange(provider);
				provider.Insert<Shipper>(shipper);

				// Act
				provider.DeleteAll<Shipper>();

				// Assert
				Assert.IsNull(provider.SelectById<Shipper>(shipper.Id));
				Assert.IsNull(provider.SelectById<Shipper>(shipper.ShipperContacts[0].Id));
			}
		}