public VariantRatePlanDto ModifyVariantRatePlan(VariantRatePlanDto ratePlanDto)
        {
            if (ratePlanDto == null)
            {
                throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30088, "PropertyManagementSystemService.ModifyVariantRatePlan"));
            }

            CheckAccessRights(ratePlanDto.BusinessId);

            var ratePlanToModify = Mapper.Map<VariantRatePlanDto, VariantRatePlan>(ratePlanDto);

            var ratePlanModified = ratePlanManager.ModifyVariantRatePlan(ratePlanToModify);

            return Mapper.Map<VariantRatePlan, VariantRatePlanDto>(ratePlanModified);
        }
            public void ModifyVariantRatePlanIsSuccessful()
            {
                // Arrange
                var ratePlanManagerStub = MockRepository.GenerateStub<IRatePlanManager>();
                PropertyManagementSystemService.RatePlanManager = ratePlanManagerStub;

                var ratePlan = new VariantRatePlanDto
                {
                    BoardBasis = new BoardBasisDto { Code = "BK" },
                    CancellationClass = new CancellationClassDto { Code = "FR" },
                    RatePlanType = new RatePlanTypeDto { Type = RatePlanTypeEnumDto.Variant, Name = "VAR" },
                    VariantType = new VariantTypeDto { Type = VariantTypeEnumDto.Amount }
                };

                ratePlanManagerStub.Expect(x => x.ModifyVariantRatePlan(Arg<VariantRatePlan>.Is.Anything)).Return(Mapper.Map<VariantRatePlanDto, VariantRatePlan>(ratePlan));

                // Act
                var returnedRatePlan = PropertyManagementSystemService.ModifyVariantRatePlan(ratePlan);

                // Assert
                Assert.IsNotNull(returnedRatePlan, "The creation of the rate plans failed");
                ratePlanManagerStub.VerifyAllExpectations();
            }
        public VariantRatePlanDto CreateVariantRatePlan(VariantRatePlanDto ratePlanDto)
        {
            if (ratePlanDto == null)
            {
                throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30088, "PropertyManagementSystemService.CreateVariantRatePlan"));
            }

            var ratePlanToCreate = Mapper.Map<VariantRatePlanDto, VariantRatePlan>(ratePlanDto);

            var ratePlanCreated = ratePlanManager.CreateVariantRatePlan(ratePlanToCreate);

            return Mapper.Map<VariantRatePlan, VariantRatePlanDto>(ratePlanCreated);
        }