Пример #1
0
        public async Task SendTelemetry([Microsoft.AspNetCore.Mvc.FromBody] TelemetrySendViewModel model) // Activity ID
        {
            if (!Program.UseShSend || !ModelState.IsValid)
            {
                return;
            }

            var imageUrl           = "";
            var telemetrySendModel = model;
            var blobStorage        = new BlobManager(_configuration["StorageConnectionString"]);

            if (telemetrySendModel.Image.Length > 0)
            {
                var imageData = Convert.FromBase64String(FixBase64(telemetrySendModel.Image));
                imageUrl = blobStorage.UploadByteBlob(
                    blobStorage.GetContainerReference(_configuration["BlobContainerName"]),
                    $"{telemetrySendModel.IdActivity}/{telemetrySendModel.IdUser}/{DateTime.Now}_{new Random().Next(0, 20)}.png",
                    "image/png",
                    imageData
                    ).GetAwaiter().GetResult();
            }


            _telemetryRepository.Insert(new Telemetry()
            {
                //      Id = 0,
                Longitude  = telemetrySendModel.Longitude,
                Latitude   = telemetrySendModel.Latitude,
                IdActivity = telemetrySendModel.IdActivity,
                IdUser     = telemetrySendModel.IdUser,
                ImageUrl   = imageUrl,
                Instant    = telemetrySendModel.Instant
            });
        }