public Tuple <Author, AuthorValidation> CreateAuthor(Author author) { AuthorValidation validation = new AuthorValidation(author); if (validation.IsValid) { string authorFirstName = author.FirstName; if (author.FirstName != null) { author.FirstName = authorFirstName.Substring(0, 1).ToUpper() + authorFirstName.Substring(1); } string authorLastName = author.LastName; author.LastName = authorLastName.Substring(0, 1).ToUpper() + authorLastName.Substring(1); AUTHOR repoAUTHOR = _Repo.CreateAuthor(Mapper.Map <Author, AUTHOR>(author)); if (repoAUTHOR == null) { validation.FailedToCreateAuthor(nameof(author.FirstName)); } else { Author newAuthor = Mapper.Map <Author>(repoAUTHOR); if (newAuthor != null) { return(new Tuple <Author, AuthorValidation>(newAuthor, validation)); } validation.FailedToCreateAuthor(nameof(author.LastName)); } } return(new Tuple <Author, AuthorValidation>(null, validation)); }
public Tuple <Author, AuthorValidation> EditAuthor(Author author) { AuthorValidation validation = new AuthorValidation(author); if (validation.IsValid) { string authorFirstName = author.FirstName; if (author.FirstName != null) { author.FirstName = authorFirstName.Substring(0, 1).ToUpper() + authorFirstName.Substring(1); } string authorLastName = author.LastName; author.LastName = authorLastName.Substring(0, 1).ToUpper() + authorLastName.Substring(1); AUTHOR repoAUTHOR = _Repo.EditAuthor(Mapper.Map <Author, AUTHOR>(author)); if (repoAUTHOR != null) { Author editedAuthor = Mapper.Map <AUTHOR, Author>(repoAUTHOR); if (editedAuthor != null) { return(new Tuple <Author, AuthorValidation>(editedAuthor, validation)); } } else { validation.DoesNotExistOnServer(nameof(author.LastName)); } } return(new Tuple <Author, AuthorValidation>(null, validation)); }
public int AddAuthor(Author author) { AuthorValidation validation = new AuthorValidation(author); validation.FirstNameIsValid = validation.AuthorFirstNameValidation(); validation.LastNameIsValid = validation.AuthorLastNameValidation(); if (!validation.exceptionList.Any()) { return(_authorDao.AddAuthor(author)); } else { StringBuilder sb = new StringBuilder(); foreach (var item in validation.exceptionList) { sb.Append(item + Environment.NewLine); } throw new AuthorValidationException(sb.ToString()); } }