示例#1
0
        public void Test_Create()
        {
            var broker          = _db.Brokers.First();
            var sender          = _db.Senders.First();
            var applicationData = _db.Applications.First(x => !x.AirWaybillId.HasValue);

            var count = _db.AirWaybills.Count();

            var model = _fixture
                        .Build <AwbAdminModel>()
                        .Without(x => x.GTD)
                        .With(x => x.BrokerId, broker.Id)
                        .With(x => x.SenderUserId, sender.UserId)
                        .With(x => x.DateOfArrivalLocalString, LocalizationHelper.GetDate(DateTimeProvider.Now, _currentCulture))
                        .With(x => x.DateOfDepartureLocalString, LocalizationHelper.GetDate(DateTimeProvider.Now, _currentCulture))
                        .Create();

            _controller.Create(applicationData.Id, model);

            var entity = _db.AirWaybills.Skip(count).Take(1).First();

            Validate(model, entity.Id);

            _db.Refresh(RefreshMode.OverwriteCurrentValues, applicationData);
            Assert.AreEqual(FirstStateId, applicationData.StateId);

            applicationData.AirWaybillId = null;
            _db.AirWaybills.DeleteOnSubmit(entity);
            _db.SubmitChanges();
        }
        public void Test_SetAirWaybill()
        {
            var application = _db.Applications.First(x => !x.AirWaybillId.HasValue);
            var airWaybill  = _db.AirWaybills.First();

            _controller.SetAirWaybill(application.Id, airWaybill.Id);

            _db.Refresh(RefreshMode.OverwriteCurrentValues, application);

            Assert.AreEqual(airWaybill.Id, application.AirWaybillId);

            application.AirWaybillId = null;

            _db.SubmitChanges();
        }
示例#3
0
        public void Test_Entity_Dirty_Attach()
        {
            Task task = null;

            using (var db = new TrackerDataContext {
                Log = Console.Out
            })
            {
                task = db.Task.GetByKey(TaskId);
                task.Detach();
            }
            task.Status = Status.Done;
            Assert.IsFalse(task.IsAttached());

            // Let's update the task in a seperate DataContext.
            using (var db = new TrackerDataContext())
            {
                db.Log = Console.Out;

                var task2 = db.Task.GetByKey(TaskId);
                task2.Status = Status.InProgress;
                db.SubmitChanges();
            }

            // Attach the original task and send it to the database.
            using (var db = new TrackerDataContext())
            {
                db.Log = Console.Out;

                Assert.IsFalse(task.IsAttached());
                db.Task.Attach(task, true);
                db.Refresh(RefreshMode.KeepCurrentValues, task);
                Assert.IsTrue(task.IsAttached());
                db.SubmitChanges();
            }
        }