Пример #1
0
 public void Insert(TopicBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         context.Topic.Add(CreateModel(model, new Topic()));
         context.SaveChanges();
     }
 }
Пример #2
0
 public void Insert(MessageBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         context.Message.Add(CreateModel(model, new Message()));
         context.SaveChanges();
     }
 }
Пример #3
0
 public void Insert(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         Visitor visitor = CreateModel(model, new Visitor());
         context.Visitor.Add(visitor);
         context.SaveChanges();
     }
 }
Пример #4
0
        /// <summary>
        /// Pobieranie uzytkownika po emailu.
        /// </summary>
        /// <param name="email"> Email uzytkownika.</param>
        /// <returns>Uzytkownik znaleziony po mailu lub pusty string.</returns>
        public override string GetUserNameByEmail(string email)
        {
            using (ForumDatabase dbContext = ForumDatabase.Create())
            {
                string username = dbContext.Users.Where(u => u.Email == email).Select(u => u.Email).FirstOrDefault();

                return(!string.IsNullOrEmpty(username) ? username : string.Empty);
            }
        }
Пример #5
0
 public void Insert(ModeratorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         Moderator moder = CreateModel(model, new Moderator());
         context.Moderator.Add(moder);
         context.SaveChanges();
     }
 }
Пример #6
0
 public ThreadController()
     : this(new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ForumDatabase())))
 {
     ForumDatabase             = new ForumDatabase();
     UserManager.UserValidator =
         new UserValidator <ApplicationUser>(UserManager)
     {
         AllowOnlyAlphanumericUserNames = false
     };
 }
Пример #7
0
		public HomeController()
			: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ForumDatabase())))
		{
			ForumDatabase = new ForumDatabase();
			UserManager.UserValidator =
				new UserValidator<ApplicationUser>(UserManager)
				{
					AllowOnlyAlphanumericUserNames = false
				};
		}
Пример #8
0
        public static void Run()
        {
            Database      database      = new Database(Globals.DatabaseConnectString);
            ForumDatabase forumDatabase = new ForumDatabase(Globals.ForumDatabaseConnectString);

            Hashtable memberAccounts = new Hashtable();

            Member[] members = database.GetAllMembers();

            foreach (Member member in members)
            {
                try
                {
                    if (member.ForumAccountId != 0)
                    {
                        if (!forumDatabase.IsPartyMember(member.ForumAccountId))
                        {
                            // This guy is not listed as a party member, but should be.

                            forumDatabase.SetPartyMember(member.ForumAccountId);
                        }
                        memberAccounts [member.ForumAccountId] = true;
                    }
                }
                catch (Exception)
                {
                    // The forum account probably doesn't exist. Just remove it from the profile.

                    try
                    {
                        database.SetMemberForumAccountId(member.MemberId, 0);
                    }
                    catch (Exception e2)
                    {
                        ExceptionMail.Send(e2);
                    }
                }
            }

            // Now that we have flagged all member accounts as member accounts, flag the rest as
            // non-party members.

            int[] accountIds = forumDatabase.GetAccountList();

            foreach (int accountId in accountIds)
            {
                if (!memberAccounts.ContainsKey(accountId))
                {
                    if (forumDatabase.IsPartyMember(accountId))
                    {
                        forumDatabase.SetPartyNonmember(accountId);
                    }
                }
            }
        }
Пример #9
0
		public static void Run()
		{
			Database database = new Database (Globals.DatabaseConnectString);
			ForumDatabase forumDatabase = new ForumDatabase (Globals.ForumDatabaseConnectString);

			Hashtable memberAccounts = new Hashtable();
				
			Member[] members = database.GetAllMembers();

			foreach (Member member in members)
			{
				try
				{
					if (member.ForumAccountId != 0)
					{
						if (!forumDatabase.IsPartyMember (member.ForumAccountId))
						{
							// This guy is not listed as a party member, but should be.

							forumDatabase.SetPartyMember (member.ForumAccountId);
						}
						memberAccounts [member.ForumAccountId] = true;
					}
				}
				catch (Exception)
				{
					// The forum account probably doesn't exist. Just remove it from the profile.

					try
					{
						database.SetMemberForumAccountId (member.MemberId, 0);
					}
					catch (Exception e2)
					{
						ExceptionMail.Send (e2);
					}
				}
			}

			// Now that we have flagged all member accounts as member accounts, flag the rest as
			// non-party members.

			int[] accountIds = forumDatabase.GetAccountList();

			foreach (int accountId in accountIds)
			{
				if (!memberAccounts.ContainsKey (accountId))
				{
					if (forumDatabase.IsPartyMember (accountId))
					{
						forumDatabase.SetPartyNonmember (accountId);
					}
				}
			}
		}
Пример #10
0
 public List <LikeViewModel> GetFilteredList(LikeBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         return(context.Like.Where(rec => rec.Messageid == model.IdMessage).Select(rec => new LikeViewModel
         {
             LoginUser = rec.Visitorlogin,
             IdMessage = rec.Messageid
         }).ToList());
     }
 }
Пример #11
0
 public List <LikeViewModel> GetFullList()
 {
     using (var context = new ForumDatabase())
     {
         return(context.Like.Select(rec => new LikeViewModel
         {
             LoginUser = rec.Visitorlogin,
             IdMessage = rec.Messageid
         }).ToList());
     }
 }
Пример #12
0
 public AccountController()
     : this(new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ForumDatabase())))
 {
     ForumDatabase             = new ForumDatabase();
     UserManager.UserValidator =
         new UserValidator <ApplicationUser>(UserManager)
     {
         AllowOnlyAlphanumericUserNames = false
     };
     //provider = new DpapiDataProtectionProvider("Forum");
     //UserManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("EmailConfirmation"));
 }
Пример #13
0
		public AccountController()
			: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ForumDatabase())))
		{
			ForumDatabase = new ForumDatabase();
			UserManager.UserValidator =
				new UserValidator<ApplicationUser>(UserManager)
				{
					AllowOnlyAlphanumericUserNames = false
				};
			//provider = new DpapiDataProtectionProvider("Forum");
			//UserManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("EmailConfirmation"));
		}
Пример #14
0
 public List <TopicViewModel> GetFullList()
 {
     using (var context = new ForumDatabase())
     {
         return(context.Topic.Include(rec => rec.Message)
                .Select(rec => new TopicViewModel
         {
             Name = rec.Name,
             NumberOfVisitors = rec.Numberofvisitors,
             NumberOfMessages = rec.Numberofmessages,
         }).ToList());
     }
 }
Пример #15
0
 public void Update(LikeBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var element = context.Like.FirstOrDefault(rec => rec.Visitorlogin == model.LoginUser && rec.Messageid == model.IdMessage);
         if (element == null)
         {
             throw new Exception("Элемент не найден");
         }
         CreateModel(model, element);
         context.SaveChanges();
     }
 }
Пример #16
0
 public void Update(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var visitor = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser);
         if (visitor == null)
         {
             throw new Exception("Элемент не найден");
         }
         CreateModel(model, visitor);
         context.SaveChanges();
     }
 }
Пример #17
0
 public void Update(MessageBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var element = context.Message.FirstOrDefault(rec => rec.Id == model.Id);
         if (element == null)
         {
             throw new Exception("Элемент не найден");
         }
         CreateModel(model, element);
         context.SaveChanges();
     }
 }
Пример #18
0
        /// <summary>
        /// Metoda sprawdzajaca czy uzytkownik o podanym nicku i hasle istnieje w bazie.
        /// </summary>
        /// <param name="username">Nick uzytkownika.</param>
        /// <param name="password">Haslo uzytkownika.</param>
        /// <returns></returns>
        public override bool ValidateUser(string username, string password)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                return(false);
            }

            using (ForumDatabase dbContext = ForumDatabase.Create())
            {
                var user = dbContext.Users.Where(u => u.Username == username && u.Password == password).FirstOrDefault();

                return((user != null) ? true : false);
            }
        }
Пример #19
0
 public List <ModeratorViewModel> GetFullList()
 {
     using (var context = new ForumDatabase())
     {
         return(context.Moderator
                .Select(rec => new ModeratorViewModel
         {
             LoginUser = rec.Login,
             Password = rec.Password,
             Email = rec.Email,
             TotalTime = rec.TotalTime,
             AmountOfHelp = rec.Amountofhelp
         }).ToList());
     }
 }
Пример #20
0
        /// <summary>
        /// Metoda pobierajaca uzytkownika po nicku.
        /// </summary>
        /// <param name="username">Nick uzytkownika.</param>
        /// <returns>Wybrany uzytkownik po nicku lub null.</returns>
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            using (ForumDatabase dbContext = ForumDatabase.Create())
            {
                var user = dbContext.Users.Where(u => u.Username == username).FirstOrDefault();

                if (user == null)
                {
                    return(null);
                }
                var selectedUser = new CustomMembershipUser(user);

                return(selectedUser);
            }
        }
Пример #21
0
 public List <MessageViewModel> GetFilteredList(MessageBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         return(context.Message.Include(rec => rec.Like).Where(rec => rec.Topicname.Contains(model.NameTopic) || (rec.Time > model.DateFrom && rec.Time < model.DateTo))
                .Select(rec => new MessageViewModel
         {
             Id = rec.Id,
             Text = rec.Text,
             Time = rec.Time,
             LoginUser = rec.Visitorlogin,
             NameTopic = rec.Topicname,
         }).ToList());
     }
 }
Пример #22
0
 public List <MessageViewModel> GetFullList()
 {
     using (var context = new ForumDatabase())
     {
         return(context.Message.Include(rec => rec.Like)
                .Select(rec => new MessageViewModel
         {
             Id = rec.Id,
             Text = rec.Text,
             Time = rec.Time,
             LoginUser = rec.Visitorlogin,
             NameTopic = rec.Topicname,
         }).ToList());
     }
 }
Пример #23
0
 public void Delete(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var element = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser);
         if (element != null)
         {
             context.Visitor.Remove(element);
             context.SaveChanges();
         }
         else
         {
             throw new Exception("Элемент не найден");
         }
     }
 }
Пример #24
0
 public void Delete(MessageBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var element = context.Message.FirstOrDefault(rec => rec.Id == model.Id);
         if (element != null)
         {
             context.Message.Remove(element);
             context.SaveChanges();
         }
         else
         {
             throw new Exception("Элемент не найден");
         }
     }
 }
Пример #25
0
 public List <VisitorViewModel> GetFullList()
 {
     using (var context = new ForumDatabase())
     {
         return(context.Visitor
                .Select(rec => new VisitorViewModel
         {
             LoginUser = rec.Login,
             Password = rec.Password,
             Email = rec.Email,
             TotalTime = rec.TotalTime,
             Status = rec.Status,
             Decency = rec.Decency,
             CountOfMessages = rec.Countmessages,
         }).ToList());
     }
 }
Пример #26
0
 public LikeViewModel GetElement(LikeBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var like = context.Like.FirstOrDefault
                        (rec => rec.Visitorlogin == model.LoginUser && rec.Messageid == model.IdMessage);
         return(like != null ? new LikeViewModel
         {
             LoginUser = like.Visitorlogin,
             IdMessage = like.Messageid
         } :
                null);
     }
 }
Пример #27
0
 public TopicViewModel GetElement(TopicBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var topic = context.Topic.Include(rec => rec.Message).FirstOrDefault
                         (rec => rec.Name == model.Name);
         return(topic != null ? new TopicViewModel
         {
             Name = topic.Name,
             NumberOfVisitors = topic.Numberofvisitors,
             NumberOfMessages = topic.Numberofmessages
         } :
                null);
     }
 }
Пример #28
0
 public ModeratorViewModel GetElement(ModeratorBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var moder = context.Moderator.FirstOrDefault(rec => rec.Login == model.LoginUser && rec.Password == model.Password);
         return(moder != null ? new ModeratorViewModel
         {
             LoginUser = moder.Login,
             Password = moder.Password,
             Email = moder.Email,
             TotalTime = moder.TotalTime,
             AmountOfHelp = moder.Amountofhelp
         } :
                null);
     }
 }
Пример #29
0
 public MessageViewModel GetElement(MessageBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var message = context.Message.Include(rec => rec.Like).FirstOrDefault
                           (rec => rec.Id == model.Id);
         return(message != null ? new MessageViewModel
         {
             Id = message.Id,
             Text = message.Text,
             Time = message.Time,
             LoginUser = message.Visitorlogin,
             NameTopic = message.Topicname,
         } :
                null);
     }
 }
Пример #30
0
        /// <summary>
        /// Pobiera role danego uzytkownika.
        /// </summary>
        /// <param name="username">Nick uzytkownika.</param>
        /// <returns>Tablica rol wybranego uzytkownika.</returns>
        public override string[] GetRolesForUser(string username)
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                return(null);
            }

            var userRoles = new string[] { };

            using (ForumDatabase dbContext = ForumDatabase.Create())
            {
                var selectedUser = dbContext.Users.Where(u => u.Username == username).FirstOrDefault();

                if (selectedUser != null)
                {
                    userRoles = new[] { selectedUser.Role.Select(r => r.RoleName).ToString() };
                }

                return(userRoles.ToArray());
            }
        }
Пример #31
0
 public VisitorViewModel GetElement(VisitorBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var visitor = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser && rec.Password == model.Password);
         return(visitor != null ? new VisitorViewModel
         {
             LoginUser = visitor.Login,
             Password = visitor.Password,
             Email = visitor.Email,
             TotalTime = visitor.TotalTime,
             Status = visitor.Status,
             Decency = visitor.Decency,
             CountOfMessages = visitor.Countmessages,
         } :
                null);
     }
 }
Пример #32
0
 private static void EnsureDataStorageIsReady(IServiceProvider scopedServices)
 {
     #if (Logging)
     #if (!NoDb)
     var deleteLogsOlderThanDays = 90;
     LoggingEFStartup.InitializeDatabaseAsync(scopedServices, deleteLogsOlderThanDays).Wait();
     #endif
     #endif
     #if (NoDb)
     CoreNoDbStartup.InitializeDataAsync(scopedServices).Wait();
     #else
     CoreEFStartup.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #if (SimpleContentConfig != "z")
     #if (!NoDb)
     SimpleContentEFStartup.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (KvpCustomRegistration || Newsletter)
     #if (!NoDb)
     KvpEFCoreStartup.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (IdentityServer)
     #if (NoDb)
     CloudscribeIdentityServerIntegrationNoDbStorage.InitializeDatabaseAsync(scopedServices).Wait();
     #else
     CloudscribeIdentityServerIntegrationEFCoreStorage.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (FormBuilder)
     #if (!NoDb)
     FormsDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (Paywall)
     #if (!NoDb)
     MembershipDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
      #if (IncludeEmailQueue)
     #if (!NoDb)
     EmailQueueDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     EmailTemplateDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (Newsletter)
     #if (!NoDb)
     EmailListDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (IncludeStripeIntegration)
     #if (!NoDb)
     StripeDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (DynamicPolicy)
     #if (!NoDb)
     DynamicPolicyEFCore.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (CommentSystem)
     #if (!NoDb)
     CommentsDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
     #if (Forum)
     #if (!NoDb)
     ForumDatabase.InitializeDatabaseAsync(scopedServices).Wait();
     #endif
     #endif
 }
Пример #33
0
 public TopicRepository(ForumDatabase context) : base(context)
 {
 }