// 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; } }
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"); }