Exemple #1
0
        /// <summary>
        /// Подготавливает данные для сервиса, который удаляет объект из хранилища;
        /// вызывает этот сервис;
        /// сохраняет новое состояние хранилища
        /// </summary>
        /// <param name="parameters"> параметры, характеризующие объект (DataObject) для удаления, в виде JObject </param>
        /// <param name="socketId"> id сокета, от которого пришел запрос </param>
        /// <returns></returns>
        private bool RemoveObject(JObject parameters, string socketId)
        {
            var store      = _storeService.GetStore(socketId);
            var dataObject = JObjectToDataObject(parameters);

            // удаляем привязки
            var bindings = store.Bindings.Where(o => o.Object == dataObject.Id);

            foreach (var binding in bindings)
            {
                store = _bindingService.RemoveBinding(binding.Name, store);
            }

            // удаляем объект
            store = _dataObjectService.RemoveObject(dataObject.Id, store);

            _storeService.SetStore(socketId, store);
            return(true);
        }
Exemple #2
0
        public IActionResult Remove([FromForm] DataObject dataObject)
        {
            JsonResult result;

            try
            {
                _dataObjectService.RemoveObject(dataObject);
                result = Json(Ok());
            }
            catch (BadRequestException e)
            {
                result = Json(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(Json(BadRequest()));
            }

            return(result);
        }