コード例 #1
0
        // POST api/monitoreddvgs
        public HttpResponseMessage Post(IEnumerable<DeliveryGroup> updatedDeliveryGroups)
        {
            try
            {
                var dvgService = new DeliveryGroupService(new Repository<DeliveryGroup>(_session));
                
                dvgService.BulkUpdateRepository(updatedDeliveryGroups,
                    new Expression<Func<DeliveryGroup, object>>[]
                        {
                            d => d.CancelOnBulkingEnabled
                        },
                        true
                    );
                return Get();
            }
            catch (Exception ex)
            {
                var response = Request.CreateResponse(HttpStatusCode.InternalServerError);

                HttpResponseHelper.SetExceptionHeaders(response, ex, "Update Failed");

                return response;
            }
        }
コード例 #2
0
ファイル: HotmailMonitoring.cs プロジェクト: c0d3m0nky/mty
        public void SetDeliveryGroupsHotmailMonitoring()
        {
            var repositoryMock = new Mock<IBaseRepository<DeliveryGroup>>();
            var deliveryGroupClone = (IEnumerable<DeliveryGroup>) DeliveryGroups.Clone();
            bool called = false;

            repositoryMock.Setup(m => m.Get()).Returns(DeliveryGroups.AsQueryable());
            repositoryMock.Setup(m => m.Sync(true, true)).Callback(() => called = true);
            var deliveryGroupService = new DeliveryGroupService(repositoryMock.Object);
            var enabledDeliveryGroups = deliveryGroupService.GetEnabledDeliveryGroups();

            var dvgsToEnable = deliveryGroupClone.Where(d => !d.CancelOnBulkingEnabled).ToList();
            var dvgsToDisable = deliveryGroupClone.Where(d => d.CancelOnBulkingEnabled).ToList();

            dvgsToDisable.ForEach(d => d.CancelOnBulkingEnabled = false);
            dvgsToEnable.ForEach(d => d.CancelOnBulkingEnabled = true);

            deliveryGroupService.BulkUpdateRepository(deliveryGroupClone,
                                            new Expression<Func<DeliveryGroup, object>>[]
                                            {
                                                d => d.CancelOnBulkingEnabled
                                            },
                                            true);

            Assert.IsFalse(DeliveryGroups.Join(deliveryGroupClone, t => t.Id, s => s.Id, (t, s) => new { t, s }).Any(j => j.t.CancelOnBulkingEnabled != j.s.CancelOnBulkingEnabled),
                                                "Bit flip failed");

            Assert.IsTrue(called, "Sync not called");
        }