示例#1
0
        /// <summary>
        /// Inserts the or update package.
        /// </summary>
        /// <param name="package">The package.</param>
        public void InsertOrUpdatePackage(Package package)
        {
            lock (this.dataContextLock)
            {
                this.CreateDBIfNotExist();
                using (var dataContext = new DBContext())
                {
                    var queryPackage = from item in dataContext.PackageTable where item.PackageId == package.PackageId select item;
                    if (queryPackage.Any())
                    {
                        Package databasePackage = queryPackage.First();
                        databasePackage.CopyFrom(package);
                    }
                    else
                    {
                        dataContext.PackageTable.InsertOnSubmit(package);
                    }

                    dataContext.SubmitChanges();
                }
            }
        }