/// <summary> /// Creates the publisher. /// </summary> /// <param name="input">The input.</param> /// <returns></returns> public bool CreatePublisher(PublisherInputDto input) { if (String.IsNullOrEmpty(input.PublisherName)) { return(false); } var publisher = _publisherRepository.GetPublisherByName(input.PublisherName.Trim()); // if publisher exist but needs to bind series to it if (publisher != null) { if (!String.IsNullOrEmpty(input.SeriesName)) { var result = _seriesRepository.CreateEntity(new ESeries { Name = input.SeriesName.Trim(), Publisher = publisher, CreatedDateTime = DateTime.Now }); return(result != null); } } else { // if publisher is not exist create new publisher var newPublisher = _publisherRepository.CreateEntity(new EPublisher { Name = input.PublisherName.Trim(), CreatedDateTime = DateTime.Now }); // if series is not null bind to created publisher if (!String.IsNullOrEmpty(input.SeriesName)) { _seriesRepository.CreateEntity(new ESeries { Name = input.SeriesName.Trim(), Publisher = newPublisher, CreatedDateTime = DateTime.Now }); } return(newPublisher != null); } return(false); }