public string SaveUrl(RequestUrlModel requestParams) { var fileData = GetData(); ResponseUrlModel response; if (fileData == null) { fileData = new ResponseUrlModel(); } response = new ResponseUrlModel(); switch (requestParams.Type) { case "organization": response = new ResponseUrlModel(requestParams.Values, fileData.premise, fileData.building, fileData.feedback); break; case "premise": response = new ResponseUrlModel(fileData.organization, requestParams.Values, fileData.building, fileData.feedback); break; case "building": response = new ResponseUrlModel(fileData.organization, fileData.premise, requestParams.Values, fileData.feedback); break; case "feedback": response = new ResponseUrlModel(fileData.organization, fileData.premise, fileData.building, requestParams.Values); break; } string json = JsonConvert.SerializeObject(response); File.WriteAllText(HttpContext.Current.Server.MapPath("~\\powerBI.json"), json); return("Power BI URL saved successfully"); }
public async Task <ResponseUrlModel> GetAllStream() { try { ResponseUrlModel eventToResponse = new ResponseUrlModel(); eventToResponse.EventList = new List <EventModel>(); eventToResponse.HoraSolicitud = System.DateTime.Now; var httpClientEvents = GetClientHttp(); var httpResponseMessageEvents = await httpClientEvents.GetAsync(Constants.ApiEvents); int IdStreamStatus = (int)StreamStatusEnum.OnAirBroadcast; string StreamStatus = $"av:stream_status:{IdStreamStatus}"; if (httpResponseMessageEvents.IsSuccessStatusCode) { var content = await httpResponseMessageEvents.Content.ReadAsStringAsync(); List <Event> eventsList = JsonSerializer.Deserialize <List <Event> >(content); eventsList = eventsList.Where(c => c.contents.Any(d => d.streams.Any(e => e.stream_status.id == StreamStatus))).ToList(); foreach (Event events in eventsList) { EventModel eventmodel = Converter.ConvertEventEntityToModel(events); eventmodel.streams = new List <StreamModel>(); List <Streams> listaStreams = new List <Streams>(); listaStreams = events.contents.SelectMany(a => a.streams).ToList(); foreach (Streams streams in listaStreams) { StreamModel streamModel = new StreamModel(); streamModel.UrlList = new List <KeyValuePair <string, string> >(); streamModel.id = streams.id; foreach (string typeStream in Constants.TypesStreams) { var httpClientStream = GetClientHttp(); string parameters = $"/{streams.id}/{typeStream}"; string url = string.Concat(Constants.ApiStreams, parameters); var httpResponseMessageStream = await httpClientStream.GetAsync(url); if (httpResponseMessageStream.IsSuccessStatusCode) { var contentStream = await httpResponseMessageStream.Content.ReadAsStringAsync(); Stream stream = JsonSerializer.Deserialize <Stream>(contentStream); string urlComplete = typeStream == "rtmp" ? string.Concat(stream.url, stream.stream_name) : stream.url; streamModel.UrlList.Add(new KeyValuePair <string, string>(typeStream, urlComplete)); } } eventmodel.streams.Add(streamModel); } eventToResponse.EventList.Add(eventmodel); } } else { System.Diagnostics.Debug.WriteLine(httpResponseMessageEvents.ToString()); return(null); } return(eventToResponse); } catch (Exception ex) { throw ex; } }