Beispiel #1
0
        /// <exception cref="ArangoDBException"/>
        private string execute(long id)
        {
            CollectionEntity result = this.access.db(this.db).collection(Sharpen.Runtime.getStringValueOf
                                                                             (id)).getInfo();

            return(result.getName());
        }
        public void ShouldTreatNullCollectionsAsEmpty()
        {
            CollectionEntityConfiguration          config  = new CollectionEntityConfiguration();
            EntityChangeTracker <CollectionEntity> tracker = new EntityChangeTracker <CollectionEntity>(config);
            CollectionEntity entity = new CollectionEntity()
            {
                Values = null
            };

            tracker.Attach(entity);

            entity.Values = new List <int>()
            {
                4
            };

            var additionDetails = tracker.DetectCollectionChanges(entity, x => x.Values, ElementState.Added);
            var additions       = additionDetails.GetChanges();

            Assert.AreEqual(1, additions.Count, "Only one addition to the collection should have been detected.");
            var addition = additions.Single();

            Assert.AreEqual(4, addition.Item, "The wrong value was detected as changed.");
            Assert.AreEqual(ElementState.Added, addition.State, "The item should have been added.");
        }
        public void ShouldDetectModifiedRecordsInCollection()
        {
            CollectionEntityConfiguration          config  = new CollectionEntityConfiguration();
            EntityChangeTracker <CollectionEntity> tracker = new EntityChangeTracker <CollectionEntity>(config);
            CollectionEntity entity = new CollectionEntity()
            {
                Values = new List <int>()
                {
                    1, 2, 3
                }
            };

            tracker.Attach(entity);

            entity.Values.Remove(1);
            entity.Values.Add(4);

            var additionDetails = tracker.DetectCollectionChanges(entity, x => x.Values, ElementState.Added);
            var additions       = additionDetails.GetChanges();

            Assert.AreEqual(1, additions.Count, "Only one addition to the collection should have been detected.");
            var addition = additions.Single();

            Assert.AreEqual(4, addition.Item, "The wrong value was detected as changed.");
            Assert.AreEqual(ElementState.Added, addition.State, "The item should have been added.");

            var removalDetails = tracker.DetectCollectionChanges(entity, x => x.Values, ElementState.Removed);
            var removals       = removalDetails.GetChanges();

            Assert.AreEqual(1, removals.Count, "Only one removal from the collection should have been detected.");
            var removal = removals.Single();

            Assert.AreEqual(1, removal.Item, "The wrong value was detected as changed.");
            Assert.AreEqual(ElementState.Removed, removal.State, "The item should have been removed.");
        }
Beispiel #4
0
        public ActionResult ProposalDetail(string Id)
        {
            CollectionEntity collectionEntity = new CollectionEntity();

            collectionEntity         = collectionBll.GetEntity(Id);
            ViewBag.CollectionEntity = collectionEntity;
            return(View());
        }
Beispiel #5
0
 public void Add(CollectionEntity entity)
 {
     using (RepositoryTransaction trans = new RepositoryTransaction())
     {
         var repository = trans.GetCollectionRepository();
         repository.Add(entity);
         trans.Commit();
     }
 }
Beispiel #6
0
        public static CollectionEntity ToEntity(this CollectionViewModel vm)
        {
            CollectionEntity entity = new CollectionEntity();

            entity.ID      = vm.ID;
            entity.UserId  = vm.UserId;
            entity.BookId  = vm.BookId;
            entity.Status  = (BookStatus)vm.Status;
            entity.Updated = vm.Updated == 0 ? DateTime.UtcNow : DateTimeUtil.ConvertTime(vm.Updated);
            return(entity);
        }
Beispiel #7
0
        public static CollectionViewModel ToViewModel(this CollectionEntity entity)
        {
            CollectionViewModel vm = new CollectionViewModel();

            vm.ID      = entity.ID;
            vm.UserId  = entity.UserId;
            vm.BookId  = entity.BookId;
            vm.Status  = (VMBookStatus)entity.Status;
            vm.Updated = DateTimeUtil.ConvertTime(entity.Updated);
            return(vm);
        }
Beispiel #8
0
        public async Task UpdatePartitionCollectionAsync(string correlationId, List <string> indexes)
        {
            try
            {
                // 1. Get collection
                CollectionEntity collectionEntity = null;

                var client = UpdateHttpClientWithHeader("GET", "colls", $"dbs/{DatabaseName}/colls/{CollectionName}");
                {
                    var uri      = new Uri($"{BaseUri}/dbs/{DatabaseName}/colls/{CollectionName}");
                    var response = await client.GetAsync(uri);

                    var responseContent = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        collectionEntity = JsonConverter.FromJson <CollectionEntity>(responseContent);
                        if (collectionEntity == null)
                        {
                            throw new NotFoundException(correlationId, "NotFound", $"Unable to find collection '{CollectionName}'. Response Content: {responseContent}");
                        }
                        Logger.Trace(correlationId, $"UpdatePartitionCollectionAsync: Found collection '{CollectionName}'.");
                    }
                    else
                    {
                        throw new ConnectionException(correlationId, "ConnectFailed", $"Error while updating collection '{CollectionName}'. Response Content: {responseContent}");
                    }
                }

                // 2. Update collection
                client = UpdateHttpClientWithHeader("PUT", "colls", $"dbs/{DatabaseName}/colls/{CollectionName}");
                {
                    var uri      = new Uri($"{BaseUri}/dbs/{DatabaseName}/colls/{CollectionName}");
                    var response = await client.PutAsJsonAsync(uri, CreateCollectionEntity(collectionEntity, indexes));

                    var responseContent = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        Logger.Trace(correlationId, $"UpdatePartitionCollectionAsync: Collection '{CollectionName}' updated.");
                    }
                    else
                    {
                        throw new ConnectionException(correlationId, "ConnectFailed", $"Error while updating collection '{CollectionName}'. Response Content: {responseContent}");
                    }
                }
            }
            catch (Exception exception)
            {
                Logger.Error(correlationId, exception, $"UpdatePartitionCollectionAsync: Failed to update the collection '{CollectionName}' in the CosmosDB database '{DatabaseName}'.");
                throw exception;
            }
        }
        private void SetupData(DbContextOptions dbContextOptions)
        {
            using (var cmContext = new JobQueueDataContext(dbContextOptions))
            {
                var collection = new CollectionEntity()
                {
                    CollectionId     = 1,
                    CollectionTypeId = 1,
                    IsOpen           = true,
                    Name             = "ILR1718"
                };
                cmContext.Collections.Add(collection);

                cmContext.ReturnPeriods.Add(new ReturnPeriodEntity()
                {
                    CalendarMonth    = 8,
                    CalendarYear     = 2018,
                    ReturnPeriodId   = 2,
                    PeriodNumber     = 1,
                    StartDateTimeUtc = new System.DateTime(2018, 08, 22),
                    EndDateTimeUtc   = new System.DateTime(2018, 09, 04),
                    CollectionEntity = collection,
                    CollectionId     = 1,
                });

                cmContext.ReturnPeriods.Add(new ReturnPeriodEntity()
                {
                    CalendarMonth    = 7,
                    CalendarYear     = 2018,
                    ReturnPeriodId   = 1,
                    PeriodNumber     = 12,
                    StartDateTimeUtc = System.DateTime.UtcNow.AddSeconds(-60),
                    EndDateTimeUtc   = System.DateTime.UtcNow.AddSeconds(60),
                    CollectionEntity = collection,
                    CollectionId     = 1
                });

                cmContext.ReturnPeriods.Add(new ReturnPeriodEntity()
                {
                    CalendarMonth    = 9,
                    CalendarYear     = 2018,
                    ReturnPeriodId   = 3,
                    PeriodNumber     = 3,
                    StartDateTimeUtc = System.DateTime.UtcNow.AddDays(1),
                    EndDateTimeUtc   = System.DateTime.UtcNow.AddDays(10),
                    CollectionEntity = collection,
                    CollectionId     = 1
                });

                cmContext.SaveChanges();
            }
        }
Beispiel #10
0
        /// <summary>
        /// 获取会议代表信息 按区域
        /// </summary>
        /// <param name="ParentId"></param>
        /// <param name="TVShowMenuId"></param>
        /// <param name="OrganizeId"></param>
        /// <param name="OrganizeId"></param>
        /// <returns></returns>
        public ActionResult GeRspresentAddressList(string ParentId, string TVShowMenuId, string OrganizeId, string Title, string UserId = "", string OrderBy = "")
        {
            CollectionEntity collectionEntity = new CollectionEntity();

            collectionEntity.ParentId     = ParentId;
            collectionEntity.TVShowMenuId = TVShowMenuId;
            collectionEntity.OrganizeId   = OrganizeId;
            collectionEntity.Title        = Title;
            collectionEntity.CreateUserId = UserId;
            var dtrows = collectionBll.GetTable(collectionEntity, OrderBy);

            return(Success(dtrows.ToJson()));
        }
Beispiel #11
0
        private void VerifyIndexWasCloned(CollectionEntity expected, CollectionEntity actual, int entityIndex)
        {
            Assert.AreEqual(expected.IntArray[entityIndex], actual.IntArray[entityIndex]);
            Assert.AreNotSame(expected.PrimitiveEntityArray[entityIndex], actual.PrimitiveEntityArray[entityIndex]);
            Assert.AreEqual(expected.PrimitiveEntityArray[entityIndex], actual.PrimitiveEntityArray[entityIndex]);
            Assert.AreNotSame(expected.ComplexEntityArray[entityIndex], actual.ComplexEntityArray[entityIndex]);
            Assert.AreEqual(expected.ComplexEntityArray[entityIndex], actual.ComplexEntityArray[entityIndex]);

            Assert.AreEqual(expected.LongList[entityIndex], actual.LongList[entityIndex]);
            Assert.AreNotSame(expected.PrimitiveEntityList[entityIndex], actual.PrimitiveEntityList[entityIndex]);
            Assert.AreEqual(expected.PrimitiveEntityList[entityIndex], actual.PrimitiveEntityList[entityIndex]);
            Assert.AreNotSame(expected.ComplexEntityList[entityIndex], actual.ComplexEntityList[entityIndex]);
            Assert.AreEqual(expected.ComplexEntityList[entityIndex], actual.ComplexEntityList[entityIndex]);
        }
Beispiel #12
0
 public void Update(S_SPAWN_COLLECTION m)
 {
     var newEntity = new CollectionEntity();
     newEntity.Position = m.Position;
     newEntity.CollectionId = m.CollectionId;
     newEntity.Amount = m.Amount;
     newEntity.Angle = m.Angle;
     newEntity.Extractor = m.Extractor;
     newEntity.ExtractorDisabled = m.ExtractorDisabled;
     newEntity.Id = m.EntityId;
     if (newEntity.ColorType != ColorType.Grey)
     {
         newEntity.ZoneId = CompassUser.ZoneId;
         Register(newEntity);
     }
 }
Beispiel #13
0
        /// <summary>
        /// 获取会议代表信息 按人名
        /// </summary>
        /// <param name="ParentId"></param>
        /// <param name="TVShowMenuId"></param>
        /// <param name="OrganizeId"></param>
        /// <param name="OrganizeId"></param>
        /// <returns></returns>
        public ActionResult GeRspresentJsonList(string ParentId, string TVShowMenuId, string OrganizeId, string Title)
        {
            CollectionEntity collectionEntity = new CollectionEntity();

            collectionEntity.ParentId     = ParentId;
            collectionEntity.TVShowMenuId = TVShowMenuId;
            collectionEntity.OrganizeId   = OrganizeId;
            collectionEntity.Title        = Title;
            var dtInitials = collectionBll.GetInitials(collectionEntity);
            var dtrows     = collectionBll.GetTable(collectionEntity, "");
            var JsonData   = new
            {
                dtInitials = dtInitials,
                dtrows     = dtrows,
            };

            return(Success(JsonData.ToJson()));
        }
Beispiel #14
0
        public void CanCloneEntityWithCollections(int testEntitiesInCollection)
        {
            CollectionEntity testEntity = new CollectionEntity(testEntitiesInCollection);
            ICloneFactory    testObject = TestServiceProvider.GetRequiredService <ICloneFactory>();

            CollectionEntity actual = testObject.Clone(testEntity);

            Assert.AreNotSame(testEntity, actual);
            Assert.AreEqual(testEntitiesInCollection, actual.IntArray.Length);
            Assert.AreEqual(testEntitiesInCollection, actual.PrimitiveEntityArray.Length);
            Assert.AreEqual(testEntitiesInCollection, actual.ComplexEntityArray.Length);
            Assert.AreEqual(testEntitiesInCollection, actual.LongList.Count);
            Assert.AreEqual(testEntitiesInCollection, actual.PrimitiveEntityList.Count);
            Assert.AreEqual(testEntitiesInCollection, actual.ComplexEntityList.Count);
            for (int i = 0; i < testEntitiesInCollection; i++)
            {
                VerifyIndexWasCloned(testEntity, actual, i);
            }
        }
        public string Save(List <CollectionViewModel> books)
        {
            var index = 0;

            foreach (var item in books)
            {
                try
                {
                    CollectionEntity entity = item.ToEntity();
                    if (!this.mDb.Contains <CollectionEntity>(c => c.ID == entity.ID))
                    {
                        this.mDb.Add(entity);
                    }
                    index++;
                }
                catch (Exception e)
                {
                }
            }
            return(SerializerHelper.SerializeByJsonConvert(index == books.Count));
        }
        private CoreCollectionDto InsertOrUpdate(CoreCollectionDto dto)
        {
            using (var adapter = new DataAccessAdapter())
            {
                var data = new LinqMetaData(adapter);

                var entity = data.Collection.FirstOrDefault(CoreCollectionDtoPersistence.CreatePkPredicate(dto));

                if (entity == null)
                {
                    entity = new CollectionEntity();
                }

                entity.UpdateFromCoreCollectionDto(dto);

                adapter.SaveEntity(entity, true);

                //We need to do this extra call as per https://www.llblgen.com/Documentation/5.3/Derived%20Models/dto_llblgen.htm#example-projection-on-database-query
                var result = data.Collection.Where(x => x.Id == entity.Id).ProjectToCoreCollectionDto().ToList();

                return(result[0]);
            }
        }
Beispiel #17
0
        private CollectionEntity CreateCollectionEntity(List <PayloadEntity> payloads)
        {
            var result = new CollectionEntity
            {
                ClientId = this._clientId,

                DeviceId = this._deviceIdHash,

                Session = this._sessionId,

                SystemVersion = this._systemVersion,

                ProductVersion = this._productVersion,

                System = this._system,

                ProductGitHash = this._productGitHash,

                Payloads = payloads
            };

            return(result);
        }
        private void EntityTracker_EntityUpdated(IEntity obj)
        {
            if (obj is UserEntity entity)
            {
                if (PacketProcessor.Instance.EntityTracker.CompassUser.Id != obj.Id)
                {
                    if (Services.CompassSettings.MarkGuildAsAlly && entity.Relation == RelationType.PK &&
                        entity.GuildName == Services.CompassSettings.MyGuildName)
                    {
                        entity.Relation = RelationType.GuildMember;
                    }
                    PlayerModels[entity.Id] = entity;
                }
            }
            else if (Services.CompassSettings.ShowGatherting && obj is CollectionEntity collection)
            {
                CollectionModels[collection.Id] = collection;
                Task.Factory.StartNew(() =>
                {
                    try
                    {
                        CollectionEntity result = CollectionDatabase.Collection.FindOne(Query.And(Query.EQ("$.Position[0]", collection.Position.X),
                                                                                                  Query.EQ("$.Position[1]", collection.Position.Y), Query.EQ("$.Position[2]", collection.Position.Z)));

                        if (result == null)
                        {
                            CollectionDatabase.Collection.Insert(collection);
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace.Write(ex.ToString());
                    }
                });
            }
        }
Beispiel #19
0
 /// <summary>
 /// 保存用户表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="userEntity">用户实体</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, CollectionEntity collection)
 {
     try
     {
         if (string.IsNullOrWhiteSpace(collection.SimpleSpelling))
         {
             if (Str.CheckStringChineseReg(collection.Title))
             {
                 collection.SimpleSpelling = Str.PinYin(collection.Title).ToUpper();
                 collection.Initials       = collection.SimpleSpelling.Substring(0, 1);
             }
             else
             {
                 collection.SimpleSpelling = collection.Title.ToUpper();
                 collection.Initials       = collection.SimpleSpelling.Substring(0, 1);
             }
         }
         service.SaveForm(keyValue, collection);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #20
0
 /// <summary>
 /// 用户列表
 /// </summary>
 /// <returns></returns>
 public DataTable GetTable(CollectionEntity collection, string OrderBy)
 {
     return(service.GetTable(collection, OrderBy));
 }
Beispiel #21
0
 /// <summary>
 /// 根据条件查询用户
 /// </summary>
 /// <returns></returns>
 public IEnumerable <CollectionEntity> GetUserSearch(CollectionEntity collection)
 {
     return(service.GetUserSearch(collection));
 }
 IEnumerator IEnumerable.GetEnumerator()
 {
     return(CollectionEntity.GetEnumerator());
 }
 public IEnumerator <T> GetEnumerator()
 {
     return(CollectionEntity.GetEnumerator());
 }
 public virtual void Clear()
 {
     lock (locker)
         CollectionEntity.Clear();
 }
 public virtual void Remove(T item)
 {
     lock (locker)
         CollectionEntity.Remove(item);
 }
 public virtual void Add(T item)
 {
     lock (locker)
         CollectionEntity.Add(item);
 }
 public ActionResult SaveTwoContactPubForm(string keyValue, CollectionEntity collectionEntity)
 {
     collectionBll.SaveForm(keyValue, collectionEntity);
     return(Success("发布成功"));
 }
Beispiel #28
0
 /// <summary>
 /// 用户首字母
 /// </summary>
 /// <returns></returns>
 public DataTable GetInitials(CollectionEntity collection)
 {
     return(service.GetInitials(collection));
 }
Beispiel #29
0
 public AddVModel()
 {
     CollectionEntity = new CollectionEntity();
     CollectionEntity.CollectionDate = DateTime.Today;
 }
Beispiel #30
0
        private static CollectionEntity CreateCollectionEntity(CollectionEntity collectionEntity, List <string> indexes)
        {
            var result = new CollectionEntity()
            {
                Id             = collectionEntity.Id,
                IndexingPolicy = new IndexingPolicyEntity()
                {
                    IndexingMode  = "consistent",
                    Automatic     = true,
                    IncludedPaths = new List <IncludedPathEntity>()
                    {
                        new IncludedPathEntity()
                        {
                            Path    = "/*",
                            Indexes = new List <IndexEntity>()
                            {
                                new IndexEntity()
                                {
                                    Kind      = "Range",
                                    DataType  = "Number",
                                    Precision = -1
                                },
                                new IndexEntity()
                                {
                                    Kind      = "Range",
                                    DataType  = "String",
                                    Precision = -1
                                }
                            }
                        }
                    },
                    ExcludedPaths = collectionEntity.IndexingPolicy.ExcludedPaths
                },
                PartitionKey = collectionEntity.PartitionKey
            };

            foreach (var index in indexes)
            {
                // ignore system "id" index
                if (string.IsNullOrWhiteSpace(index) || index.Equals("id", StringComparison.InvariantCultureIgnoreCase))
                {
                    continue;
                }

                result.IndexingPolicy.IncludedPaths.Add(new IncludedPathEntity()
                {
                    Path    = $"/{index}/?",
                    Indexes = new List <IndexEntity>()
                    {
                        new IndexEntity()
                        {
                            Kind      = "Hash",
                            DataType  = "Number",
                            Precision = -1
                        },
                        new IndexEntity()
                        {
                            Kind      = "Hash",
                            DataType  = "String",
                            Precision = -1
                        }
                    }
                });
            }

            result.PartitionKey.Version = 1;

            return(result);
        }