public async Task <IActionResult> PostZetronTrnMediaDetails([FromBody] ZetronTrnMediaDetails zetronTrnMediaDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.ZetronTrnMediaDetails.Add(zetronTrnMediaDetails);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetZetronTrnMediaDetails", new { id = zetronTrnMediaDetails.MediaId }, zetronTrnMediaDetails));
        }
Exemplo n.º 2
0
        private async Task UpdateStreamingUrl(IAsset asset, ILocator originLocator, ZetronMstIncidents zetronMstIncidents)
        {
            try
            {
                //Get manifest file to create streaming url
                IAssetFile manifestFile = asset.AssetFiles.Where(f => f.Name.ToLower().EndsWith(".ism")).FirstOrDefault();
                string     streamUrl    = originLocator.Path + manifestFile.Name + "/manifest(format=m3u8-aapl)";
                //var droneDetail = _drone.GetCurrentLocationDetail();
                ZetronTrnMediaDetails mediaDetails = new ZetronTrnMediaDetails()
                {
                    IncidentId = zetronMstIncidents.IncidentId,
                    MediaUrl   = streamUrl,
                    Name       = asset.Name,
                    MediaType  = 1,
                    PostedIon  = DateTime.Now.ToUniversalTime(),
                    PostedBy   = "Admin",
                    Status     = true
                };
                using (var _dbContext = new ZetronContext(options.Options))
                {
                    //var mediaId = _dbContext.ZetronTrnMediaDetails.Max(m => m.MediaId) + 1;
                    _dbContext.ZetronTrnMediaDetails.Add(mediaDetails);

                    ZetronMstIncidents recordtoUpdate = null;
                    if (zetronMstIncidents.Status == (int)IncidentStatus.Started)
                    {
                        recordtoUpdate        = _dbContext.ZetronMstIncidents.Single(i => i.IncidentId == zetronMstIncidents.IncidentId);
                        recordtoUpdate.Status = (int)IncidentStatus.Processing;
                    }

                    //_dbContext.ZetronTrnDroneLocations.Add(new ZetronTrnDroneLocations()
                    //{
                    //    MediaID = mediaId,
                    //    DewPoint = droneDetail.DewPoint,
                    //    Humidity = droneDetail.Humidity,
                    //    Temperature = droneDetail.Temperature,
                    //    WindSpeed = droneDetail.WindSpeed,
                    //    Summary = droneDetail.Summary,
                    //    WindDirection = droneDetail.WindDirection,
                    //    Longitude = droneDetail.Longitude,
                    //    Latitude = droneDetail.Latitude
                    //});

                    await _dbContext.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                Log(ex.Message);
                throw;
            }
        }
        public async Task <IActionResult> PutZetronTrnMediaDetails([FromRoute] int id, [FromBody] ZetronTrnMediaDetails zetronTrnMediaDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != zetronTrnMediaDetails.MediaId)
            {
                return(BadRequest());
            }

            _context.Entry(zetronTrnMediaDetails).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ZetronTrnMediaDetailsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }