示例#1
0
        public void RequestConceptFromTechnology(string username, string tech)
        {
            var temp           = new ConceptRequest(username, tech);
            var serializeddata = temp.Serialize();

            queuehandler.model.BasicPublish("KnowledgeExchange", "Request.Concepts", null, serializeddata);
        }
示例#2
0
        public async Task <ActionResult <Concept> > Create(ConceptRequest concept)
        {
            var result = await _concepts.Create(concept, HttpContext.RequestAborted);

            if (result == null)
            {
                return(Conflict());
            }

            return(result);
        }
        public ActionResult UpdateConcept(string uid, [FromBody] ConceptRequest req)
        {
            Concept cpt = _context.Concept.First(c => c.Uid == uid);

            cpt.ConceptName     = req.ConceptName;
            cpt.NewsHeadline    = req.NewsHeadline;
            cpt.Customer        = req.Customer;
            cpt.CustomerProblem = req.CustomerProblem;
            cpt.Promise         = cpt.Promise;
            cpt.Proof           = cpt.Proof;
            cpt.Price           = cpt.Price;
            cpt.DeathThreats    = cpt.DeathThreats;

            _context.SaveChanges();
            return(Ok(new { message = "Success!" }));
        }
        public ActionResult CreateConcept([FromBody] ConceptRequest req)
        {
            var     new_uid  = Guid.NewGuid().ToString();
            Project proj     = _context.Project.Where(p => p.Uid == req.projectUid).FirstOrDefault();
            var     answerls = req.answerList;
            var     length   = _context.Question.Count <Question>();

            Concept cpt = new Concept
            {
                Uid             = new_uid,
                ProjectId       = proj.Id,
                ConceptName     = req.ConceptName,
                NewsHeadline    = req.NewsHeadline,
                Customer        = req.Customer,
                CustomerProblem = req.CustomerProblem,
                Promise         = req.Promise,
                Proof           = req.Proof,
                Price           = req.Price,
                Passion         = req.Passion,
                DeathThreats    = req.DeathThreats
            };

            _context.Concept.Add(cpt);
            _context.SaveChanges();

            var conc = _context.Concept.Where(c => c.Uid == new_uid).FirstOrDefault <Concept>();

            for (int i = 0; i < answerls.Length; i++)
            {
                if (answerls[i] != null)
                {
                    IdeationAnswers ans = new IdeationAnswers
                    {
                        Uid    = Guid.NewGuid().ToString(),
                        Cid    = conc.Id,
                        Qid    = i,
                        Answer = answerls[i]
                    };

                    _context.IdeationAnswers.Add(ans);
                }
            }

            _context.SaveChanges();

            return(Ok(new { message = "Success!" }));
        }
示例#5
0
        public void ConceptRequestHandler()
        {
            var channel  = queues.connection.CreateModel();
            var consumer = new AsyncEventingBasicConsumer(channel);

            consumer.Received += async(model, ea) =>
            {
                Console.WriteLine("Recieved Request for Concepts");
                var body = ea.Body;
                concept_query     = (ConceptRequest)body.DeSerialize(typeof(ConceptRequest));
                this.concept_list = new ConceptResponse(concept_query.Username);
                this.concept_list.concepts.AddRange(graphfunctions.GetConceptFromTechnology(concept_query.Tech));
                channel.BasicAck(ea.DeliveryTag, false);
                channel.BasicPublish("KnowldegeGraphExchange", "Routing Key", null, this.concept_list.Serialize());
                var routingKey = ea.RoutingKey;
                Console.WriteLine(" - Routing Key <{0}>", routingKey);
                Console.WriteLine("- Delivery Tag <{0}>", ea.DeliveryTag);
                await Task.Yield();
            };
            channel.BasicConsume("QuizEngine_KnowledgeGraph_Concepts", false, consumer);
        }
示例#6
0
        public async Task <ActionResult <Concept> > Update(Guid id, [CustomizeValidator(RuleSet = "Update")] ConceptRequest concept)
        {
            var currentUser    = HttpContext.GetUser();
            var currentConcept = await _concepts.Get(id, HttpContext.RequestAborted);

            if (currentConcept == null)
            {
                return(NotFound());
            }

            if (!await _authorization.HasWriteAccess(currentUser, currentConcept, HttpContext.RequestAborted))
            {
                return(Unauthorized());
            }

            var result = await _concepts.Update(id, concept, HttpContext.RequestAborted);

            if (result == null)
            {
                return(Conflict());
            }

            return(result);
        }
        public async Task Update_Concept_Or_404(Mock <IConceptService> service, Mock <IAuthorizationService> authorization, ConceptRequest validRequest, ConceptRequest invalidRequest, Concept valid, Concept invalid, User user)
        {
            authorization.Setup(x => x.HasWriteAccess(user, It.IsAny <It.IsAnyType>(), It.IsAny <CancellationToken>())).ReturnsAsync(true);

            service.Setup(x => x.Exists(valid.Id, It.IsAny <CancellationToken>())).ReturnsAsync(true);
            service.Setup(x => x.Exists(invalid.Id, It.IsAny <CancellationToken>())).ReturnsAsync(false);
            service.Setup(x => x.Get(valid.Id, It.IsAny <CancellationToken>())).ReturnsAsync(valid);
            service.Setup(x => x.Get(invalid.Id, It.IsAny <CancellationToken>())).ReturnsAsync((Concept)null);
            service.Setup(x => x.Update(valid.Id, validRequest, It.IsAny <CancellationToken>())).ReturnsAsync(valid);
            service.Setup(x => x.Update(invalid.Id, invalidRequest, It.IsAny <CancellationToken>())).ReturnsAsync((Concept)null);

            var controller = TestSetup.SetupController <ConceptsController>(service.Object, authorization.Object).SetupSession(user);

            var goodResult = await controller.Update(valid.Id, validRequest);

            var invalidResult = await controller.Update(invalid.Id, invalidRequest);

            goodResult.Value.Should().BeEquivalentTo(valid);
            invalidResult.Value.Should().BeNull();
            invalidResult.Result.Should().BeOfType <NotFoundResult>();
        }
        public async Task Create_Concept_Or_409(Mock <IConceptService> service, IAuthorizationService authorization, ConceptRequest request, Concept concept, User user)
        {
            service.Setup(x => x.Create(request, It.IsAny <CancellationToken>())).ReturnsAsync(concept);
            service.Setup(x => x.Create(null, It.IsAny <CancellationToken>())).ReturnsAsync((Concept)null);

            var controller = TestSetup.SetupController <ConceptsController>(service.Object, authorization).SetupSession(user);

            var goodResult = await controller.Create(request);

            var invalidResult = await controller.Create(null);

            goodResult.Value.Should().NotBeNull();
            invalidResult.Value.Should().BeNull();
            invalidResult.Result.Should().BeOfType <ConflictResult>();
        }
示例#9
0
        public async Task CreateConceptCustomClassId(string termbaseId, string entryName, string customClassId)
        {
            var groupShareClient = Helper.GsClient;
            var conceptRequest   = new ConceptRequest
            {
                Attributes = null,
                Languages  = new List <TermbaseLanguages>
                {
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "English",
                            Name = "English",
                            Code = "EN"
                        },
                        Attributes = null,
                        Terms      = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = "******",
                                        Details  = new TransactionsDetails
                                        {
                                            User = "******",
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = entryName
                            }
                        }
                    },
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "German",
                            Name = "German",
                            Code = "DE"
                        },
                        Attributes = null,
                        Terms      = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = "******",
                                        Details  = new TransactionsDetails
                                        {
                                            User = "******",
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = "ttt"
                            }
                        }
                    }
                },
                Transactions = new List <Transactions>
                {
                    new Transactions
                    {
                        DateTime = DateTime.Now,
                        Id       = null,
                        Details  = new TransactionsDetails
                        {
                            User = "******",
                            Type = "Create"
                        },
                        Username = "******"
                    }
                }
            };

            var conceptResponse = await groupShareClient.Terminology.CreateConceptWithCustomEntryClass(
                customClassId,
                termbaseId,
                conceptRequest);

            Assert.True(conceptResponse.Concept.Id != string.Empty);
        }
示例#10
0
        public async Task <string> CreateConceptWithCustomFields(string termbaseId, string entryName)
        {
            var groupShareClient = Helper.GsClient;
            var termBase         = await groupShareClient.Terminology.GetTermbaseById(termbaseId);

            var conceptRequest = new ConceptRequest
            {
                Attributes = null,
                Languages  = new List <TermbaseLanguages>
                {
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "English",
                            Name = "English",
                            Code = "EN"
                        },
                        Attributes = new List <Attribute>
                        {
                            new Attribute
                            {
                                Name  = "Note",
                                Value = new List <Types>
                                {
                                    new Types
                                    {
                                        Type  = "Text",
                                        Value = "kitNote"
                                    }
                                }
                            }
                        }
                        ,
                        Terms = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = "******",
                                        Details  = new TransactionsDetails
                                        {
                                            User = "******",
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = entryName
                            }
                        }
                    },
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "German",
                            Name = "German",
                            Code = "DE"
                        },
                        Attributes = null,
                        Terms      = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = "******",
                                        Details  = new TransactionsDetails
                                        {
                                            User = "******",
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = "NewCreated"
                            }
                        }
                    }
                },
                Transactions = new List <Transactions>
                {
                    new Transactions
                    {
                        DateTime = DateTime.Now,
                        Id       = null,
                        Details  = new TransactionsDetails
                        {
                            User = "******",
                            Type = "Create"
                        },
                        Username = "******"
                    }
                }
            };
            var conceptResponse = await groupShareClient.Terminology.CreateConcept(termBase, conceptRequest);

            return(conceptResponse.Concept.Id);
        }
        public async Task <string> CreateConcept(string termbaseId, string entryName)
        {
            var groupShareClient = Helper.GsClient;
            var termBase         = await groupShareClient.Terminology.GetTermbaseById(termbaseId);

            var roles = await groupShareClient.Role.GetAllRoles();

            var conceptRequest = new ConceptRequest
            {
                Attributes = null,
                Languages  = new List <TermbaseLanguages>
                {
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "English",
                            Name = "English",
                            Code = "EN"
                        },
                        Attributes = null,
                        Terms      = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = Helper.GsUser,
                                        Details  = new TransactionsDetails
                                        {
                                            User = Helper.GsUser,
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = entryName
                            }
                        }
                    },
                    new TermbaseLanguages
                    {
                        Language = new Language
                        {
                            Id   = "German",
                            Name = "German",
                            Code = "DE"
                        },
                        Attributes = null,
                        Terms      = new List <TermbaseTerms>
                        {
                            new TermbaseTerms
                            {
                                Attributes   = null,
                                Transactions = new List <Transactions>
                                {
                                    new Transactions
                                    {
                                        DateTime = DateTime.Now,
                                        Id       = null,
                                        Username = Helper.GsUser,
                                        Details  = new TransactionsDetails
                                        {
                                            User = Helper.GsUser,
                                            Type = "Create"
                                        }
                                    }
                                },
                                Text = "NewCreated"
                            }
                        }
                    }
                },
                Transactions = new List <Transactions>
                {
                    new Transactions
                    {
                        DateTime = DateTime.Now,
                        Id       = null,
                        Details  = new TransactionsDetails
                        {
                            User = "******",
                            Type = "Create"
                        },
                        Username = "******"
                    }
                }
            };

            var conceptResponse = await groupShareClient.Terminology.CreateConcept(termBase, conceptRequest);

            Assert.True(conceptResponse.Concept.Id != string.Empty);
            return(conceptResponse.Concept.Id);
        }
示例#12
0
        public async Task Update_Subject_State_On_Create(Mock <IAuthorizationService> authorizationService, Mock <IStateService> stateService, ConceptRequest request)
        {
            stateService.Setup(x => x.UpdateSubjectState(It.IsAny <Guid>(), It.IsAny <CancellationToken>()));

            var context     = TestSetup.SetupContext();
            var httpContext = TestSetup.SetupHttpContext();

            var service = new ConceptService(context, httpContext, authorizationService.Object, stateService.Object);
            await service.Create(request);

            stateService.VerifyAll();
        }