示例#1
0
        public async Task <ActionResult <AdminResource> > UpdateAdmin(int id, [FromBody] AdminSaveResource admin)
        {
            var validator        = new AdminSaveResourceValidator();
            var validationResult = await validator.ValidateAsync(admin);

            var requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var adminToBeUpdate = await _adminService.GetById(id);

            if (adminToBeUpdate == null)
            {
                return(NotFound());
            }

            var mappedAdmin = _mapper.Map <AdminSaveResource, Admin>(admin);

            await _adminService.UpdateAdmin(adminToBeUpdate, mappedAdmin);

            var updatedAdmin = await _adminService.GetById(id);

            var updatedAdminResource = _mapper.Map <Admin, AdminResource>(updatedAdmin);

            return(Ok(updatedAdminResource));
        }
示例#2
0
        public async Task <ActionResult <AdminResource> > CreateAdmin([FromBody] AdminSaveResource admin)
        {
            var validator        = new AdminSaveResourceValidator();
            var validationResult = await validator.ValidateAsync(admin);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var adminToCreate = _mapper.Map <AdminSaveResource, Admin>(admin);

            var newAdmin = await _adminService.CreateAdmin(adminToCreate);

            var createdAdmin = await _adminService.GetById(newAdmin.Id);

            var adminResource = _mapper.Map <Admin, AdminResource>(createdAdmin);

            return(Ok(adminResource));
        }