public async Task <ActionResult <RestItem> > PostRestItem(RestItem restItem) { _context.RestItems.Add(restItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetRestItem", new { id = restItem.Id }, restItem)); }
public Resource(RestItem restItem, IConnectClient client, ILogger <Endpoint> logger) : base(restItem, client, logger) { Logger.LogDebug("Instantiated fixtureName=\"{0}\" fixtureId=\"{1}\"", restItem.Name, Id); _pauseStream = new ManualResetEvent(true); }
public async Task <IActionResult> PutRestItem(long id, RestItem restItem) { if (id != restItem.Id) { return(BadRequest()); } _context.Entry(restItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RestItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
/// <summary> /// Utility method to set up a mocked Resource object. /// </summary> /// <param name="properties"></param> /// <returns></returns> private static Resource GetResourceForTest(Dictionary <string, string> properties) { RestItem item = GetRestItem(properties); // fake response for getting AMPQ details var streamLink = item.Links.FirstOrDefault(x => string.Equals(x.Relation, "http://api.sportingsolutions.com/rels/stream/amqp")); var streamResponse = new RestResponse <List <RestItem> > { StatusCode = System.Net.HttpStatusCode.OK, Content = "[{\"Name\":\"stream\",\"Links\":[{\"Relation\":\"amqp\",\"Href\":\"amqp://test%40testco:password@localhost/testco/amq.gen-nntsI7-nQIJSpqEOV1N98w\"}]}]" }; streamResponse.Data = streamResponse.Content.FromJson <List <RestItem> >(); // mock the request of getting AMPQ details var client = new Mock <IConnectClient>(); client.Setup(x => x.Request <List <RestItem> >( It.Is <Uri>(y => string.Equals(y.ToString(), streamLink.Href)), It.Is <Method>(y => y == Method.GET)) ).Returns(streamResponse); return(new Resource(item, client.Object)); }
internal Resource(NameValueCollection headers, RestItem restItem) : base(headers, restItem) { _logger.DebugFormat("Instantiated fixtureName=\"{0}\"", restItem.Name); _pauseStream = new ManualResetEvent(true); _echoResetEvent = new AutoResetEvent(false); _echoTimerEvent = new AutoResetEvent(true); }
public Resource(RestItem restItem, IConnectClient client) : base(restItem, client) { Logger = LogManager.GetLogger(typeof(Resource).ToString()); Logger.DebugFormat("Instantiated fixtureName=\"{0}\" fixtureId=\"{1}\"", restItem.Name, Id); _pauseStream = new ManualResetEvent(true); }
public List <RestItemsListDto> GetNonScheRestItems(int RestInfoID, string filter) { List <RestItemsListDto> restitemListDtos = new List <RestItemsListDto>(); List <RestNonSchesListDto> RestNonSchesListDto = new List <RestNonSchesListDto>(); try { var RestNonSchItem = _RestNonSchItemRepository.GetAll().Where(a => a.RestInfoID == RestInfoID && a.IsDeleted == false).ToList(); RestNonSchesListDto = ObjectMapper.Map <List <RestNonSchesListDto> >(RestNonSchItem); for (int i = 0; i < RestNonSchesListDto.Count(); i++) { int RestItemId = RestNonSchesListDto[i].RestItemId; RestItem restitems = _RestItemRepository.GetAll().Where(a => a.Id == RestItemId || a.ItemDesc.Contains(filter) || a.ItemsCategory.CategoryDesc.Contains(filter) || a.SalesPrice.ToString().Contains(filter)).SingleOrDefault(); RestItemsListDto restitem = ObjectMapper.Map <RestItemsListDto>(restitems); if (RestNonSchesListDto[i].SpecialSalesPrice > 0 && restitem.SalesPrice != RestNonSchesListDto[i].SpecialSalesPrice && restitem != null) { restitem.SalesPrice = RestNonSchesListDto[i].SpecialSalesPrice; } if (restitem != null) { var ItemCategoryDesc = _ItemsCategoryRepository.GetAll().Where(a => a.Id == restitem.ItemsCategoryId).SingleOrDefault(); restitem.ItemsCategoryDesc = ItemCategoryDesc.CategoryDesc; restitemListDtos.Add(restitem); } } } catch (Exception e) { throw e; } return(new List <RestItemsListDto>(restitemListDtos)); }
internal Endpoint(NameValueCollection headers, RestItem restItem) { Headers = headers; State = restItem; }
internal Feature(NameValueCollection headers, RestItem restItem) : base(headers, restItem) { _logger.DebugFormat("Instantiated Feature {0}", restItem.Name); }
internal Endpoint(RestItem restItem, IConnectClient connectClient, ILogger <Endpoint> logger) { State = restItem; ConnectClient = connectClient; Logger = logger; }
public List <RestItemsListDto> GetRestSchItems(int RestSchedulesId, string filter, int RestRequestsId) { List <RestItemsListDto> ItemsList = new List <RestItemsListDto>(); try { RestItemsListDto Items = new RestItemsListDto(); List <RestScheduleItem> schitems = _RestScheduleItemRepository.GetAll().Where(a => a.RestSchedulesId == RestSchedulesId).ToList(); var restreq = _RestReqRepository.GetAll().Where(a => a.Id == RestRequestsId).SingleOrDefault(); var restreqitems = _RestRequestItemRepository.GetAll().Where(a => a.RestRequestsId == RestRequestsId).ToList(); if (filter != null && filter != "") { List <RestItem> FilterItemsList = _RestItemRepository.GetAll().Where(a => a.ItemDesc.Contains(filter) || a.ItemsCategory.CategoryDesc.Contains(filter) || a.SalesPrice.ToString().Contains(filter)).ToList(); ItemsList = ObjectMapper.Map <List <RestItemsListDto> >(FilterItemsList); } else { foreach (RestScheduleItem schitem in schitems) { RestItem items = _RestItemRepository.GetAll().Where(a => a.Id == schitem.RestItemsId && a.IsDeleted == false).SingleOrDefault(); Items = ObjectMapper.Map <RestItemsListDto>(items); if (Items != null) { ItemsList.Add(Items); } foreach (var ItemCategory in ItemsList) { var ItemCategoryDesc = _ItemsCategoryRepository.GetAll().Where(a => a.Id == ItemCategory.ItemsCategoryId).SingleOrDefault(); ItemCategory.ItemsCategoryDesc = ItemCategoryDesc.CategoryDesc; } if (restreqitems.Count() > 0) { foreach (var reqitem in restreqitems) { if (reqitem.RestNonSchItemId != 0 && reqitem.RestNonSchItemId != null) { var RestNonSchesItem = _RestNonSchItemRepository.GetAll().Where(a => a.Id == reqitem.RestNonSchItemId && a.RestInfoID == restreq.RestInfosID && a.IsDeleted == false).SingleOrDefault(); var RestItem = _RestItemRepository.GetAll().Where(a => a.Id == RestNonSchesItem.RestItemId && a.IsDeleted == false).SingleOrDefault(); var RestItemdto = ObjectMapper.Map <RestItemsListDto>(RestItem); RestItemdto.Count = reqitem.Count; RestItemdto.ItemsCategoryDesc = _ItemsCategoryRepository.GetAll().Where(a => a.Id == RestItem.ItemsCategoryId && a.IsDeleted == false).Select(a => a.CategoryDesc).SingleOrDefault(); RestItemdto.NotAvailable = _RestRespRepository.GetAll().Where(a => a.RestRequestItemsId == reqitem.Id).Select(a => a.NotAvailable).SingleOrDefault(); RestItemdto.RestNonSchId = RestNonSchesItem.Id; RestItemsListDto exist = ItemsList.Find(a => a.Id == RestItemdto.Id && a.RestRequestItemsId == RestItemdto.RestRequestItemsId); if (exist != null) { ItemsList.Remove(exist); ItemsList.Add(RestItemdto); } } else if (reqitem.RestScheduleItemsId != 0 && reqitem.RestScheduleItemsId != null) { var RestScheduleItems = _RestScheduleItemRepository.GetAll().Include(a => a.RestSchedules).Where(a => a.Id == reqitem.RestScheduleItemsId && a.RestSchedules.RestInfoID == restreq.RestInfosID && a.IsDeleted == false).SingleOrDefault(); var RestItem = _RestItemRepository.GetAll().Where(a => a.Id == RestScheduleItems.RestItemsId && a.IsDeleted == false).SingleOrDefault(); var RestItemdto = ObjectMapper.Map <RestItemsListDto>(RestItem); RestItemdto.Count = reqitem.Count; RestItemdto.ItemsCategoryDesc = _ItemsCategoryRepository.GetAll().Where(a => a.Id == RestItem.ItemsCategoryId && a.IsDeleted == false).Select(a => a.CategoryDesc).SingleOrDefault(); RestItemdto.NotAvailable = _RestRespRepository.GetAll().Where(a => a.RestRequestItemsId == reqitem.Id).Select(a => a.NotAvailable).SingleOrDefault(); RestItemdto.RestSchedulesId = RestScheduleItems.RestSchedulesId; RestItemsListDto exist = ItemsList.Find(a => a.Id == RestItemdto.Id && a.RestRequestItemsId == RestItemdto.RestRequestItemsId); if (exist != null) { ItemsList.Remove(exist); ItemsList.Add(RestItemdto); } } } } } } return(new List <RestItemsListDto>(ItemsList)); } catch (Exception e) { } return(new List <RestItemsListDto>(ItemsList)); }
internal Feature(RestItem restItem, IConnectClient connectClient, ILogger <Endpoint> logger, IMemoryCache cache = default) : base(restItem, connectClient, logger) { Cache = cache; Logger.LogDebug("Instantiated feature={0}", restItem.Name); }
internal Service(RestItem restItem, IConnectClient connectClient) : base(restItem, connectClient) { Logger = LogManager.GetLogger(typeof(Service).ToString()); Logger.DebugFormat("Instantiated service={0}", restItem.Name); }
/// <summary> /// Creates a RestItem object for testing purposes as /// it was returned by the UDAPI service /// </summary> /// <param name="properties"></param> /// <returns></returns> private static RestItem GetRestItem(Dictionary <string, string> properties) { string id = properties.ContainsKey("id") ? properties["id"] : "UnknownResourceId"; string sport = properties.ContainsKey("sport") ? properties["sport"] : "Football"; // RestItem as returned by the UDAPI service RestItem item = new RestItem { Name = properties.ContainsKey("name") ? properties["name"] : "UnknownResource", Content = new Summary { Id = id, MatchStatus = properties.ContainsKey("matchstatus") ? Convert.ToInt32(properties["matchstatus"]) : 40, Sequence = properties.ContainsKey("sequence") ? Convert.ToInt32(properties["sequence"]) : 1, StartTime = properties.ContainsKey("starttime") ? properties["starttime"] : DateTime.UtcNow.ToString(), Tags = new List <Tag> { new Tag { Id = 2, Key = "Competition", Value = properties.ContainsKey("competition") ? properties["competition"] : "UnknownCompetition" }, new Tag { Id = 1, Key = "Participant", Value = properties.ContainsKey("participant2") ? properties["participant2"] : "UnknownAwayParticipant" }, new Tag { Id = 0, Key = "Participant", Value = properties.ContainsKey("participant1") ? properties["participant1"] : "UnknownHomeParticipant" } } }, Links = new List <RestLink>(), }; // links to the resource services var restlink = new RestLink { Relation = "http://api.sportingsolutions.com/rels/snapshot", Href = string.Format("http://apicui.sportingsolutions.com/UnifiedDataAPI/snapshot/{0}/{1}/fake-random-token-0", sport, id), Verbs = new[] { "GET" } }; item.Links.Add(restlink); restlink = new RestLink { Relation = "http://api.sportingsolutions.com/rels/stream/amqp", Href = string.Format("http://apicui.sportingsolutions.com/UnifiedDataAPI/strean/{0}/{1}/fake-random-token-1", sport, id), Verbs = new[] { "GET" } }; item.Links.Add(restlink); restlink = new RestLink { Relation = "http://api.sportingsolutions.com/rels/sequence", Href = string.Format("http://apicui.sportingsolutions.com/UnifiedDataAPI/sequence/{0}/{1}/fake-random-token-2", sport, id), Verbs = new[] { "GET" } }; item.Links.Add(restlink); restlink = new RestLink { Relation = "http://api.sportingsolutions.com/rels/stream/echo", Href = "http://apicui.sportingsolutions.com/EchoRestService/echo/fake-random-token-3", Verbs = new[] { "POST" } }; item.Links.Add(restlink); restlink = new RestLink { Relation = "http://api.sportingsolutions.com/rels/stream/batchecho", Href = "http://apicui.sportingsolutions.com/EchoRestService/batchecho/fake-random-token-4", Verbs = new[] { "POST" } }; item.Links.Add(restlink); return(item); }
internal Endpoint(RestItem restItem, IConnectClient connectClient) { State = restItem; ConnectClient = connectClient; }
public List <RestItemsListDto> GetRestSchItems(GetRestReqSchInput input) { List <RestItemsListDto> ItemsList = new List <RestItemsListDto>(); try { RestNonSchItem Nonschitem = new RestNonSchItem(); RestItemsListDto Items = new RestItemsListDto(); RestRequest RestReq = _RestReqRepository.GetAll().Where(a => a.Id == input.Id).SingleOrDefault(); var RestReqitem = _RestRequestItemRepository.GetAll().Where(a => a.RestRequestsId == input.Id).ToList(); List <RestReqItemListDto> RestReqItemListDtos = ObjectMapper.Map <List <RestReqItemListDto> >(RestReqitem); List <RestScheduleItem> schitems = _RestScheduleItemRepository.GetAll().Where(a => a.RestSchedulesId == RestReq.RestSchedulesId).ToList(); foreach (RestReqItemListDto reqitem in RestReqItemListDtos) { Nonschitem = _RestNonSchItemRepository.GetAll().Where(a => a.Id == reqitem.RestNonSchItemId).SingleOrDefault(); } if (schitems.Count() > 0) { foreach (RestScheduleItem item in schitems) { RestItem items = _RestItemRepository.GetAll().Where(a => a.Id == item.RestItemsId).SingleOrDefault(); Items = ObjectMapper.Map <RestItemsListDto>(items); foreach (RestReqItemListDto reqitem in RestReqItemListDtos) { if (item.Id == reqitem.RestScheduleItemsId) { Items.Count = reqitem.Count; if (reqitem.Count > 0) { Items.RestRequestItemsId = reqitem.Id; } var RestResponse = _RestRespRepository.GetAll().Where(a => a.RestRequestItemsId == reqitem.Id).ToList(); List <RestRespListDto> RestRespListDtos = ObjectMapper.Map <List <RestRespListDto> >(RestResponse); foreach (RestRespListDto restrsp in RestRespListDtos) { if (restrsp.RestRequestItemsId == reqitem.Id) { Items.NotAvailable = restrsp.NotAvailable; } } ItemsList.Add(Items); } } } } if (Nonschitem != null) { foreach (RestReqItemListDto reqitem in RestReqItemListDtos) { Nonschitem = _RestNonSchItemRepository.GetAll().Where(a => a.Id == reqitem.RestNonSchItemId).SingleOrDefault(); RestItem items = _RestItemRepository.GetAll().Where(a => a.Id == Nonschitem.RestItemId).SingleOrDefault(); Items = ObjectMapper.Map <RestItemsListDto>(items); Items.Count = reqitem.Count; if (reqitem.Count > 0) { Items.RestRequestItemsId = reqitem.Id; } var RestResponse = _RestRespRepository.GetAll().Where(a => a.RestRequestItemsId == reqitem.Id).SingleOrDefault(); if (RestResponse != null) { if (RestResponse.RestRequestItemsId == reqitem.Id) { Items.NotAvailable = RestResponse.NotAvailable; } } ItemsList.Add(Items); } } } catch (Exception e) { } return(new List <RestItemsListDto>(ItemsList)); }
internal Service(RestItem restItem, IConnectClient connectClient, ILogger <Endpoint> logger, IMemoryCache cache = default) : base(restItem, connectClient, logger) { Cache = cache; }