예제 #1
0
        public static ActivityLog CreateActivityLog(
            IActivityLoggable entity)
        {
            ActivityLog activityLog1 = ActivityLogManager.CreateActivityLog();

            activityLog1.EntityID   = entity.ID.ToString();
            activityLog1.EntityName = EntityConfigManager.GetPersianTitle(entity.GetType());
            switch (entity.ObjectState)
            {
            case ObjectState.Unchanged:
            case ObjectState.Detached:
                activityLog1.Action = 1;
                break;

            case ObjectState.Added:
                activityLog1.Action = 2;
                break;

            case ObjectState.Modified:
                activityLog1.Action = 3;
                break;

            case ObjectState.Deleted:
                activityLog1.Action = 4;
                break;
            }
            ActivityLog     activityLog2    = activityLog1;
            ActivityLogData activityLogData = new ActivityLogData();

            activityLogData.Data        = SerializationHelper.SerializeCustom((object)entity);
            activityLogData.ObjectState = ObjectState.Added;
            activityLog2.LogData        = activityLogData;
            return(activityLog1);
        }
예제 #2
0
 public byte[] Serialize(Dictionary<string, string> dictionary)
 {
     StringBuilder stringBuilder = new StringBuilder();
     foreach (KeyValuePair<string, string> keyValuePair in dictionary)
         stringBuilder.AppendFormat(string.Format("{0}:;:{1},,;,,", (object)EntityConfigManager.GetPropertyPersianTitle(dictionary.GetType(), keyValuePair.Key), keyValuePair.Value == null ? (object)"" : (object)keyValuePair.Value.Replace('{', '(').Replace('}', ')')));
     return Encoding.Unicode.GetBytes(stringBuilder.ToString());
 }
예제 #3
0
        //public DbSet<TEntity> CreateSet<TEntity>()
        //    where TEntity : class
        //{
        //    return _allSet.GetOrAdd(typeof(TEntity).FullName, key => Set<TEntity>()) as DbSet<TEntity>;
        //}

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //Remove unused conventions
            //modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
            //配置类型
            EntityConfigManager.ConfigDbTypes(modelBuilder, _context);
            modelBuilder.Filter("SoftDelete", (ISoftDelete d) => d.IsDeleted, false);
        }
예제 #4
0
        public void Initialize(IConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            Configuration = configuration;
            Entity        = new EntityConfigManager(configuration);

            var entityDataConfigNode = configuration.GetSection("Aolyn.Data");
            var cs1 = ConnectionStringHelper.GetConnectionStrings(entityDataConfigNode);
            var cs2 = new ConnectionStringCollection();

            foreach (var item in cs1)
            {
                cs2.Add(item);
            }
            ConnectionStrings = cs2;
        }
예제 #5
0
 public void SetPropertyPersianTitle(
     Expression <Func <TEntity, object> > propertySelector,
     string persianTitle)
 {
     EntityConfigManager.SetPropertyPersianTitle <TEntity>(propertySelector, persianTitle);
 }
예제 #6
0
 public void SetPersianTitle(string persianTitle)
 {
     EntityConfigManager.SetPersianTitle <TEntity>(persianTitle);
 }
예제 #7
0
   public byte[] Serialize(object obj)
   {
       List<string> stringList = new List<string>()
 {
   "ObjectState",
   "ActionsToLog",
   "PropertyMaps",
   "EntityImportItemList",
   "LogData",
   "Password",
   "PlainPassword"
 };
       PropertyInfo[] properties = obj.GetType().GetProperties();
       StringBuilder stringBuilder = new StringBuilder();
       foreach (PropertyInfo propertyInfo in properties)
       {
           if (!((IEnumerable<ParameterInfo>)propertyInfo.GetIndexParameters()).Any<ParameterInfo>() && !stringList.Contains(propertyInfo.Name) && propertyInfo.CanRead)
           {
               object obj1 = propertyInfo.GetValue(obj);
               stringBuilder.AppendFormat(string.Format("{0}:;:{1},,;,,", (object)EntityConfigManager.GetPropertyPersianTitle(obj.GetType(), propertyInfo.Name), obj1 == null ? (object)"NULL" : (object)obj1.ToString().Replace('{', '(').Replace('}', ')')));
           }
       }
       return Encoding.Unicode.GetBytes(stringBuilder.ToString());
   }