public static List <Model.QnA> GenerateQnA(string quizId, string courseId, string lessonName, string username) { var result = new List <Model.QnA>(); try { IDataProvider data = new MongoDataProvider(); var course = data.Get <DAL.Course>("_id", courseId); var quiz = data.Get <DAL.Quiz>("_id", quizId); Model.QnA source = null; if (quiz.Type == "Upisivanje") { source = new Model.QnAUpisivanje(); } else if (quiz.Type == "Izbor") { source = new Model.QnAIzbor(); } else if (quiz.Type == "VišestrukiIzbor") { source = new Model.QnAVisestruki(); } else { result = null; } return(source.GenerateQnA(course, username, lessonName, quiz)); } catch (Exception) { return(null); } }
public void GetDALUser() { IDataProvider data = new MongoDataProvider(); Model.User ModelUser = data.Get <DAL.User>("Email", "*****@*****.**"); Assert.AreEqual(ModelUser.Email, "*****@*****.**"); }
public void GetFromMongoTest() { var parser = new FilterParser(); var result = parser.Parse(this.jobj); // var result = parser.Parse(jobj0); // var result = parser.Parse(jobj1); // var result = parser.Parse(jobj2); // var result = parser.Parse(jobj3); var builder = new MongoFilterBuilder <BsonDocument>(); var text = result.GetQueryLanguageString(); result.ConvertIdToMasterId(); var mongoDataProvider = new MongoDataProvider("mongodb://demo.mongo1.domination.win:27017/masterdb_db9e00fa_1e68_4663_9bc2_93c7d7794b17"); var collection = mongoDataProvider.GetCollection <BsonDocument>("transactions"); var documentsFinder = builder.RenderQuery(result, collection); var documents = documentsFinder.ToList(); var q = new QueryLanguageBuilder().RenderQuery(result); }
public void MongoFilterBuilderTest() { // var query = @"$jobj.job().ee.Pickup<>().ae.notes<general>()._Add(vx.dataAdded = 'xxx', md()._add(vx.text = 'zzz'))"; // var query = @"$jobj.job(ae.instructions<driver>() && hd.tags(vx.name = 'jahahah') && ae.instructions<driver>().ae.comments<early>(vx.isRead = 'true'))"; // var query = @"$jobj.job(ae.instructions<driver>().ae.comments<early>(vx.isRead = 'true') && ae.instructions<driver>().md.company<shipper>(vx.name = 'GE Transportation'))"; //var query = @"$jobj.user(vx.firstName = 'New' && (id = 'f90d36be-7d10-4ed1-9753-5ea7ea87ea46' || vx.lastName = 'Name1'))"; var query = @"$jobj.user(vmd.user<driver>.vx.text = 'xxx')"; var builder = new MongoFilterBuilder <BsonDocument>(); // var mongoDataProvider = new MongoDataProvider("mongodb://dmz.mongo1.test.domination.win:27017/main"); var mongoDataProvider = new MongoDataProvider("mongodb://demo.mongo1.domination.win:27017/masterdb_d00ffca1_07ad_4c0a_a984_89f6a7a75d15"); var collection = mongoDataProvider.GetCollection <BsonDocument>("transactions"); var documentsFinder = builder.Build(query, collection); var documents = documentsFinder.ToList(); JsonConvert.DefaultSettings = () => { var defaultSettings = new JsonSerializerSettings(); // defaultSettings.Converters.Add(new ObjectIdConverter()); defaultSettings.Converters.Add(new BsonObjectIdConverter()); // defaultSettings.Converters.Add(new DotInNamesConverter()); return(defaultSettings); }; var y = JsonConvert.DeserializeObject <JObject>(documents[0].ToJson()); Console.WriteLine(documents); }
public ProductController(IProductRepository productRepository, IUnitOfWork uow, MongoDataProvider mongoDataProvider) { _productRepository = productRepository; _uow = uow; _mongoDataProvider = mongoDataProvider; _mongoDataProvider.Collection = "Event2"; }
public void Should_connects_to_the_server() { var mongoDataProvider = new MongoDataProvider(); mongoDataProvider.Connect(); mongoDataProvider.Disconnect(); }
public void Test() { var mongoProvider = new MongoDataProvider("mongodb://dmz.mongo1.test.domination.win:27017/test"); var coll = mongoProvider.GetCollection <BsonDocument>("testCollection"); coll.InsertOne(new BsonDocument()); }
public void GetAllCourses() { IDataProvider data = new MongoDataProvider(); var enumerableCourses = BLL.Course.GetAllCourses(); Assert.AreEqual(enumerableCourses.ModelCourses.Count, 1); }
public static string CheckToken(string token) { IDataProvider data = new MongoDataProvider(); // Fetch session from DB var session = data.Get <Session>("Id", token); // if there is any, check TTE if (session != null && session.Id != "") { // if TTE is alright, return email of the current user if (session.TTE > DateTime.Now) { return(session.Email); } else { DeleteToken(token); return(""); } } else { return(""); } }
public string Register() { // Setup user var user = new User(); try { // Generate password hash first string salt = Randoms.GenerateSalt(8); string hash = Hasher.GetHash(Password, salt); user.ModelUser = new Model.User(); user.ModelUser.Email = Email; user.ModelUser.Password = hash; user.ModelUser.Basil = salt; user.ModelUser.RegistrationDate = DateTime.Now; user.ModelUser.Role = Constants.Roles.User; IDataProvider data = new MongoDataProvider(); if (data.Create(user.ModelUser) == null) { throw new Exception(); } } catch (Exception e) { throw e; } // Get a session token string sessionToken = GetToken(user.ModelUser.Email); // if everything passed well return(sessionToken); }
public void Setup() { IConfigurationRoot configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()). AddJsonFile("appsettings.json").Build(); configuration.GetSection(nameof(DatabaseSettings)).Bind(settings); _provider = new MongoDataProvider(settings); }
public void GetUsersCourses() { string email = "*****@*****.**"; IDataProvider data = new MongoDataProvider(); var course = BLL.Course.GetUsersCourses(email); foreach (var enumCourse in course.ModelCourses) { Assert.AreEqual(enumCourse.Author, email); } }
public void CheckAny() { IDataProvider data = new MongoDataProvider(); var course = new BLL.Course(); var enumerableCourses = data.GetMultipleUsingAny <DAL.Course>("Subscribed", "*****@*****.**"); course.ModelCourses = new List <Model.Course>(); foreach (var enumerableCourse in enumerableCourses) { course.ModelCourses.Add(enumerableCourse); } }
public static bool DeleteToken(string token) { IDataProvider data = new MongoDataProvider(); try { return(data.Delete <Session>("Id", token)); } catch (Exception) { return(false); } }
public SvcTemplateService(MongoDataProvider mongoDataProvider) { this.mongoDataProvider = mongoDataProvider; var options = new CreateIndexOptions() { Unique = true }; var field = new StringFieldDefinition <SvcTemplateEntity>(nameof(SvcTemplateEntity.SvcTemplateId)); var indexDefinition = new IndexKeysDefinitionBuilder <SvcTemplateEntity>().Ascending(field); this.mongoDataProvider.SvcTemplateDb.GetCollection <SvcTemplateEntity>(SvcTemplateCollection).Indexes .CreateOne(indexDefinition, options); }
public CompanyService(MongoDataProvider mongoDataProvider) { this.mongoDataProvider = mongoDataProvider; var options = new CreateIndexOptions() { Unique = true }; var field = new StringFieldDefinition <CompanyEntity>(nameof(CompanyEntity.Identifier)); var indexDefinition = new IndexKeysDefinitionBuilder <CompanyEntity>().Ascending(field); this.mongoDataProvider.CompanyDb.GetCollection <CompanyEntity>(CompanyCollection).Indexes .CreateOne(indexDefinition, options); }
public static Course GetCourse(string id) { try { var course = new Course(); IDataProvider data = new MongoDataProvider(); course.ModelCourse = data.Get <DAL.Course>("_id", id); return(course); } catch (Exception) { return(null); } }
public static Word GetWord(string wordId) { try { IDataProvider data = new MongoDataProvider(); var word = new Word(); word.ModelWord = data.Get <DAL.Word>("_id", wordId); return(word); } catch (Exception) { return(null); } }
public static User Get(string email) { try { IDataProvider data = new MongoDataProvider(); var user = new User(); user.ModelUser = data.Get <DAL.User>("Email", email); return(user); } catch (Exception) { return(null); } }
public static bool SaveQnAs(List <Model.QnA> qnas) { try { IDataProvider data = new MongoDataProvider(); if (data.CreateMany(qnas) == null) { return(false); } return(true); } catch (Exception) { return(false); } }
public static bool SubscribeUserToCourse(string userMail, string courseId) { try { var course = new Course(); IDataProvider data = new MongoDataProvider(); course.ModelCourse = data.Get <DAL.Course>("_id", courseId); // Obrati pozornost na to da ne želiš da ti se korisnik može subscribeat 2x if (course.ModelCourse.Subscribed.Contains(userMail)) { return(true); } return(DAL.Course.SubscribeUser(userMail, courseId)); } catch (Exception) { return(false); } }
public void CreateCourse() { var dalCourse = new DAL.Course(); dalCourse.Author = "*****@*****.**"; dalCourse.Description = "Lorem ipsum dolor sit amet"; dalCourse.Lessons = new List <Model.Lesson>(); dalCourse.Name = "Hello world!"; dalCourse.Statistics = new Model.CourseStatistics(); dalCourse.Subscribed = new List <string>(); IDataProvider data = new MongoDataProvider(); dalCourse = data.Create(dalCourse); dalCourse.Identification = dalCourse._id.ToString(); var modelCourse = new Model.Course(); modelCourse = dalCourse; }
public static Course GetSubscribedCourses(string email) { try { IDataProvider data = new MongoDataProvider(); var course = new Course(); var enumerableCourses = data.GetMultipleUsingAny <DAL.Course>("Subscribed", email); course.ModelCourses = new List <Model.Course>(); foreach (var enumerableCourse in enumerableCourses) { enumerableCourse.Identification = enumerableCourse._id.ToString(); course.ModelCourses.Add(enumerableCourse); } return(course); } catch (Exception) { return(null); } }
public static bool UnsubscribeUserFromCourse(string userMail, string courseId) { try { var course = new Course(); IDataProvider data = new MongoDataProvider(); course.ModelCourse = data.Get <DAL.Course>("_id", courseId); // Ne bi trebao biti slučaj, ali ako korisnik nije subscribean onda je sve ok if (!course.ModelCourse.Subscribed.Contains(userMail)) { return(true); } return(DAL.Course.UnsubscribeUser(userMail, courseId)); } catch (Exception) { return(false); } }
public static List <Quiz> GetAllGenericQuizzes() { try { var result = new List <Quiz>(); IDataProvider data = new MongoDataProvider(); var quizzes = data.GetMultiple <DAL.Quiz>("", ""); foreach (var quiz in quizzes) { var bllQuiz = new Quiz(); bllQuiz.Identification = quiz._id.ToString(); bllQuiz.ModelQuiz = quiz; result.Add(bllQuiz); } return(result); } catch (Exception) { return(null); } }
public string Login() { IDataProvider data = new MongoDataProvider(); // Get the user info var user = data.Get <DAL.User>("Email", Email); // Now hashing the given password and compare hashes string hash = Hasher.GetHash(Password, user.Basil); // Correct - setup token if (user.Password == hash) { string sessionToken = GetToken(user.Email); return(sessionToken); } // False - return error else { return(""); } }
public static List <Word> GetAllWords() { try { IDataProvider data = new MongoDataProvider(); var enumerableWords = data.GetMultiple <DAL.Word>("", ""); var words = new List <Word>(); foreach (var enumerableWord in enumerableWords) { var word = new Word(); word.Identification = enumerableWord._id.ToString(); word.ModelWord = enumerableWord; words.Add(word); } return(words); } catch (Exception) { return(null); } }
public void JsonModificationTests() { var json = @"{ 'z.z' : 1 }"; var jobj = JsonConvert.DeserializeObject <JObject>(json); var ss = new JsonSerializerSettings(); // ss.Converters.Add(new DotInNamesConverter()); var mJobj = JsonConvert.SerializeObject(jobj, ss); var bson = BsonDocument.Parse(mJobj); var mongoDataProvider = new MongoDataProvider("mongodb://dmz.mongo1.test.domination.win:27017/test"); var collection = mongoDataProvider.GetCollection <BsonDocument>("test"); collection.InsertOne(bson); // var ser = JsonConvert.SerializeObject(), Formatting.Indented, new JsonSerializerSettings {ContractResolver = new ShouldSerializeContractResolver()}); }
public static bool AddLessonToCourse(string courseId, Model.Lesson lesson) { try { var course = new Course(); IDataProvider data = new MongoDataProvider(); course.ModelCourse = data.Get <DAL.Course>("_id", courseId); // ne smiju biti 2 lekcije istog imena foreach (var courseLesson in course.ModelCourse.Lessons) { if (courseLesson.Name == lesson.Name) { throw new Exception("AlreadyExists"); } } return(DAL.Course.AddLesson(lesson, courseId)); } catch (Exception) { return(false); } }
public void Should_connects_to_the_server() { var mongoDataProvider = new MongoDataProvider(); mongoDataProvider.Connect(); mongoDataProvider.Disconnect(); }
public void NotNullCollections() { var provider = MongoDataProvider.Get("MessageBoard"); var test = provider.GetCollection("MessageBoard"); }
public void Setup() { _provider = new MongoDataProvider(@"mongodb://localhost:27017/master"); }