/// <summary>
 /// Create wrapper
 /// </summary>
 /// <param name="template"></param>
 /// <param name="logger"></param>
 public MonitoredItemWrapper(MonitoredItemModel template, ILogger logger)
 {
     _logger = logger?.ForContext <MonitoredItemWrapper>() ??
               throw new ArgumentNullException(nameof(logger));
     Template = template.Clone() ??
                throw new ArgumentNullException(nameof(template));
 }
        public async Task <IActionResult> Delete([FromBody] MonitoredItemModel model)
        {
            try
            {
                await _itemsService.Delete(model.MonitItemId).ConfigureAwait(false);

                return(Ok());
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }
        public async Task <IActionResult> StartMonit([FromBody] MonitoredItemModel model)
        {
            // map model to entity and set id
            var item = _mapper.Map <MonitoredItem>(model);

            try
            {
                // update user
                await _itemsService.StartMonit(item.MonitItemId).ConfigureAwait(false);

                return(Ok());
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }