Exemple #1
0
 public static bool Include(string[] keys, ColumnMode mode, string column)
 {
     return(Include <string>(keys, mode, column, (value) =>
     {
         return value;
     }));
 }
Exemple #2
0
 public static DataColumn[] Exclude(DataColumn[] keys, ColumnMode mode, params DataColumn[] columns)
 {
     return(Exclude <DataColumn>(keys, mode, columns, (value) =>
     {
         return value.Column;
     }));
 }
Exemple #3
0
 public static bool Include(DataColumn[] keys, ColumnMode mode, DataColumn column)
 {
     return(Include <DataColumn>(keys, mode, column, (value) =>
     {
         return value.Column;
     }));
 }
Exemple #4
0
 public static string[] Exclude(string[] keys, ColumnMode mode, params string[] columns)
 {
     return(Exclude <string>(keys, mode, columns, (value) =>
     {
         return value;
     }));
 }
Exemple #5
0
 public SchemaColumn(int order, string table, string name, int maxLength, DbType dbType,
                     PropertyInfo propertyInfo, Type propertyType, Type declaringType, Type reflectedType, Type converterType,
                     ColumnMode mode, bool canRead, bool canWrite, bool isNullable, bool isPrimary,
                     bool isIdentity, int identitySeed, int increment, string?defaultValue)
 {
     this.order         = order;
     this.table         = table;
     this.name          = name;
     this.maxLength     = maxLength;
     this.dbType        = dbType;
     this.propertyInfo  = propertyInfo;
     this.propertyType  = propertyType;
     this.declaringType = declaringType;
     this.reflectedType = reflectedType;
     this.converterType = converterType;
     this.mode          = mode;
     this.canRead       = canRead;
     this.canWrite      = canWrite;
     this.isNullable    = isNullable;
     this.isPrimary     = isPrimary;
     this.isIdentity    = isIdentity;
     this.identitySeed  = identitySeed;
     this.increment     = increment;
     this.defaultValue  = defaultValue;
 }
Exemple #6
0
        private UpdateBucket GetUpdateSql(DataSource ds, ColumnMode mode, DataColumn[] keys, DataWhereQueue ps)
        {
            Type       gtype  = typeof(TDbTable <>).MakeGenericType(GetType());
            MethodInfo method = gtype.GetMethod("GetUpdateSql", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic);

            return((UpdateBucket)method.Invoke(null, new object[] { ds, this, mode, keys, ps }));
        }
 public FileListPaneSettings(string directory, string sortByField, ListSortDirection sortDirection, ColumnMode columnMode)
 {
     Directory = directory;
     SortByField = sortByField;
     SortDirection = sortDirection;
     DisplayColumnMode = columnMode;
 }
Exemple #8
0
        public static T[] Exclude <T>(T[] keys, ColumnMode mode, T[] columns, KeyHandler <T> action)
        {
            if (columns == null)
            {
                throw new ArgumentNullException("columns");
            }
            if (columns.Length == 0)
            {
                throw new ArgumentException();
            }

            if (keys != null && keys.Length > 0)
            {
                Dictionary <string, T> dict = new Dictionary <string, T>(keys.Length);
                foreach (T key in keys)
                {
                    dict.Add(action(key), key);
                }

                string temp;
                T      value;
                if (mode == ColumnMode.Include)
                {
                    foreach (T column in columns)
                    {
                        temp = action(column);
                        if (dict.TryGetValue(temp, out value))
                        {
                            dict.Remove(temp);
                        }
                    }
                }
                else
                {
                    foreach (T column in columns)
                    {
                        temp = action(column);
                        if (!dict.TryGetValue(temp, out value))
                        {
                            dict.Add(temp, column);
                        }
                    }
                }

                T[] array = new T[dict.Count];
                dict.Values.CopyTo(array, 0);
                return(array);
            }
            else
            {
                if (mode == ColumnMode.Include)
                {
                    return(null);
                }
                else
                {
                    return(columns);
                }
            }
        }
Exemple #9
0
        protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
        {
            //Product product = Product.GetById(ds, ProductId);
            //ProductOrderSettlement settlement = new ProductOrderSettlement
            //{
            //    OrderId = OrderId,
            //    ProductId = ProductId,
            //    CostPrice = product.CostPrice,
            //    Settlement = product.Settlement,
            //    RoyaltyRate = product.RoyaltyRate
            //};
            //if (product.Wholesale && product.WholesalePrice > 0)
            //{
            //    settlement.ProductType = EProductType.Wholesale;
            //}
            //else if (product.DiscountState == DiscountState.Activated && product.DiscountBeginTime <DateTime.Now && product.DiscountEndTime> DateTime.Now)
            //{
            //    settlement.ProductType = EProductType.GroupBuy;
            //}
            //else
            //{
            //    settlement.ProductType = EProductType.Routine;
            //}
            ////增加收益快照GetRoyaltyByOrderMapping
            //ProductOrder order = GetOrderById(ds);
            //DataJoin<ProductOrder, ProductOrderMapping> s = new DataJoin<ProductOrder, ProductOrderMapping>(order, this);

            return(base.OnInsertBefor(ds, mode, ref columns));
        }
Exemple #10
0
        public DataStatus Insert(DataSource ds, ColumnMode mode, params DataColumn[] columns)
        {
            DataStatus status = OnInsertBefor(ds, mode, ref columns);

            if (status == DataStatus.Success)
            {
                try
                {
                    if (InsertImpl(ds, mode, columns))
                    {
                        status = OnInsertAfter(ds);
                    }
                    else
                    {
                        OnInsertFailed(ds);
                        status = DataStatus.Failed;
                    }
                }
#if (DEBUG)
                catch (Exception ex)
#else
                catch (Exception)
#endif
                {
                    OnInsertFailed(ds);
                    status = DataStatus.Failed;
                    //throw;
                }
            }
            return(status);
        }
Exemple #11
0
        public DataStatus InsertOrReplace(DataSource ds, ColumnMode mode, params DataColumn[] columns)
        {
            DataStatus status = OnInsertBefor(ds, mode, ref columns);

            if (status == DataStatus.Success)
            {
                try
                {
                    if (InsertOrReplaceImpl(ds, mode, columns))
                    {
                        OnInsertAfter(ds);
                        status = DataStatus.Success;
                    }
                    else
                    {
                        OnInsertFailed(ds);
                        status = DataStatus.Failed;
                    }
                }
                catch (Exception)
                {
                    OnInsertFailed(ds);
                    status = DataStatus.Failed;
                }
            }
            return(status);
        }
Exemple #12
0
        public DataStatus Update(DataSource ds, ColumnMode mode, DataColumn[] columns, DataWhereQueue ps)
        {
            DataStatus status = OnUpdateBefor(ds, mode, ref columns);

            if (status == DataStatus.Success)
            {
                try
                {
                    if (UpdateImpl(ds, mode, columns, ps) > 0)
                    {
                        status = OnUpdateAfter(ds);
                    }
                    else
                    {
                        OnUpdateFailed(ds);
                        status = DataStatus.Failed;
                    }
                }
                catch (Exception)
                {
                    OnUpdateFailed(ds);
                    status = DataStatus.Failed;
                    //throw;
                }
            }
            return(status);
        }
Exemple #13
0
        protected bool InsertOrReplaceImpl(DataSource ds, ColumnMode mode, params DataColumn[] columns)
        {
            if (ds.Provider.SupperReplace)
            {
                InsertBucket bucket = GetInsertSql(ds, mode, columns);
                string       sql    = ds.Provider.BuildInsertOrReplaceSql(GetTableName(), bucket.Names, bucket.Values, bucket.Id);
                return(ds.ExecuteNonQuery(sql, bucket.Parameters) > 0);
            }

            DataWhereQueue ps = null;

            KeyValuePair <string, FieldInfo>[] pks = GetPrimaryKeys();
            foreach (KeyValuePair <string, FieldInfo> pair in pks)
            {
                if (ps == null)
                {
                    ps = new DataParameter(pair.Key, pair.Value.GetValue(this));
                }
                else
                {
                    ps &= new DataParameter(pair.Key, pair.Value.GetValue(this));
                }
            }
            if (ExecuteCount(ds, ps) > 0)
            {
                return(UpdateImpl(ds, mode, columns, ps) > 0);
            }

            return(InsertImpl(ds, mode, columns));
        }
Exemple #14
0
        protected bool InsertImpl(DataSource ds, ColumnMode mode, params DataColumn[] columns)
        {
            InsertBucket bucket = GetInsertSql(ds, mode, columns);
            string       sql    = ds.Provider.BuildInsertSql(GetTableName(), bucket.Names, bucket.Values, bucket.Id);

            return(InsertImpl(ds, sql, this, bucket.Parameters));
        }
Exemple #15
0
 protected override DataStatus OnUpdateBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (!Utility.EmailRegularExpression.IsMatch(Email))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #16
0
 protected override DataStatus OnUpdateBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (!Mobile.IsMobile())
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
 public FileListPaneSettings(string directory, string sortByField, ListSortDirection sortDirection, ColumnMode columnMode, FileListPaneViewMode viewMode)
 {
     Directory         = directory;
     SortByField       = sortByField;
     SortDirection     = sortDirection;
     DisplayColumnMode = columnMode;
     ViewMode          = viewMode;
 }
Exemple #18
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(AccountName) || string.IsNullOrEmpty(BankCard))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #19
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (ProductId <= 0)
     {
         return(DataStatus.Failed);
     }
     return(base.OnInsertBefor(ds, mode, ref columns));
 }
Exemple #20
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(Name))
     {
         return(DataStatus.ExistOther);
     }
     return(DataStatus.Success);
 }
Exemple #21
0
        protected static bool InsertImpl <T>(T instance, DataSource ds, ColumnMode mode, params DataColumn[] columns) where T : DbTable
        {
            InsertBucket bucket = TDbTable <T> .GetInsertSql(ds, instance, mode, columns);

            string sql = ds.Provider.BuildInsertSql(GetTableName <T>(), bucket.Names, bucket.Values, bucket.Id);

            return(InsertImpl(ds, sql, instance, bucket.Parameters));
        }
Exemple #22
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (TemplateId <= 0)
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #23
0
 protected override DataStatus OnUpdateBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(BankName))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #24
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (DrawMoney <= 0 || UserId <= 0 || string.IsNullOrEmpty(OrderId))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #25
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(Type) || string.IsNullOrEmpty(UserId))
     {
         return(DataStatus.Failed);
     }
     Type = Type.ToLower();
     return(DataStatus.Success);
 }
Exemple #26
0
        protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
        {
            bool emptyName   = string.IsNullOrEmpty(Name);
            bool emptyEmail  = string.IsNullOrEmpty(Email);
            bool emptyMobile = !Mobile.IsMobile();

            if (emptyName && emptyEmail && emptyMobile)
            {
                return(DataStatus.Failed);
            }
            if (emptyMobile)
            {
                Mobile = 0L;
            }
            if (!emptyName)
            {
                if (!Web.Utility.PassportNameRegularExpression.IsMatch(ref Name))
                {
                    return(DataStatus.Failed);
                }
                if (!CheckName(ds, Name))
                {
                    return(DataStatus.Exist);
                }
            }
            if (!emptyEmail)
            {
                if (!Web.Utility.EmailRegularExpression.IsMatch(ref Email))
                {
                    return(DataStatus.Failed);
                }
                if (!CheckEmail(ds, Email))
                {
                    return(DataStatus.Exist);
                }
            }
            if (!emptyMobile)
            {
                if (!CheckMobile(ds, Mobile))
                {
                    return(DataStatus.Exist);
                }
            }
            if (!emptyEmail || !emptyMobile)
            {
                if (emptyName)
                {
                    Name = Guid.NewGuid().ToString("N");
                }
            }
            if (!Web.Utility.PassportPasswordRegularExpression.IsMatch(Password))
            {
                return(DataStatus.ExistOther);
            }
            Password = Password.MD5();
            return(DataStatus.Success);
        }
Exemple #27
0
 protected override DataStatus OnUpdateBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     columns = Exclude(columns, mode, "UserId", "ParentId", "TargetType", "TargetId", "CreationDate");
     if (string.IsNullOrEmpty(Content))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #28
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(Provider))
     {
         return(DataStatus.Failed);
     }
     Provider = Provider.ToLower();
     return(DataStatus.Success);
 }
Exemple #29
0
 protected override DataStatus OnUpdateBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     columns = Exclude(columns, mode, "SellerId");
     if (string.IsNullOrEmpty(Name))
     {
         return(DataStatus.Failed);
     }
     return(DataStatus.Success);
 }
Exemple #30
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(Name))
     {
         return(DataStatus.Failed);
     }
     Length = Name.Length;
     return(DataStatus.Success);
 }
Exemple #31
0
 protected override DataStatus OnInsertBefor(DataSource ds, ColumnMode mode, ref DataColumn[] columns)
 {
     if (string.IsNullOrEmpty(Id) || string.IsNullOrEmpty(Name) || string.IsNullOrEmpty(Version))
     {
         return(DataStatus.Failed);
     }
     Id = Id.ToLower();
     return(DataStatus.Success);
 }