Пример #1
0
        public async Task <ActionResult <NotificationViewModel> > PutNotification(int id,
                                                                                  [FromBody] NotificationEditModel notificationEditModel)
        {
            var notification = await _notificationsRepository.FindByIdAsync(id);

            if (notification is null)
            {
                return(BadRequest($"No existe una notificación con el código {id}."));
            }

            _mapper.Map(notificationEditModel, notification);
            _notificationsRepository.Update(notification);

            try
            {
                await _unitWork.SaveAsync();
            }
            catch (DbUpdateException)
            {
                if (!NotificationExists(id))
                {
                    return(NotFound($"Actualizacón fallida. No existe ninguna notificación con el código {id}."));
                }

                throw;
            }

            return(_mapper.Map <NotificationViewModel>(notification));
        }
Пример #2
0
        /// <summary>
        /// Finds notification by GUID
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ResultData> FindByIdAsync(string id)
        {
            if (string.IsNullOrEmpty(id) || id.Split('-').Length != 5)
            {
                return(ErrorData(ServiceErrors.GetFind_FindByIdAsync_400_Id));
            }

            return(SuccessData <NotificationDocument>(await _repo.FindByIdAsync(id)));
        }