コード例 #1
0
        private void CreateVersion(DbEntityEntry <Entity> entry)
        {
            var entityType = entry.Entity.GetType();

            if (entityType.BaseType != null && (entityType.BaseType.Name.Equals("Location") || entityType.FullName.Equals("Framework.DomainModel.Entities.Location")))
            {
                var obj = TableVersions.FirstOrDefault(o => o.TableId == TableInfo.Location);
                if (obj != null)
                {
                    obj.Version = Guid.NewGuid().ToString("N");
                }
                else
                {
                    var tableVersion = new TableVersion
                    {
                        TableId     = TableInfo.Location,
                        Version     = Guid.NewGuid().ToString("N"),
                        CreatedById = 1,
                        LastUserId  = 1,
                    };
                    tableVersion.SetCreatedOn(DateTime.UtcNow);
                    tableVersion.SetLastModified(DateTime.UtcNow);
                    TableVersions.Add(tableVersion);
                }
            }

            if (entityType.BaseType != null && (entityType.BaseType.Name.Equals("Courier") || entityType.FullName.Equals("Framework.DomainModel.Entities.Courier")))
            {
                var obj = TableVersions.FirstOrDefault(o => o.TableId == TableInfo.Courier);
                if (obj != null)
                {
                    obj.Version = Guid.NewGuid().ToString("N");
                }
                else
                {
                    var tableVersion = new TableVersion
                    {
                        TableId     = TableInfo.Courier,
                        Version     = Guid.NewGuid().ToString("N"),
                        CreatedById = 1,
                        LastUserId  = 1,
                    };
                    tableVersion.SetCreatedOn(DateTime.UtcNow);
                    tableVersion.SetLastModified(DateTime.UtcNow);
                    TableVersions.Add(tableVersion);
                }
            }
        }
コード例 #2
0
        public async Task <EntityVersion> AddVersionAsync(EntityVersion entityVersion)
        {
            var versionRep = GetRepositoryInstance <TableVersions>();
            var model      = new TableVersions
            {
                VersionId     = Utils.GetCheckCode(6),
                VersionName   = entityVersion.VersionName,
                VersionStatus = (int)entityVersion.VersionStatus,
                CreateTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                Remark        = ""
            };
            await versionRep.InsertAsync(model);

            entityVersion.Id = model.Id;
            return(entityVersion);
        }
コード例 #3
0
ファイル: CacheOption.cs プロジェクト: RelinkaKing/UnityPC
        //实现写入缓存共有类
        public void setCache(string r)
        {
            var repository = new RemoteRepository <GetStruct>();

            var version = new DbRepository <TableVersions>();

            version.DataService("vesali.db");
            version.CreateTable();
            TableVersions tv = version.SelectOne <TableVersions>((tmpT) =>
            {
                if (tmpT.table_name == typeof(T).Name)
                {
                    return(true);
                }
                return(false);
            });
            var struct_version = "-1";

            if (tv != null)
            {
                struct_version = tv.version;
            }
            //var os = "ios";
            //if (PublicClass.platform == asset_platform.android)
            //{
            //    os = "android";
            //}
            //Debug.Log("===当前请求的地址是====" + r + "===当前泛型指定的实例为====" + typeof(T).Name + "  ====当前版本===" + struct_version);
            //vesal_log.vesal_write_log(SystemInfo.deviceUniqueIdentifier+"--------------------------------------------------------设备唯一号");
            //  Debug.Log(SystemInfo.deviceUniqueIdentifier+"--------------------------------------------------------设备唯一号");
            // Debug.Log("======== "+ (int)PublicClass.Quality);//, level = (int)PublicClass.Quality      ?Version=2&softVersion=2.3&os=android&level=1
            Debug.Log(r);
            repository.Get <Response <T> >(r, new GetStruct {
                Version = struct_version, device = SystemInfo.deviceUniqueIdentifier, os = Enum.GetName(typeof(asset_platform), PublicClass.platform), level = ((int)PublicClass.Quality).ToString(), softVersion = PublicClass.get_version()
            }, (response) =>
            {
                if (response.List != null && response.List.Count != 0)
                {
                    Debug.Log("============读取数据库缓存更新,从远程拉取数据,更新版本号=================== " + typeof(T).Name);
                    //如果有数据,更新数据和版本
                    if (tv == null)
                    {
                        version.Insert(new TableVersions {
                            table_name = typeof(T).Name, version = response.maxVersion
                        });
                    }
                    else
                    {
                        version.Update(new TableVersions {
                            table_name = typeof(T).Name, version = response.maxVersion
                        });
                    }
                    version.Close();
                    var db = new DbRepository <T>();
                    db.DataService("vesali.db");
                    db.DropTable();
                    db.CreateTable();
                    db.InsertAll(response.List);           //更新远程数据源
                    db.Close();
                }
                else
                {
                    Debug.Log("Struct List data is null " + struct_version + " " + response.maxVersion);
                    // Debug.Log("============读取数据库缓存=================== ");
                    //读取数据库缓存
                }
                PublicClass.data_list_count++;
            });
            //throw new NotImplementedException();
        }