public JsonResult UploadData(XmlStringModel model)
        {
            var     _result = new JsonResponse();
            dynamic _meta   = new ExpandoObject();

            // give a sample id
            var _id = Guid.NewGuid().ToString().Substring(0, 8);

            _result.id = _id;


            // save to blob
            var _blobResult = BlobService.SaveBlobFromString(model.xmlContent, model.contentType, model.containerName, _id + ".xml");

            // handle blobsave error
            if (!_blobResult.success)
            {
                return(Json(_blobResult));
            }

            // add blob url to response
            _meta.BlobUrl = _blobResult.meta.BlobUrl;

            var _redisResult = RedisService.AddToCache(_id, model.xmlContent);

            //handle redis save error
            if (!_redisResult.success)
            {
                return(Json(_redisResult));
            }

            // add redis success to response
            _meta.RedisSuccess = true;

            var _item           = new KeyValuePair <string, string>(_id, model.xmlContent);
            var _eventHubResult = EventHubService.AddToEventHub(JsonConvert.SerializeObject(_item));


            _result.meta = _meta;

            return(Json(_result));
        }