public PanelDto CreatePanel(PanelDto dto)
        {
            Panel domainModel = _panelsService.CreatePanel(dto);
            dto.Id = domainModel.Id;

            return dto;
        }
        public void Then_Update_Succeeds_For_A_Valid_Panel()
        {
            PanelDto dto = new PanelDto { AdvertiserId = 1, Id = 100, Name = "Panel Update Name"};
            _panelService.UpdatePanel(dto);

            _panelRepository.Verify(r => r.Update(It.IsAny<Panel>()), Times.Once);
        }
        public void Then_A_Name_Collision_Within_The_Advertiser_Will_Cause_A_DomainException()
        {
            PanelDto dto = new PanelDto { AdvertiserId = 1, Name = "Panel1" };
            _panelService.CreatePanel(dto);

            _panelRepository.Verify(r => r.Add(It.IsAny<Panel>()), Times.Never);
        }
        public void Then_Add_Is_Called_Once_For_A_Valid_Panel()
        {
            PanelDto dto = new PanelDto { AdvertiserId = 1, Name = "Test Create Panel" };
            _panelService.CreatePanel(dto);

            _panelRepository.Verify(r => r.Add(It.IsAny<Panel>()), Times.Once);
        }
        public void Then_Updating_A_NonExistant_Panel_Will_Cause_A_DomainException()
        {
            _searchByIdReturnsResult = false;
            Initialize();

            PanelDto dto = new PanelDto { AdvertiserId = 1, Id = 100, Name = "Panel Update Name"};
            _panelService.UpdatePanel(dto);

            _panelRepository.Verify(r => r.Update(It.IsAny<Panel>()), Times.Never);
        }
        private static void ValidateUpdateOfDomainModel(PanelDto panelDto, Panel panel)
        {
            if (panelDto == null)
                throw new DomainException("Unable to update Panel from null PanelDto.");

            if (panel == null)
                throw new DomainException("Unable to update null Panel from PanelDto.");

            if (panel.Id != panelDto.Id)
                throw new DomainException("Unable to update Panel since Id values do not match.");
        }
        private PanelDto ConvertDomainModelToDto(Panel domainModel)
        {
            PanelDto dto = null;

            if (domainModel != null)
            {
                dto = new PanelDto();
                dto.Id = domainModel.Id;
                dto.Name = domainModel.Name;
            }

            return dto;
        }
 public void Initialize()
 {
     _panel = PanelFactory.CreatePanelDomainObject();
     _panelDto = PanelFactory.CreatePanelDtoObject();
     _panelDtos = PanelFactory.CreatePanelDtoObjectEnumerable();
     AutoMapperConfig.MapTypes();
 }
 public void UpdatePanel(PanelDto dto)
 {
     _panelsService.UpdatePanel(dto);
 }
 public async Task<IHttpActionResult> Put(PanelDto dto)
 {
     _panelsFacade.UpdatePanel(dto);
     return NoContent();
 }
 public async Task<IHttpActionResult> Post(PanelDto dto)
 {
     PanelDto newPanel = _panelsFacade.CreatePanel(dto);
     return Created<PanelDto>(Url.Content(Url.Route(PanelRoute.CREATE, new { panelId = newPanel.Id })), newPanel);
 }