Exemple #1
0
 public Task <Unit> Handle(Command request, CancellationToken cancellationToken)
 {
     Domain.Item model = _mapperHelper.Map <Command, Domain.Item>(request);
     _unitOfWork.ItemRepo.Save(model);
     _unitOfWork.Commit();
     return(Task.FromResult(Unit.Value));
 }
        public void TestMethod1()
        {
            // Arrange
            Services.CallService service = new Services.CallService();

            //Creating member list for item
            Domain.MemberCollection        member  = new Domain.MemberCollection(1423, "Boris Johnson");
            List <Domain.MemberCollection> memList = new List <Domain.MemberCollection>();

            memList.Add(member);

            //Creating member list for item2
            Domain.MemberCollection        member2  = new Domain.MemberCollection(15, "Mr David Lidington");
            List <Domain.MemberCollection> memList2 = new List <Domain.MemberCollection>();

            memList2.Add(member2);

            //Creating item
            Domain.Item item = new Domain.Item(15276, "2017-04-18T00:00:00", "2017-04-18T00:00:00", "", "", "Statement", "Main Chamber", "Commons", "Syria and North Korea", memList);

            //Creating item2
            Domain.Item item2 = new Domain.Item(15275, "2017-04-18T00:00:00", "2017-04-18T00:00:00", "", "", "Business Statement", "Main Chamber", "Commons", "Business Statement from the Leader of the House", memList2);

            // Act
            List <Domain.Item> result = service.initialItems();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(23, result.Count);


            Assert.AreEqual(item, result[19]);
            Assert.AreEqual(item2, result[18]);
        }
Exemple #3
0
        public void Get()
        {
            // Arrange
            ValuesController controller = new ValuesController();

            //Creating member list for item
            Domain.MemberCollection        member  = new Domain.MemberCollection(1423, "Boris Johnson");
            List <Domain.MemberCollection> memList = new List <Domain.MemberCollection>();

            memList.Add(member);

            //Creating member list for item2
            Domain.MemberCollection        member2  = new Domain.MemberCollection(15, "Mr David Lidington");
            List <Domain.MemberCollection> memList2 = new List <Domain.MemberCollection>();

            memList2.Add(member2);

            //Creating item
            Domain.Item item = new Domain.Item(15276, "2017-04-18T00:00:00", "2017-04-18T00:00:00", "", "", "Statement", "Main Chamber", "Commons", "Syria and North Korea", memList);

            //Creating item2
            Domain.Item item2 = new Domain.Item(15275, "2017-04-18T00:00:00", "2017-04-18T00:00:00", "", "", "Business Statement", "Main Chamber", "Commons", "Business Statement from the Leader of the House", memList2);

            // Act
            IEnumerable <Domain.Item> result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(23, result.Count());


            Assert.AreEqual(item, result.ElementAt(19));
            Assert.AreEqual(item2, result.ElementAt(18));
        }
Exemple #4
0
        public void GetById()
        {
            // Arrange
            ValuesController controller = new ValuesController();

            // Act
            Domain.Item result = controller.Get(15013);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("14:30", result.startTime);
            Assert.AreEqual("Oral questions", result.category);
        }
Exemple #5
0
        public static Database.Items.Item ToDatabaseModel(Domain.Item d)
        {
            if (d == null)
            {
                return(null);
            }

            var db = new Database.Items.Item
            {
                Id          = d.Id,
                Name        = d.Name,
                RecipeItems = new List <Database.Items.RecipeItem>(),
                PantryItems = new List <Database.Items.PantryItem>()
            };

            db.Tags = d.Tags?.Select(tag => new Database.Tagging.ItemTag
            {
                Tag  = ToDatabaseModel(tag),
                Item = db
            })?.ToList() ?? null;

            return(db);
        }
Exemple #6
0
            public async Task Handle(Command message)
            {
                if (message.Name == null || message.Name.Trim().Equals("") || message.Name.Trim().Length > 100)
                {
                    throw new HttpException(400);
                }

                if (message.Description == null || message.Description.Trim().Equals("") || message.Description.Trim().Length > 200)
                {
                    throw new HttpException(400);
                }

                var item = new Domain.Item()
                {
                    Name        = message.Name.Trim(),
                    Description = message.Description.Trim(),
                    IsFinished  = message.IsFinished
                };

                db.Item.Add(item);

                await db.SaveChangesAsync();
            }
Exemple #7
0
 public Task <Dto.Item> Handle(Query request, CancellationToken cancellationToken)
 {
     Domain.Item dbResponse = _unitOfWork.ItemRepo.Find(request.Name);
     return(Task.FromResult(_mapperHelper.Map <Domain.Item, Dto.Item>(dbResponse)));
 }
 public Task RegisterAsync(Domain.Item item)
 {
     return(_savePort.SaveAsync(item));
 }
Exemple #9
0
        private void btnGetir_Click(object sender, EventArgs e)
        {
            url = "http://service.calendar.parliament.uk/calendar/events/list.xml?startdate=2015-11-16&enddate=2015-11-20";
            int    memberId;
            string memName;
            string xmlStr;

            using (var wc = new WebClient())
            {
                xmlStr = wc.DownloadString(url);
            }
            doc.LoadXml(xmlStr);

            string description;


            foreach (XmlNode node in doc.DocumentElement)
            {
                int    itemId    = int.Parse(node.Attributes[0].Value);
                string startDate = node["StartDate"].InnerText;
                string endDate   = node["EndDate"].InnerText;
                string startTime = node["StartTime"].InnerText;
                string endTime   = node["EndTime"].InnerText;
                string category  = node["Category"].InnerText;
                string type      = node["Type"].InnerText;
                string house     = node["House"].InnerText;



                if (node.SelectSingleNode("Description") == null)
                {
                    description = "No description";
                }

                else
                {
                    description = node["Description"].InnerText;
                }

                if (node["Members"].HasChildNodes)
                {
                    XmlNodeList node2 = node.SelectNodes("Members");
                    members = new List <Domain.MemberCollection>();

                    foreach (XmlNode a in node2)
                    {
                        for (int i = 0; i < a.ChildNodes.Count; i++)
                        {
                            memberId = int.Parse(a.ChildNodes[i].Attributes[0].Value);
                            memName  = a.ChildNodes[i]["Name"].InnerText;
                            Domain.MemberCollection col = new Domain.MemberCollection(memberId, memName);
                            this.members.Add(col);
                        }
                    }
                }

                else
                {
                    members = new List <Domain.MemberCollection>();
                }


                //string description = node["Description"].Value;
                Domain.Item item = new Domain.Item(itemId, startDate, endDate, startTime, endTime, description, category, type, house, members);
                this.allItems.Add(item);
            }

            foreach (Domain.Item details in allItems)
            {
                items.Items.Add(details.ToString());
            }
        }
Exemple #10
0
        //Call this service for displaying items of current week
        public List <Domain.Item> initialItems()
        {
            url = "http://service.calendar.parliament.uk/calendar/events/list.xml?startdate=2017-04-17&enddate=2017-04-21";

            /* url = "http://service.calendar.parliament.uk/calendar/events/list.xml?date=thisweek"; */

            int    memberId, itemId;
            string startDate, endDate, category, type, house, startTime, endTime, description;
            string memName;
            string xmlStr;

            using (var wc = new WebClient())
            {
                xmlStr = wc.DownloadString(url);
            }
            doc.LoadXml(xmlStr);

            foreach (XmlNode node in doc.DocumentElement)
            {
                itemId    = int.Parse(node.Attributes[0].Value);
                startDate = node["StartDate"].InnerText;
                endDate   = node["EndDate"].InnerText;
                startTime = node["StartTime"].InnerText;
                endTime   = node["EndTime"].InnerText;
                category  = node["Category"].InnerText;
                type      = node["Type"].InnerText;
                house     = node["House"].InnerText;

                if (node.SelectSingleNode("Description") == null)
                {
                    description = "No description";
                }

                else
                {
                    description = node["Description"].InnerText;
                }



                if (node["Members"].HasChildNodes)
                {
                    XmlNodeList node2 = node.SelectNodes("Members");
                    members = new List <Domain.MemberCollection>();

                    foreach (XmlNode a in node2)
                    {
                        for (int i = 0; i < a.ChildNodes.Count; i++)
                        {
                            memberId = int.Parse(a.ChildNodes[i].Attributes[0].Value);
                            memName  = a.ChildNodes[i]["Name"].InnerText;
                            Domain.MemberCollection col = new Domain.MemberCollection(memberId, memName);
                            this.members.Add(col);
                        }
                    }
                }

                else
                {
                    members = new List <Domain.MemberCollection>();
                }


                //string description = node["Description"].Value;
                Domain.Item item = new Domain.Item(itemId, startDate, endDate, startTime, endTime, category, type, house, description, members);
                this.allItems.Add(item);
            }


            for (int i = 0; i < allItems.Count; i++)
            {
                if ((string.Compare(allItems[i].type, "Main Chamber") == 0) && (string.Compare(allItems[i].house, "Commons") == 0))
                {
                    filtered.Add(allItems[i]);
                }
            }

            return(this.filtered);
        }
Exemple #11
0
 public void AddNew(Domain.Item item)
 {
     _items.Add(item);
 }
Exemple #12
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var table = Table.LoadTable(_dynamoClient, "AdjacencyListDemo");

            var node = new Domain.Item
            {
                HASH            = Type + "-" + Id,
                RANGE           = Type + "-" + Id,
                CreatedDateTime = DateTime.Now,
                Data            = Data,
                Type            = Type
            };

            await table.PutItemAsync(Document.FromJson(node.ToJson()));

            if (Targets != null)
            {
                //add specified edges
                var targets = Targets.Split(',');
                foreach (var target in targets)
                {
                    var record = await table.GetItemAsync(target, target);

                    var recordType = record["Type"];
                    if (Type == "Person")
                    {
                        if (recordType == "Post" || recordType == "Topic")
                        {
                            var edge = new Domain.Item
                            {
                                HASH            = node.HASH,
                                RANGE           = target,
                                CreatedDateTime = DateTime.Now,
                                Data            = record["Data"],
                                Type            = $"{node.Type}|{recordType}"
                            };

                            await table.PutItemAsync(Document.FromJson(edge.ToJson()));
                        }
                        if (recordType == "Topic")
                        {
                            //add graph projected edges
                            var results = (await table.Query(target, new QueryFilter("RANGE", QueryOperator.BeginsWith, "Post")).GetRemainingAsync());

                            foreach (var result in results)
                            {
                                result["HASH"] = node.HASH;
                                result["Type"] = $"{node.Type}|{recordType}|Post";
                                await table.PutItemAsync(result);
                            }
                        }
                    }
                    else if (Type == "Topic")
                    {
                        if (recordType == "Person")
                        {
                            //add topic to person partition
                            var edge = new Domain.Item
                            {
                                HASH            = record["HASH"],
                                RANGE           = node.HASH,
                                CreatedDateTime = DateTime.Now,
                                Data            = record["Data"],
                                Type            = "Person|Topic"
                            };

                            await table.PutItemAsync(Document.FromJson(edge.ToJson()));
                        }

                        if (recordType == "Post")
                        {
                            //add post to topic partition
                            var edge = new Domain.Item
                            {
                                HASH            = node.HASH,
                                RANGE           = record["HASH"],
                                CreatedDateTime = DateTime.Now,
                                Data            = record["Data"],
                                Type            = "Topic|Post"
                            };

                            await table.PutItemAsync(Document.FromJson(edge.ToJson()));
                        }
                    }
                    else if (Type == "Post")
                    {
                        if (recordType == "Person" || recordType == "Topic")
                        {
                            //add post to record partition
                            var edge = new Domain.Item
                            {
                                HASH            = record["HASH"],
                                RANGE           = node.HASH,
                                CreatedDateTime = DateTime.Now,
                                Data            = node.Data,
                                Type            = $"{record["Type"]}|Post"
                            };

                            await table.PutItemAsync(Document.FromJson(edge.ToJson()));
                        }

                        if (recordType == "Topic")
                        {
                            //add posts to person partitions subscribed to this topic record
                            var queryFilter = new QueryFilter("RANGE", QueryOperator.Equal, node.HASH);
                            queryFilter.AddCondition("HASH", QueryOperator.BeginsWith, "Person");
                            var queryConfig = new QueryOperationConfig
                            {
                                IndexName = "Range-Hash-index",
                                Filter    = queryFilter
                            };
                            var results = (await table.Query(queryConfig).GetRemainingAsync());
                            foreach (var result in results)
                            {
                                var edge = new Domain.Item
                                {
                                    HASH            = result["HASH"],
                                    RANGE           = node.HASH,
                                    CreatedDateTime = DateTime.Now,
                                    Data            = node.Data,
                                    Type            = "Person|Topic|Post"
                                };

                                await table.PutItemAsync(Document.FromJson(edge.ToJson()));
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Unknown Type");
                    }
                }
            }

            return(RedirectToPage("Index"));
        }
Exemple #13
0
        public async Task <IActionResult> Register([FromBody] Domain.Item item)
        {
            await _createItemUseCase.RegisterAsync(item);

            return(Ok());
        }