public async Task <ActionResult <ClientResource> > UpdateClient(SaveClientResource saveClientResource)
        {
            var validator        = new SaveClientResourceValidator();
            var validationResult = await validator.ValidateAsync(saveClientResource);

            // CHECK IS COMING OBJECT IS VALID
            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            // MAPPING
            var clientToUpdate = _mapper.Map <SaveClientResource, Client>(saveClientResource);

            // GET CLIENT OBJECT BY EMAIL
            var clientDatabase = await _clientService.GetWithCheckoutByEmail(saveClientResource.Email);

            // SEND TO INTERFACE AND UPDATE CLIENT
            await _clientService.UpdateClient(clientDatabase, clientToUpdate);

            // GET NEW DATA FOR CLIENT
            clientDatabase = await _clientService.GetWithCheckoutByEmail(saveClientResource.Email);

            return(Ok(_mapper.Map <Client, ClientResource>(clientDatabase)));
        }
Exemple #2
0
        public async Task <IActionResult> Create([FromBody] SaveClientResource saveClientResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var client = _mapper.Map <SaveClientResource, Client>(saveClientResource);

            await _unitOfWork.Clients.AddAsync(client);

            await _unitOfWork.CompleteAsync();

            client = await _unitOfWork.Clients.GetAsync(client.Id);

            return(Ok(_mapper.Map <Client, ClientResource>(client)));
        }
Exemple #3
0
        public async Task <ActionResult <ClientResource> > PostClientAsync([FromBody] SaveClientResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            var client = _mapper.Map <SaveClientResource, Client>(resource);
            var result = await _clientService.SaveAsync(client);


            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var clientResource = _mapper.Map <Client, ClientResource>(result.Client);

            return(Ok(clientResource));
        }
Exemple #4
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveClientResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var client = mapper.Map <SaveClientResource, Client>(resource);
            var result = await clientService.UpdateAsync(id, client);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var clientResource = mapper.Map <Client, ClientResource>(result.Client);

            return(Ok(clientResource));
        }
Exemple #5
0
        public async Task <IActionResult> Update(int id, [FromBody] SaveClientResource saveClientResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var client = await _unitOfWork.Clients.GetAsync(id);

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

            _mapper.Map(saveClientResource, client);
            await _unitOfWork.CompleteAsync();

            client = await _unitOfWork.Clients.GetAsync(client.Id);

            return(Ok(_mapper.Map <Client, ClientResource>(client)));
        }
        public async Task <ActionResult <ClientResource> > CreateClient(SaveClientResource saveClientResource)
        {
            var validator        = new SaveClientResourceValidator();
            var validationResult = await validator.ValidateAsync(saveClientResource);

            // CHECK IS COMING OBJECT IS VALID
            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            // MAPPING
            var clientToCreate = _mapper.Map <SaveClientResource, Client>(saveClientResource);

            // CREATE CLIENT
            var newClient = await _clientService.CreateClient(clientToCreate);

            // GET DATA FOR NEW CLIENT
            var databaseClient = await _clientService.GetWithCheckoutByEmail(newClient.Email);

            return(Ok(_mapper.Map <Client, ClientResource>(databaseClient)));
        }