public async Task <IActionResult> UpdateRecord(int id, [FromBody] SaveRecordResource saveRecordResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var record = await repository.GetRecord(id);

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

            mapper.Map <SaveRecordResource, Record>(saveRecordResource, record);
            record.LastUpdate = DateTime.Now;

            await unitOfWork.CompleteAsync();

            record = await repository.GetRecord(record.Id);

            var result = mapper.Map <Record, RecordResource>(record);

            return(Ok(result));
        }
        public async Task <IActionResult> PutRecord(int id, SaveRecordResource saveRecord)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            var record = _mapper.Map <SaveRecordResource, Record>(saveRecord);
            var result = await _recordService.UpdateAsync(id, record);

            if (!result.Success)
            {
                return(BadRequest(new ErrorResource(result.Message)));
            }
            return(Ok());
        }
        public async Task <IActionResult> CreateRecord([FromBody] SaveRecordResource saveRecordResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var record = mapper.Map <SaveRecordResource, Record>(saveRecordResource);

            record.LastUpdate = DateTime.Now;

            repository.Add(record);

            await unitOfWork.CompleteAsync();

            return(Ok());
        }