/// <summary>
 /// Henter en given kalenderaftale fra et system under OSWEBDB.
 /// </summary>
 /// <param name="system">Unik identifikation af systemet under OSWEBDB.</param>
 /// <param name="id">Unik identifikation af kalenderaftalen.</param>
 /// <returns>Kalenderaftale.</returns>
 public IAftale AftaleGetBySystemAndId(int system, int id)
 {
     try
     {
         AftaleProxy queryForAftale = new AftaleProxy(system, id);
         return(_mySqlDataProvider.Get(queryForAftale));
     }
     catch (IntranetRepositoryException)
     {
         throw;
     }
     catch (Exception ex)
     {
         throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name, ex.Message), ex);
     }
 }
示例#2
0
        public void TestAtAftaleGetBySystemAndIdHenterAftale()
        {
            AftaleProxy appointmentProxy = _fixture.Build <AftaleProxy>()
                                           .With(m => m.FraTidspunkt, DateTime.MinValue)
                                           .With(m => m.TilTidspunkt, DateTime.MaxValue)
                                           .Create();

            IKalenderRepository sut = CreateSut(appointmentProxy: appointmentProxy);

            Assert.That(sut, Is.Not.Null);

            int     systemNo = _fixture.Create <int>();
            int     calId    = _fixture.Create <int>();
            IAftale result   = sut.AftaleGetBySystemAndId(systemNo, calId);

            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(appointmentProxy));

            _dataProviderMock.AssertWasCalled(m => m.Get(Arg <AftaleProxy> .Matches(n => n.System != null && n.System.Nummer == systemNo && n.Id == calId)), opt => opt.Repeat.Once());
        }
示例#3
0
        /// <summary>
        /// Creates an instance of the calender repository which can be used for unit testing.
        /// </summary>
        /// <returns>Instance of the calender repository which can be used for unit testing.</returns>
        private IKalenderRepository CreateSut(IEnumerable <AftaleProxy> appointmentProxyCollection = null, AftaleProxy appointmentProxy = null, IEnumerable <BrugerProxy> calenderUserProxyCollection = null, Exception exception = null)
        {
            if (exception == null)
            {
                _dataProviderMock.Stub(m => m.GetCollection <AftaleProxy>(Arg <MySqlCommand> .Is.Anything))
                .Return(appointmentProxyCollection ?? _fixture.Build <AftaleProxy>().With(m => m.FraTidspunkt, DateTime.MinValue).With(m => m.TilTidspunkt, DateTime.MaxValue).CreateMany(_random.Next(15, 25)).ToList())
                .Repeat.Any();
            }
            else
            {
                _dataProviderMock.Stub(m => m.GetCollection <AftaleProxy>(Arg <MySqlCommand> .Is.Anything))
                .Throw(exception)
                .Repeat.Any();
            }

            if (exception == null)
            {
                _dataProviderMock.Stub(m => m.Get(Arg <AftaleProxy> .Is.Anything))
                .Return(appointmentProxy ?? _fixture.Build <AftaleProxy>().With(m => m.FraTidspunkt, DateTime.MinValue).With(m => m.TilTidspunkt, DateTime.MaxValue).Create())
                .Repeat.Any();
            }
            else
            {
                _dataProviderMock.Stub(m => m.Get(Arg <AftaleProxy> .Is.Anything))
                .Throw(exception)
                .Repeat.Any();
            }

            if (exception == null)
            {
                _dataProviderMock.Stub(m => m.GetCollection <BrugerProxy>(Arg <MySqlCommand> .Is.Anything))
                .Return(calenderUserProxyCollection ?? _fixture.CreateMany <BrugerProxy>(_random.Next(3, 10)).ToList())
                .Repeat.Any();
            }
            else
            {
                _dataProviderMock.Stub(m => m.GetCollection <BrugerProxy>(Arg <MySqlCommand> .Is.Anything))
                .Throw(exception)
                .Repeat.Any();
            }

            return(new KalenderRepository(_dataProviderMock));
        }