Example #1
0
        public void Handle(MillersChangedEvent message)
        {
            Millers        = message.Millers;
            SelectedMiller = Millers.FirstOrDefault();

            NotifyOfPropertyChange(() => Millers);
        }
        private List <FarmMillerDto> CreateFarmMillerModels()
        {
            var farms = new List <FarmMillerDto>();

            foreach (IFarm farm in m_FarmsRepository.All)
            {
                IMiller miller = m_MillersRepository.FindById(farm.MillerId); // todo maybe return default miller

                if (miller == null)
                {
                    throw new ArgumentException("Unknown Miller with Id " + farm.MillerId + "!");
                }

                var dto = new FarmMillerDto // todo should use factory, check for other new statements in code
                {
                    FarmId     = farm.Id,
                    FieldsCode = farm.FieldsCode,
                    FarmName   = farm.Name,
                    Harvested  = farm.Harvested,
                    FarmType   = farm.FarmType,
                    MillerId   = miller.Id,
                    MillerName = miller.Name
                };

                farms.Add(dto);
            }

            return(farms);
        }
Example #3
0
        public void FindById_ReturnsNull_ForUnknownId(
            [NotNull] MillersRepository sut)
        {
            // Arrange
            // Act
            IMiller actual = sut.FindById(Guid.Empty);

            // Assert
            Assert.Null(actual);
        }
Example #4
0
        public void FindById_ReturnsMiller_ForKnownId(
            [NotNull] IMiller expected,
            [NotNull] MillersRepository sut)
        {
            // Arrange
            sut.Save(expected);

            // Act
            IMiller actual = sut.FindById(expected.Id);

            // Assert
            Assert.AreEqual(expected,
                            actual);
        }
Example #5
0
        public void SearchByMillerName_ReturnsMatchingFarms_ForSearchText(
            [NotNull] IMiller expected,
            [NotNull] MillersRepository sut)
        {
            // Arrange
            expected.Name = "Name";
            sut.Save(expected);

            // Act
            IQueryable <IMiller> actual = sut.SearchByMillerName("Na");

            // Assert
            Assert.AreEqual(expected,
                            actual.First());
        }
        private IFarm CreateNewFarm()
        {
            IMiller defaultMiller = m_MillersRepository.All.First();

            var farm = new Farm
            {
                FieldsCode = "New Field Code",
                Id         = Guid.NewGuid(),
                FarmType   = FarmType.Cane,
                Name       = "New Farm",
                Harvested  = DateTime.Now,
                MillerId   = defaultMiller.Id
            };

            return(farm);
        }
        private void GetAndPublishFarm(Guid farmId)
        {
            IFarm farm = m_FarmsRepository.FindById(farmId);

            if (farm == null)
            {
                return;
            }

            IMiller miller = m_MillersRepository.FindById(farm.MillerId);

            if (miller == null)
            {
                return;
            }

            PublishFarmChangedEvent(farm,
                                    miller);
        }
        private void PublishFarmChangedEvent(IFarm farm,
                                             IMiller miller)
        {
            var dto = new FarmMillerDto
            {
                FarmId     = farm.Id,
                FieldsCode = farm.FieldsCode,
                FarmName   = farm.Name,
                Harvested  = farm.Harvested,
                FarmType   = farm.FarmType,
                MillerId   = miller.Id,
                MillerName = miller.Name
            };

            var changed = new FarmChangedEvent
            {
                FarmMillerDto = dto
            };

            m_EventAggregator.PublishOnBackgroundThread(changed);
        }