Ejemplo n.º 1
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="entity">实体</param>
        /// <param name="statusCode">状态码</param>
        /// <param name="statusMessage">状态信息</param>
        /// <returns>影响行数</returns>
        public int Update(BaseUserInfo userInfo, BaseAreaEntity entity, out string statusCode, out string statusMessage)
        {
            int result = 0;

            string returnCode    = string.Empty;
            string returnMessage = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) =>
            {
                var manager   = new BaseAreaManager(dbHelper, userInfo);
                result        = manager.Update(entity, out returnCode);
                returnMessage = manager.GetStateMessage(returnCode);
            });
            statusCode    = returnCode;
            statusMessage = returnMessage;

            // 处理缓存优化性能
            System.Web.Caching.Cache cache = HttpRuntime.Cache;
            string cacheObject             = string.Empty;

            if (string.IsNullOrEmpty(entity.ParentId))
            {
                cacheObject = "AreaProvince";
            }
            else
            {
                cacheObject = "Area" + entity.ParentId;
            }
            cache.Remove(cacheObject);

            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 更新实体
        /// </summary>
        /// <param name="entity">实体</param>
        public int UpdateObject(BaseAreaEntity entity)
        {
            int        result     = 0;
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginUpdate(this.CurrentTableName);
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, UserInfo.RealName);
            }
            // 若有修改时间标示,那就按修改时间来,不是按最新的时间来
            if (entity.ModifiedOn.HasValue)
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedOn, entity.ModifiedOn.Value);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseAreaEntity.FieldModifiedOn);
            }
            sqlBuilder.SetWhere(BaseAreaEntity.FieldId, entity.Id);
            result = sqlBuilder.EndUpdate();

            return(result);
        }
Ejemplo n.º 3
0
        public static BaseAreaEntity GetObject(BaseUserInfo userInfo, string id)
        {
            BaseAreaEntity result = null;

            string              url        = BaseSystemInfo.UserCenterHost + "/UserCenterV42/AreaService.ashx";
            WebClient           webClient  = new WebClient();
            NameValueCollection postValues = new NameValueCollection();

            postValues.Add("system", BaseSystemInfo.SoftFullName);
            postValues.Add("systemCode", BaseSystemInfo.SystemCode);
            postValues.Add("securityKey", BaseSystemInfo.SecurityKey);
            // 2015-11-25 吉日嘎拉,这里还是从缓存里获取就可以了,提高登录的效率。
            postValues.Add("function", "GetObject");
            postValues.Add("userInfo", userInfo.Serialize());
            postValues.Add("encrypted", true.ToString());
            postValues.Add("id", SecretUtil.Encrypt(id));
            // 向服务器发送POST数据
            byte[] responseArray = webClient.UploadValues(url, postValues);
            string response      = Encoding.UTF8.GetString(responseArray);

            if (!string.IsNullOrEmpty(response))
            {
                result = JsonConvert.DeserializeObject <BaseAreaEntity>(response);
            }

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 从缓存获取获取实体
        /// </summary>
        /// <param name="id">主键</param>
        public static BaseAreaEntity GetObjectByCache(string id)
        {
            BaseAreaEntity result = null;

            System.Web.Caching.Cache cache = HttpRuntime.Cache;
            string cacheObject             = "Area";

            if (!string.IsNullOrEmpty(id))
            {
                cacheObject = "Area" + id;
            }
            if (cache != null && cache[cacheObject] == null)
            {
                lock (locker)
                {
                    if (cache != null && cache[cacheObject] == null)
                    {
                        BaseAreaManager manager = new DotNet.Business.BaseAreaManager(BaseAreaEntity.TableName);
                        result = manager.GetObject(id);
                        // 若是空的不用缓存,继续读取实体
                        if (result != null)
                        {
                            cache.Add(cacheObject, result, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero, CacheItemPriority.Normal, null);
                            System.Console.WriteLine(System.DateTime.Now.ToString(BaseSystemInfo.DateTimeFormat) + " cache Area " + id);
                        }
                    }
                }
            }
            result = cache[cacheObject] as BaseAreaEntity;
            return(result);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 缓存预热,强制重新缓存
        /// </summary>
        /// <returns>影响行数</returns>
        public static int CachePreheating()
        {
            int result = 0;

            // 把所有的组织机构都缓存起来的代码
            BaseAreaManager manager = new BaseAreaManager();

            using (IDataReader dataReader = manager.ExecuteReader())
            {
                while (dataReader.Read())
                {
                    BaseAreaEntity entity = BaseEntity.Create <BaseAreaEntity>(dataReader, false);
                    if (entity != null && entity.Layer < 7)
                    {
                        BaseAreaManager.SetCache(entity);
                        result++;
                        System.Console.WriteLine(result.ToString() + " : " + entity.FullName);
                        // 把列表缓存起来
                        BaseAreaManager.GetListByParentByCache(entity.Id, true);
                        System.Console.WriteLine(result.ToString() + " : " + entity.Id + " " + entity.FullName + " List");
                    }
                }
                dataReader.Close();
            }

            return(result);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 实体修改记录
        /// </summary>
        /// <param name="newEntity">修改前的实体对象</param>
        /// <param name="oldEntity">修改后的实体对象</param>
        /// <param name="tableName">表名称</param>
        public void UpdateEntityLog(BaseAreaEntity newEntity, BaseAreaEntity oldEntity, string tableName = null)
        {
            if (string.IsNullOrEmpty(tableName))
            {
                tableName = this.CurrentTableName + "_LOG";
            }
            BaseModifyRecordManager manager = new BaseModifyRecordManager(this.UserInfo, tableName);

            foreach (var property in typeof(BaseAreaEntity).GetProperties())
            {
                var oldValue = Convert.ToString(property.GetValue(oldEntity, null));
                var newValue = Convert.ToString(property.GetValue(newEntity, null));
                //不记录创建人、修改人、没有修改的记录
                var fieldDescription = property.GetCustomAttributes(typeof(FieldDescription), false).FirstOrDefault() as FieldDescription;
                if (!fieldDescription.NeedLog || oldValue == newValue)
                {
                    continue;
                }
                var record = new BaseModifyRecordEntity();
                record.ColumnCode        = property.Name.ToUpper();
                record.ColumnDescription = fieldDescription.Text;
                record.NewValue          = newValue;
                record.OldValue          = oldValue;
                record.TableCode         = this.CurrentTableName.ToUpper();
                record.TableDescription  = FieldExtensions.ToDescription(typeof(BaseAreaEntity), "TableName");
                record.RecordKey         = oldEntity.Id.ToString();
                record.IPAddress         = Utilities.GetIPAddress(true);
                manager.Add(record, true, false);
            }
        }
Ejemplo n.º 7
0
        public override int BatchSave(DataTable dt)
        {
            int            result = 0;
            BaseAreaEntity entity = new BaseAreaEntity();

            foreach (DataRow dr in dt.Rows)
            {
                // 删除状态
                if (dr.RowState == DataRowState.Deleted)
                {
                    string id = dr[BaseAreaEntity.FieldId, DataRowVersion.Original].ToString();
                    if (id.Length > 0)
                    {
                        result += this.DeleteObject(id);
                    }
                }
                // 被修改过
                if (dr.RowState == DataRowState.Modified)
                {
                    string id = dr[BaseAreaEntity.FieldId, DataRowVersion.Original].ToString();
                    if (id.Length > 0)
                    {
                        entity.GetFrom(dr);
                        result += this.UpdateObject(entity);
                    }
                }
                // 添加状态, 远程接口调用序列化时都会变成添加状态
                if (dr.RowState == DataRowState.Added)
                {
                    entity.GetFrom(dr);
                    if (!string.IsNullOrEmpty(entity.Id))
                    {
                        if (this.UpdateObject(entity) > 0)
                        {
                            result++;
                        }
                        else
                        {
                            result += this.AddObject(entity).Length > 0 ? 1 : 0;
                        }
                    }
                    else
                    {
                        result += this.AddObject(entity).Length > 0 ? 1 : 0;
                    }
                }
                if (dr.RowState == DataRowState.Unchanged)
                {
                    continue;
                }
                if (dr.RowState == DataRowState.Detached)
                {
                    continue;
                }
            }
            return(result);
        }
Ejemplo n.º 8
0
        private static void SetCache(BaseAreaEntity entity)
        {
            if (entity != null && !string.IsNullOrWhiteSpace(entity.Id))
            {
                string key = string.Empty;
                key = "Area" + entity.Id;

                System.Web.Caching.Cache cache = HttpRuntime.Cache;
                cache.Add(key, entity, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null);
            }
        }
 private static void SetCache(BaseAreaEntity entity)
 {
     if (entity != null && !string.IsNullOrWhiteSpace(entity.Id))
     {
         string key = string.Empty;
         using (var redisClient = PooledRedisHelper.GetClient())
         {
             key = "Area:" + entity.Id;
             redisClient.Set <BaseAreaEntity>(key, entity, DateTime.Now.AddMinutes(10));
         }
     }
 }
Ejemplo n.º 10
0
        /// <summary>
        /// 获取实体
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="id">主键</param>
        /// <returns>实体</returns>
        public BaseAreaEntity GetObject(BaseUserInfo userInfo, string id)
        {
            BaseAreaEntity entity = null;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var manager = new BaseAreaManager(dbHelper, userInfo);
                entity      = manager.GetObject(id);
            });
            return(entity);
        }
Ejemplo n.º 11
0
        public static string GetNameByByCache(string id)
        {
            string result = string.Empty;

            BaseAreaEntity entity = GetObjectByCache(id);

            if (entity != null)
            {
                result = entity.FullName;
            }

            return(result);
        }
        public static BaseAreaEntity GetCache(string key)
        {
            BaseAreaEntity result = null;

            if (!string.IsNullOrWhiteSpace(key))
            {
                using (var redisClient = PooledRedisHelper.GetClient())
                {
                    result = redisClient.Get <BaseAreaEntity>(key);
                }
            }

            return(result);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 获取实体
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="id">主键</param>
        /// <returns>实体</returns>
        public BaseAreaEntity GetObject(BaseUserInfo userInfo, string id)
        {
            var parameter = ServiceParameter.CreateWithMessage(userInfo
                                                               , MethodBase.GetCurrentMethod()
                                                               , this.serviceName
                                                               , AppMessage.OrganizeService_GetObject);
            BaseAreaEntity entity = null;

            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var manager = new BaseAreaManager(dbHelper, userInfo);
                entity      = manager.GetObject(id);
            });
            return(entity);
        }
Ejemplo n.º 14
0
        public static BaseAreaEntity GetCache(string key)
        {
            BaseAreaEntity result = null;

            if (!string.IsNullOrWhiteSpace(key))
            {
                System.Web.Caching.Cache cache = HttpRuntime.Cache;
                if (cache != null && cache[key] == null)
                {
                    result = cache[key] as BaseAreaEntity;
                }
            }

            return(result);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 1:默认从只读的缓存服务器获取数据
        /// 2:若读取不到,就会到接口上获取,接口会把数据缓存到只读服务器上,为下次阅读提高性能
        /// </summary>
        /// <param name="userInfo"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static BaseAreaEntity GetObjectByCache(BaseUserInfo userInfo, string id)
        {
            BaseAreaEntity result = null;

            string key = "Area:" + id;

            result = BaseAreaManager.GetCache(key);

            // 远程通过接口获取数据
            if (result == null)
            {
                result = GetObject(userInfo, id);
            }

            return(result);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="entity">实体</param>
        /// <param name="statusCode">状态码</param>
        /// <param name="statusMessage">状态信息</param>
        /// <returns>主键</returns>
        public string Add(BaseUserInfo userInfo, BaseAreaEntity entity, out string statusCode, out string statusMessage)
        {
            string result = string.Empty;

            string returnCode    = string.Empty;
            string returnMessage = string.Empty;
            var    parameter     = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) =>
            {
                var manager   = new BaseAreaManager(dbHelper, userInfo);
                result        = manager.Add(entity, out returnCode);
                returnMessage = manager.GetStateMessage(returnCode);
            });
            statusCode    = returnCode;
            statusMessage = returnMessage;
            return(result);
        }
Ejemplo n.º 17
0
 public void SetAreaEntity <T>(T t) where T : BaseAreaEntity
 {
     if (t != null)
     {
         BaseAreaEntity entity = t as BaseAreaEntity;
         if (entity != null)
         {
             if (!string.IsNullOrEmpty(entity.AreaId))
             {
                 string[] areaIdArr = entity.AreaId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                 if (areaIdArr.Length >= 1)
                 {
                     entity.ProvinceId = areaIdArr[0].ParseToInt();
                 }
                 else
                 {
                     entity.ProvinceId = 0;
                 }
                 if (areaIdArr.Length >= 2)
                 {
                     entity.CityId = areaIdArr[1].ParseToInt();
                 }
                 else
                 {
                     entity.CityId = 0;
                 }
                 if (areaIdArr.Length >= 3)
                 {
                     entity.CountyId = areaIdArr[2].ParseToInt();
                 }
                 else
                 {
                     entity.CountyId = 0;
                 }
             }
         }
     }
 }
Ejemplo n.º 18
0
 /// <summary>
 /// 设置实体
 /// </summary>
 /// <param name="entity">实体</param>
 private void SetObject(SQLBuilder sqlBuilder, BaseAreaEntity entity)
 {
     sqlBuilder.SetValue(BaseAreaEntity.FieldParentId, entity.ParentId);
     sqlBuilder.SetValue(BaseAreaEntity.FieldCode, entity.Code);
     sqlBuilder.SetValue(BaseAreaEntity.FieldFullName, entity.FullName);
     sqlBuilder.SetValue(BaseAreaEntity.FieldShortName, entity.ShortName);
     sqlBuilder.SetValue(BaseAreaEntity.FieldPostalcode, entity.Postalcode);
     sqlBuilder.SetValue(BaseAreaEntity.FieldQuickQuery, entity.QuickQuery);
     sqlBuilder.SetValue(BaseAreaEntity.FieldSimpleSpelling, entity.SimpleSpelling);
     sqlBuilder.SetValue(BaseAreaEntity.FieldProvince, entity.Province);
     sqlBuilder.SetValue(BaseAreaEntity.FieldCity, entity.City);
     sqlBuilder.SetValue(BaseAreaEntity.FieldDistrict, entity.District);
     sqlBuilder.SetValue(BaseAreaEntity.FieldLongitude, entity.Longitude);
     sqlBuilder.SetValue(BaseAreaEntity.FieldLatitude, entity.Latitude);
     sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompanyId, entity.ManageCompanyId);
     sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompanyCode, entity.ManageCompanyCode);
     sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompany, entity.ManageCompany);
     sqlBuilder.SetValue(BaseAreaEntity.FieldNetworkOrders, entity.NetworkOrders);
     sqlBuilder.SetValue(BaseAreaEntity.FieldDelayDay, entity.DelayDay);
     sqlBuilder.SetValue(BaseAreaEntity.FieldOpening, entity.Opening);
     sqlBuilder.SetValue(BaseAreaEntity.FieldWhole, entity.Whole);
     sqlBuilder.SetValue(BaseAreaEntity.FieldReceive, entity.Receive);
     sqlBuilder.SetValue(BaseAreaEntity.FieldSend, entity.Send);
     sqlBuilder.SetValue(BaseAreaEntity.FieldLayer, entity.Layer);
     sqlBuilder.SetValue(BaseAreaEntity.FieldAllowToPay, entity.AllowToPay);
     sqlBuilder.SetValue(BaseAreaEntity.FieldMaxToPayment, entity.MaxToPayment);
     sqlBuilder.SetValue(BaseAreaEntity.FieldAllowGoodsPay, entity.AllowGoodsPay);
     sqlBuilder.SetValue(BaseAreaEntity.FieldMaxGoodsPayment, entity.MaxGoodsPayment);
     sqlBuilder.SetValue(BaseAreaEntity.FieldMark, entity.Mark);
     sqlBuilder.SetValue(BaseAreaEntity.FieldPrintMark, entity.PrintMark);
     sqlBuilder.SetValue(BaseAreaEntity.FieldOutOfRange, entity.OutOfRange);
     sqlBuilder.SetValue(BaseAreaEntity.FieldStatistics, entity.Statistics);
     sqlBuilder.SetValue(BaseAreaEntity.FieldEnabled, entity.Enabled);
     sqlBuilder.SetValue(BaseAreaEntity.FieldDeletionStateCode, entity.DeletionStateCode);
     sqlBuilder.SetValue(BaseAreaEntity.FieldSortCode, entity.SortCode);
     sqlBuilder.SetValue(BaseAreaEntity.FieldDescription, entity.Description);
     SetObjectExpand(sqlBuilder, entity);
 }
Ejemplo n.º 19
0
 public void SetAreaId <T>(T t) where T : BaseAreaEntity
 {
     if (t != null)
     {
         BaseAreaEntity entity = t as BaseAreaEntity;
         if (entity != null)
         {
             entity.AreaId = string.Empty;
             if (!entity.ProvinceId.IsNullOrZero())
             {
                 entity.AreaId += entity.ProvinceId.ParseToString() + ",";
                 if (!entity.CityId.IsNullOrZero())
                 {
                     entity.AreaId += entity.CityId.ParseToString() + ",";
                     if (!entity.CountyId.IsNullOrZero())
                     {
                         entity.AreaId += entity.CountyId.ParseToString() + ",";
                     }
                 }
             }
             entity.AreaId = entity.AreaId.Trim(',');
         }
     }
 }
Ejemplo n.º 20
0
        /// <summary>
        /// 从缓存获取获取实体
        /// </summary>
        /// <param name="id">主键</param>
        /// <returns>实体</returns>
        public static BaseAreaEntity GetObjectByCache(string id)
        {
            BaseAreaEntity result   = null;
            string         cacheKey = "Area:";

            if (!string.IsNullOrEmpty(id))
            {
                cacheKey = cacheKey + id;
            }

            result = GetCache(cacheKey);
            if (result == null || string.IsNullOrWhiteSpace(result.Id))
            {
                BaseAreaManager manager = new DotNet.Business.BaseAreaManager();
                result = manager.GetObject(id);
                // 若是空的不用缓存,继续读取实体
                if (result != null)
                {
                    SetCache(result);
                }
            }

            return(result);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseAreaEntity entity)
        {
            string sequence = string.Empty;

            if (!entity.SortCode.HasValue)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence        = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseAreaEntity.FieldId);
            if (!string.IsNullOrEmpty(entity.Id) || !this.Identity)
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseAreaEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseAreaEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (entity.Id == null)
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.Increment(this.CurrentTableName);
                            }
                            entity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseAreaEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);

            // 创建人信息
            if (!string.IsNullOrEmpty(entity.CreateUserId))
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldCreateUserId, entity.CreateUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseAreaEntity.FieldCreateUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.CreateBy))
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldCreateBy, entity.CreateBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseAreaEntity.FieldCreateBy, UserInfo.RealName);
                }
            }
            if (entity.CreateOn.HasValue)
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldCreateOn, entity.CreateOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseAreaEntity.FieldCreateOn);
            }

            // 修改人信息
            if (!string.IsNullOrEmpty(entity.ModifiedUserId))
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, entity.ModifiedUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.ModifiedBy))
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, entity.ModifiedBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, UserInfo.RealName);
                }
            }
            if (entity.ModifiedOn.HasValue)
            {
                sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedOn, entity.ModifiedOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseAreaEntity.FieldModifiedOn);
            }

            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Ejemplo n.º 22
0
        public string Add(BaseAreaEntity entity, out string statusCode)
        {
            string result = string.Empty;
            // 检查是否重复
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId));
            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, entity.FullName));
            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0));

            //注意Access 的时候,类型不匹配,会出错故此将 Id 传入
            if (BaseSystemInfo.UserCenterDbType == CurrentDbType.Access)
            {
                if (this.Exists(parameters, entity.Id))
                {
                    // 名称已重复
                    statusCode = Status.ErrorNameExist.ToString();
                }
                else
                {
                    parameters = new List <KeyValuePair <string, object> >();
                    parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code));
                    parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0));
                    if (entity.Code.Length > 0 && this.Exists(parameters))
                    {
                        // 编号已重复
                        statusCode = Status.ErrorCodeExist.ToString();
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(entity.QuickQuery))
                        {
                            // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率
                            entity.QuickQuery = StringUtil.GetPinyin(entity.FullName).ToLower();
                        }
                        if (string.IsNullOrEmpty(entity.SimpleSpelling))
                        {
                            // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率
                            entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.FullName).ToLower();
                        }
                        result = this.AddObject(entity);
                        // 运行成功
                        statusCode = Status.OKAdd.ToString();
                    }
                }
            }
            else if (this.Exists(parameters))
            {
                // 名称已重复
                statusCode = Status.ErrorNameExist.ToString();
            }
            else
            {
                parameters = new List <KeyValuePair <string, object> >();
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code));
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0));
                if (entity.Code.Length > 0 && this.Exists(parameters))
                {
                    // 编号已重复
                    statusCode = Status.ErrorCodeExist.ToString();
                }
                else
                {
                    result = this.AddObject(entity);
                    // 运行成功
                    statusCode = Status.OKAdd.ToString();
                }
            }
            return(result);
        }
Ejemplo n.º 23
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="entity">实体</param>
 /// <returns>主键</returns>
 public string Add(BaseAreaEntity entity)
 {
     return(this.AddObject(entity));
 }
Ejemplo n.º 24
0
 partial void SetObjectExpand(SQLBuilder sqlBuilder, BaseAreaEntity entity);
Ejemplo n.º 25
0
        public int Update(BaseAreaEntity entity, out string statusCode)
        {
            int result = 0;
            // 检查是否已被其他人修改
            //if (DbLogic.IsModifed(DbHelper, BaseOrganizeEntity.TableName, entity.Id, entity.ModifiedUserId, entity.ModifiedOn))
            //{
            //    // 数据已经被修改
            //    statusCode = StatusCode.ErrorChanged.ToString();
            //}
            //else
            //{

            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            if (entity.ParentId != null)
            {
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId));
            }
            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, entity.FullName));
            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0));
            parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldEnabled, 1));

            if (this.Exists(parameters, entity.Id))
            {
                // 名称已重复
                statusCode = Status.ErrorNameExist.ToString();
            }
            else
            {
                // 检查编号是否重复
                parameters = new List <KeyValuePair <string, object> >();
                if (entity.ParentId != null)
                {
                    parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId));
                }
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code));
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0));
                parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldEnabled, 1));

                if (entity.Code.Length > 0 && this.Exists(parameters, entity.Id))
                {
                    // 编号已重复
                    statusCode = Status.ErrorCodeExist.ToString();
                }
                else
                {
                    if (string.IsNullOrEmpty(entity.QuickQuery))
                    {
                        // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率
                        entity.QuickQuery = StringUtil.GetPinyin(entity.FullName).ToLower();
                    }
                    if (string.IsNullOrEmpty(entity.SimpleSpelling))
                    {
                        // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率
                        entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.FullName).ToLower();
                    }

                    // 获取原始实体信息
                    var entityOld = this.GetObject(entity.Id);
                    // 保存修改记录
                    this.UpdateEntityLog(entity, entityOld);

                    result = this.UpdateObject(entity);
                    if (result == 1)
                    {
                        statusCode = Status.OKUpdate.ToString();
                    }
                    else
                    {
                        statusCode = Status.ErrorDeleted.ToString();
                    }
                }
            }
            //}
            return(result);
        }
Ejemplo n.º 26
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="entity">实体</param>
 public int Update(BaseAreaEntity entity)
 {
     return(this.UpdateObject(entity));
 }
Ejemplo n.º 27
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="identity">自增量方式</param>
 /// <param name="returnId">返回主鍵</param>
 /// <returns>主键</returns>
 public string Add(BaseAreaEntity entity, bool identity, bool returnId)
 {
     this.Identity = identity;
     this.ReturnId = returnId;
     return(this.AddObject(entity));
 }
        /// <summary>
        /// 设置按省路由大头笔
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="dtAreaRouteMark">路由设置</param>
        /// <returns>影响行数</returns>
        public int SetAreaRouteMark(string areaId, DataTable dtAreaRouteMark)
        {
            int    result   = 0;
            string areaName = string.Empty;

            BaseAreaEntity areaEntity = BaseAreaManager.GetObjectByCache(areaId);

            if (areaEntity != null)
            {
                areaName = areaEntity.FullName;
            }

            if (string.IsNullOrEmpty(areaName))
            {
                return(result);
            }

            IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType, BaseSystemInfo.UserCenterDbConnection);

            foreach (DataRow dr in dtAreaRouteMark.Rows)
            {
                // BaseAreaProvinceMarkEntity entity = null;
                if (string.IsNullOrWhiteSpace(dr["Id"].ToString()))
                {
                    /*
                     * entity = new BaseAreaProvinceMarkEntity();
                     * BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr);
                     * entity.Province = dr["AREANAME"].ToString();
                     * entity.ProvinceId = dr["AREAID"].ToString();
                     * entity.Mark = dr["MARK"].ToString();
                     * entity.Description = dr["DESCRIPTION"].ToString();
                     * entity.CreateBy = this.UserInfo.RealName;
                     * entity.CreateUserId = this.UserInfo.Id;
                     * entity.CreateOn = DateTime.Now;
                     * this.AddObject(entity);
                     */

                    SQLBuilder sqlBuilder = new SQLBuilder(dbHelper);
                    sqlBuilder.BeginInsert("BASEAREA_PROVINCEMARK");
                    sqlBuilder.SetFormula("Id", "SEQ_BASEAREA_PROVINCEMARK.NEXTVAL");
                    sqlBuilder.SetValue("MARK", dr["MARK"].ToString());
                    sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString());
                    sqlBuilder.SetValue("AREAID", areaId);
                    sqlBuilder.SetValue("AREA", areaName);
                    sqlBuilder.SetValue("ProvinceID", dr["AREAID"].ToString());
                    sqlBuilder.SetValue("Province", dr["AREANAME"].ToString());
                    sqlBuilder.SetValue("CreateUserId", this.UserInfo.Id);
                    sqlBuilder.SetValue("CreateBy", this.UserInfo.RealName);
                    sqlBuilder.SetDBNow("CreateOn");
                    sqlBuilder.SetValue("Enabled", 1);
                    sqlBuilder.EndInsert();
                    // sqlBuilder.PrepareCommand();
                    // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                }
                else
                {
                    /*
                     * if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString()))
                     * {
                     *  this.Delete(dr["Id"].ToString());
                     * }
                     * else
                     * {
                     *  entity = this.GetObject(dr["Id"].ToString());
                     *  // entity = BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr);
                     *  entity.Mark = dr["MARK"].ToString();
                     *  entity.Description = dr["DESCRIPTION"].ToString();
                     *  entity.ModifiedBy = this.UserInfo.RealName;
                     *  entity.ModifiedUserId = this.UserInfo.Id;
                     *  entity.ModifiedOn = DateTime.Now;
                     *  this.Update(entity);
                     * }
                     */
                    SQLBuilder sqlBuilder = new SQLBuilder(dbHelper);
                    if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString()))
                    {
                        sqlBuilder.BeginDelete("BASEAREA_PROVINCEMARK");
                        sqlBuilder.SetWhere("Id", dr["Id"].ToString());
                        sqlBuilder.EndDelete();
                        // sqlBuilder.PrepareCommand();
                        // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                    }
                    else
                    {
                        sqlBuilder.BeginUpdate("BASEAREA_PROVINCEMARK");
                        sqlBuilder.SetValue("MARK", dr["MARK"].ToString());
                        sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString());
                        sqlBuilder.SetValue("ModifiedUserId", this.UserInfo.Id);
                        sqlBuilder.SetValue("ModifiedBy", this.UserInfo.RealName);
                        sqlBuilder.SetDBNow("ModifiedOn");
                        sqlBuilder.SetWhere("ID", dr["Id"].ToString());
                        sqlBuilder.EndUpdate();
                        // sqlBuilder.PrepareCommand();
                        // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                    }
                }
            }

            return(result);
        }