예제 #1
0
        public async Task <IActionResult> Create([FromBody] AddAuthorDto payload)
        {
            ApiResponse <AddAuthorDto> response = new ApiResponse <AddAuthorDto>();

            try
            {
                if (!response.Errors.Any())
                {
                    if (string.IsNullOrEmpty(payload.Name))
                    {
                        return(BadRequest(new { errorList = "Author Name is required." }));
                    }
                    (List <ValidationResult> Result, AddAuthorDto Author)errorResult = await _authorServ.CreateAuthor(payload);

                    if (errorResult.Result.Any())
                    {
                        return(BadRequest(new { errorList = $"{errorResult.Result.FirstOrDefault().ErrorMessage}" }));
                    }
                    else
                    {
                        response.Code        = ApiResponseCodes.OK;
                        response.Description = $"Author creation successful.";
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
            return(Ok(response));
        }
예제 #2
0
        public async Task <AuthorDto> AddAuthorAsync(AddAuthorDto addAuthor)
        {
            var authorEntity = _unitOfWork.Authors.Add(_mapper.Map <AddAuthorDto, Author>(addAuthor));

            await _unitOfWork.CommitAsync();

            return(_mapper.Map <Author, AuthorDto>(authorEntity));
        }
예제 #3
0
        public async Task <IActionResult> AddAsync([FromBody] AddAuthorDto addItem, CancellationToken cancellationToken)
        {
            if (await this._authorService.AddAsync(addItem, cancellationToken))
            {
                return(StatusCode(StatusCodes.Status200OK));
            }

            return(StatusCode(StatusCodes.Status400BadRequest));
        }
예제 #4
0
        public AddAuthorViewModel(AddAuthorService addAuthorService, AddSingleManuscriptService addSingleManuscriptService) : this(new EfCoreContext())
        {
            InputName            = "";
            InputMailingAddress  = "";
            InputEmailAddress    = "";
            InputAffiliation     = "";
            InputUsername        = "";
            InputPassword        = "";
            InputManuscriptTitle = "";

            _addAuthorService           = addAuthorService;
            _addSingleManuscriptService = addSingleManuscriptService;

            AuthorToAdd = new AddAuthorDto
            {
                Name           = "",
                MailingAddress = "",
                EmailAddress   = "",
                Affiliation    = "",
                Username       = "",
                Password       = "",
            };
            ManuscriptToAdd = new AddSingleManuscriptDto
            {
                EditorId         = 1,
                ManuscriptTitle  = "",
                DateReceived     = DateTime.Now,
                ManuscriptStatus = 1,
            };

            _listManuscriptService = new ListManuscriptService(_context);

            var manuscripts = _listManuscriptService.GetManuscriptList().ToList();

            ManuscriptList = new ObservableCollection <ManuscriptListDto>(manuscripts);
        }
예제 #5
0
        public async Task <(List <ValidationResult> Result, AddAuthorDto Author)> CreateAuthor(AddAuthorDto vm)
        {
            results.Clear();
            try
            {
                var author = Author.Create(vm.Name);

                bool isValid = Validator.TryValidateObject(author, new ValidationContext(author, null, null),
                                                           results, false);

                if (!isValid || results.Count > 0)
                {
                    return(results, null);
                }
                if (Exist(vm.Name))
                {
                    results.Add(new ValidationResult($"{vm.Name} already exists."));
                    return(results, null);
                }
                author.IsDeleted  = false;
                author.CreatedOn  = DateTime.Now.GetDateUtcNow();
                author.ModifiedOn = DateTime.Now.GetDateUtcNow();

                await this.AddAsync(author);
            }
            catch (Exception ex)
            {
                results.Add(new ValidationResult($"Author couldn't be created! \n {ex.Message}"));
            }
            return(results, vm);
        }
예제 #6
0
 public async Task <IActionResult> AddAuthor([FromForm] AddAuthorDto addAuthor)
 {
     return(Ok(await _authorService.AddAuthorAsync(addAuthor)));
 }