Exemplo n.º 1
0
        public async Task <ActionResult <RestItem> > PostRestItem(RestItem restItem)
        {
            _context.RestItems.Add(restItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetRestItem", new { id = restItem.Id }, restItem));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 9
0
 internal Feature(NameValueCollection headers, RestItem restItem) : base(headers, restItem)
 {
     _logger.DebugFormat("Instantiated Feature {0}", restItem.Name);
 }
Exemplo n.º 10
0
 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));
        }
Exemplo n.º 12
0
 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);
 }
Exemplo n.º 13
0
 internal Service(RestItem restItem, IConnectClient connectClient)
     : base(restItem, connectClient)
 {
     Logger = LogManager.GetLogger(typeof(Service).ToString());
     Logger.DebugFormat("Instantiated service={0}", restItem.Name);
 }
Exemplo n.º 14
0
        /// <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;
 }
Exemplo n.º 16
0
        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;
 }