//Metod som hämtar profilinfo när en användare är inloggad samt om profilen är aktiverad. public ActionResult ListProfileData() { var user = User.Identity.GetUserId(); // Ser till att man inte kommer åt sidan om man är utloggad. if (user == null) { return(RedirectToAction("Login", "Account")); } var ctx = new MVCDbContext(); var profileActive = ctx.Profile.FirstOrDefault(p => p.ProfileId == user); //Kollar så att profilen inte är avaktiverad. if (!profileActive.IsActive) { return(RedirectToAction("EditProfileData", "Profile")); } // Lägger till de meddelanden vars mottagare är den inloggade användaren. var viewModel = new ImageIndexViewModel { Profiles = ctx.Profile.ToList(), Messages = ctx.Message.Where(m => m.RecieverId == user).ToList() }; return(View(viewModel)); }
public ActionResult CategoryPage() { var userid = User.Identity.GetUserId(); if (userid == null) { return(RedirectToAction("Login", "Account")); } var viewmodel = new FriendIndexViewModel(); var ctx = new MVCDbContext(); var profiles = new List <Profile>(); //Kollar om variabeln existerar ännu, och isåfall ta ut värdet därifrån. if (Session["categorySaved"] != null) { var chosencategory = (Session["categorySaved"]).ToString(); viewmodel.Category = chosencategory; //Hämtar ut de kategori-rader som har den specifika kategorin var categories = ctx.Category.Where(c => c.CategoryName == chosencategory).ToList(); foreach (var c in categories) { //Plockar ut profilerna som finns i category-tabellen och den som kategoriserat dem är användaren. if (c.CategorizerId.Equals(userid)) { var profile = ctx.Profile.FirstOrDefault(p => p.ProfileId == c.TheCategorizedId); profiles.Add(profile); } } } profiles.RemoveAll(x => x.IsActive == false); viewmodel.Profiles = profiles; return(View(viewmodel)); }
public GraphQLAppQuery(MVCDbContext contextMVC) { Name = "Query"; Field <ListGraphType <TeamType> >( "teams", resolve: context => contextMVC.Team.ToList() ); Field <TeamType>( "team", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "teamId" }), // lowercase resolve: context => contextMVC.Team.FindAsync(context.GetArgument <int>("teamId")) // lowercase ); Field <ListGraphType <PlayerType> >( "players", resolve: context => contextMVC.Player.ToList() ); Field <PlayerType>( "player", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "playerId" }), resolve: context => contextMVC.Player.FindAsync(context.GetArgument <int>("playerId")) ); }
public void ActivateAccount(string userid) { var ctx = new MVCDbContext(); var profile = ctx.Profile.FirstOrDefault(u => u.ProfileId == userid); profile.IsActive = true; ctx.SaveChanges(); }
protected override void Dispose(bool disposing) { if (dbContext != null) { dbContext.Dispose(); } dbContext = null; base.Dispose(disposing); }
public PlayerType(MVCDbContext _contextMVC) { Name = "Player"; Field(x => x.PlayerId).Description("The id of the Player"); Field(x => x.Name).Description("The name of the Player"); Field <TeamType>("Team", resolve: context => _contextMVC.Team.FindAsync(context.Source.TeamId)); }
public void DeleteMessage(string messageid) { var ctx = new MVCDbContext(); int messageInt = Int32.Parse(messageid); var message = ctx.Message.FirstOrDefault(u => u.MessageId == messageInt); ctx.Message.Remove(message); ctx.SaveChanges(); }
public Course Post(Course course) { using (MVCDbContext entities = new MVCDbContext()) { entities.Courses.Add(course); entities.SaveChanges(); } return(course); }
public ActionResult EditProfileData() { var ctx = new MVCDbContext(); var userid = User.Identity.GetUserId(); var profile = new Profile(); profile = ctx.Profile.FirstOrDefault(u => u.ProfileId == userid); return(View(profile)); }
public TeamType(MVCDbContext _contextMVC) { Name = "Team"; Field(x => x.TeamId).Description("The id of the Team"); Field(x => x.Name).Description("The name of the Team"); Field <ListGraphType <PlayerType> >( "players", resolve: context => _contextMVC.Player.Where(x => x.TeamId == context.Source.TeamId) ); }
public ActionResult Dismiss(string profileId) { var ctx = new MVCDbContext(); var userId = User.Identity.GetUserId(); var profil = new Profile(); var request = ctx.Request.FirstOrDefault(r => r.AskerId == profileId && r.GetterId == userId); ctx.Request.Remove(request); ctx.SaveChanges(); return(RedirectToAction("Index", "Request")); }
public void AddMessage(string textObj, string recieverObj) { var ctx = new MVCDbContext(); var message = new Message { AuthorId = User.Identity.GetUserId(), RecieverId = recieverObj, Date = DateTime.Now, MessageText = textObj }; ctx.Message.Add(message); ctx.SaveChanges(); }
public ActionResult EditProfileData(Profile model) { var ctx = new MVCDbContext(); var userID = User.Identity.GetUserId(); Profile pro = ctx.Profile.FirstOrDefault(u => u.ProfileId == userID); pro.FirstName = model.FirstName; pro.LastName = model.LastName; pro.Gender = model.Gender; pro.Age = model.Age; pro.Sexuality = model.Sexuality; ctx.SaveChanges(); return(RedirectToAction("ListProfileData")); }
public ActionResult Index() { var userId = User.Identity.GetUserId(); var ctx = new MVCDbContext(); //Hämtar ut alla profiler förutom användaren som är inloggad, och randomizar listan) var chosenProfiles = ctx.Profile.Where(p => p.ProfileId != userId).OrderBy(p => Guid.NewGuid()).ToList(); var viewModel = new ProfileIndexViewModel { Profiles = chosenProfiles, }; viewModel.Profiles.RemoveAll(x => x.IsActive == false); return(View(viewModel)); }
public ActionResult Index(string profileId) { var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } // Sparar ner profilid i en variabel som kan nås i SendRequest-metoden när man skickar vänförfrågan. Session["usid"] = profileId; var ctx = new MVCDbContext(); var profileActive = ctx.Profile.FirstOrDefault(p => p.ProfileId == userId); // Om ens konto är inaktiverat kommer man redirectas till ens redigeringssida. if (!profileActive.IsActive) { return(RedirectToAction("EditProfileData", "Profile")); } var profileList = ctx.Profile.ToList(); var chosenProfile = new ChosenProfileView(); var profileExist = ctx.Profile.FirstOrDefault(p => p.ProfileId == profileId); // Tre olika variabler som kollar ifall man redan har skickat förfrågan, har fått en förfrågan, eller är vänner redan. var alreadyFriend = ctx.Relation.FirstOrDefault (p => (p.FriendId == profileId || p.UserId == profileId) && (p.FriendId == userId || p.UserId == userId)); var pendingRequest = ctx.Request.FirstOrDefault (p => (p.GetterId == userId) && (p.AskerId == profileId)); var alreadySent = ctx.Request.FirstOrDefault (p => (p.AskerId == userId) && (p.GetterId == profileId)); chosenProfile.Relation = alreadyFriend; chosenProfile.Requests = pendingRequest; chosenProfile.SentRequest = alreadySent; if (profileExist != null) { chosenProfile.Messages = ctx.Message.ToList(); chosenProfile.Profile = profileExist; chosenProfile.personalMessages = ctx.Message.Where(m => m.RecieverId == profileId).OrderByDescending(m => m.Date).ToList(); } return(View(chosenProfile)); }
public ActionResult UploadPhoto(HttpPostedFileBase ImagePath) { if (ModelState.IsValid) { try { if (ImagePath != null) { //Validering som ser till att filformatet måste vara JPEG, JPG eller PNG. var checkextension = Path.GetExtension(ImagePath.FileName).ToLower(); if (checkextension.ToLower().Contains(".jpg") || checkextension.ToLower().Contains(".jpeg") || checkextension.Contains(".png")) { //Ser till att sökvägen för bilden sparas likadant string path = System.IO.Path.Combine(Server.MapPath("~/Images"), System.IO.Path.GetFileName(ImagePath.FileName)); string relativePath = System.IO.Path.Combine("~/Images/" + ImagePath.FileName); var ctx = new MVCDbContext(); var userId = User.Identity.GetUserId(); Profile profile = ctx.Profile.FirstOrDefault(p => p.ProfileId == userId); if (profile != null) { profile.ImagePath = relativePath; ImagePath.SaveAs(path); ctx.SaveChanges(); ViewBag.FileStatus = "File uploaded successfully."; } else { ViewBag.FileStatus = "Write in your information first."; } } else { return(RedirectToAction("EditProfileData")); } } } catch (Exception) { ViewBag.FileStatus = "Error while file uploading."; } } return(RedirectToAction("ListProfileData")); }
public ActionResult Accept(string profileId) { var ctx = new MVCDbContext(); var req = ctx.Request.FirstOrDefault(p => p.AskerId == profileId); var relation = new Relation(); relation.UserId = User.Identity.GetUserId(); relation.FriendId = profileId; // Tar bort förfrågan från request-tabellen och lägger in i relation-tabellen istället. ctx.Request.Remove(req); ctx.Relation.Add(relation); ctx.SaveChanges(); return(RedirectToAction("Index", "Request")); }
public ActionResult AddAndEditProfileData(Profile model, HttpPostedFileBase ImagePath) { var ctx = new MVCDbContext(); var p = new Profile { ProfileId = User.Identity.GetUserId(), FirstName = model.FirstName, LastName = model.LastName, Age = model.Age, Gender = model.Gender, Sexuality = model.Sexuality, //Alla nya medlemmar får värdet true i databasen för att visa att de har aktiverade konton. IsActive = true }; try { var checkextension = Path.GetExtension(ImagePath.FileName).ToLower(); if (checkextension.ToLower().Contains(".jpg") || checkextension.ToLower().Contains(".jpeg") || checkextension.Contains(".png")) { // path skapar sökväg för att lägga in bilden i projektmappen Images string path = System.IO.Path.Combine(Server.MapPath("~/Images"), System.IO.Path.GetFileName(ImagePath.FileName)); // relativePath skapar den relativa sökvägen som läggs in i databasen string relativePath = System.IO.Path.Combine("~/Images/" + ImagePath.FileName); var userId = User.Identity.GetUserId(); p.ImagePath = relativePath; ctx.Profile.Add(p); ImagePath.SaveAs(path); ctx.SaveChanges(); ViewBag.FileStatus = "Photo uploaded successfully."; } else { ViewBag.FileStatus = "Only .JPEG and .PNG allowed"; } } catch (Exception) { ViewBag.FileStatus = "Error while photo uploading."; } ViewBag.EditStatus = "Successful registration"; return(RedirectToAction("ListProfileData")); }
private static SqliteConnection CreateDatabaseAndGetConnection() { var connection = new SqliteConnection("Data Source=:memory:"); connection.Open(); var options = new DbContextOptionsBuilder <MVCDbContext>() .UseSqlite(connection) .Options; using (var context = new MVCDbContext(options)) { context.GetService <IRelationalDatabaseCreator>().CreateTables(); } return(connection); }
//Metod som hämtar profildata för den inloggade profilen samt sparar ner denna info i en XML-fil. public ActionResult DownloadProfile() { var ctx = new MVCDbContext(); var userid = User.Identity.GetUserId(); var profile = ctx.Profile.FirstOrDefault(p => p.ProfileId == userid); //Skapar namnet på filen och sökvägen där filen ska skapas var path = System.Web.Hosting.HostingEnvironment.MapPath("~/SavedProfiles/" + userid + ".txt"); var serializer = new XmlSerializer(typeof(Profile)); var writer = new StreamWriter(path); serializer.Serialize(writer, profile); writer.Close(); return(RedirectToAction("EditProfileData")); }
public ActionResult SearchProfile(string SearchText) { var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } var ctx = new MVCDbContext(); var profiles = ctx.Profile.Where(p => p.ProfileId != userId).ToList(); var profileActive = ctx.Profile.FirstOrDefault(p => p.ProfileId == userId); if (!profileActive.IsActive) { return(RedirectToAction("EditProfileData", "Profile")); } if (!string.IsNullOrEmpty(SearchText)) { string[] names = SearchText.Split(' '); List <Profile> result; if (names.Length == 1) { result = profiles.Where( p => (p.FirstName.ToLower().Contains(SearchText.ToLower()) || p.LastName.ToLower().Contains(SearchText.ToLower())) && p.IsActive == true ).ToList(); } else { result = profiles.Where(p => (p.FirstName.ToLower().Contains(names[0].ToLower()) && p.LastName.ToLower().Contains(names[1].ToLower())) && p.IsActive == true).ToList(); } return(View(result)); } else { profiles.Clear(); return(View(profiles)); } }
public bool CheckCompatibility(string profileid) { var ctx = new MVCDbContext(); var userid = User.Identity.GetUserId(); var user = ctx.Profile.FirstOrDefault(p => p.ProfileId == userid); var profil1 = ctx.Profile.FirstOrDefault(p => p.ProfileId == profileid); var userGender = user.Gender; var profileGender = profil1.Gender; bool sameGender = false; bool isCompatible = false; //Validering som matchar de olika profilerna med varandra. if (userGender == profileGender) { if (user.Gender != "Non-Binary") { sameGender = true; } } if ((user.Sexuality == "Heterosexual" && profil1.Sexuality == "Heterosexual") && sameGender == false) { isCompatible = true; } if ((user.Sexuality == "Homosexual" && profil1.Sexuality == "Homosexual") && sameGender == true) { isCompatible = true; } if (user.Gender == "Non-Binary" && profil1.Gender == "Non-Binary") { isCompatible = true; } if ((user.Sexuality == "Bisexual" && profil1.Sexuality == "Bisexual") && (sameGender == true || sameGender == false)) { isCompatible = true; } return(isCompatible); }
public void InsertVisit(string profileid) { var ctx = new MVCDbContext(); var userid = User.Identity.GetUserId(); var visitExist = ctx.Visitor.FirstOrDefault(v => v.UserId == profileid && v.VisitorId == userid); if (visitExist != null) { ctx.Visitor.Remove(visitExist); } var newVisit = new Visit { VisitorId = userid, UserId = profileid }; ctx.Visitor.Add(newVisit); ctx.SaveChanges(); }
// GET: FriendList public ActionResult Index() { var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } var ctx = new MVCDbContext(); var profileActive = ctx.Profile.FirstOrDefault(p => p.ProfileId == userId); if (!profileActive.IsActive) { return(RedirectToAction("EditProfileData", "Profile")); } var viewmodel = new FriendIndexViewModel(); //Fyller listan med de rader där användaren är den som kategoriserar. viewmodel.Categories = ctx.Category.Where(p => p.CategorizerId == userId).ToList(); viewmodel.Relations = ctx.Relation.ToList(); var friendList = new List <Profile>(); foreach (var r in viewmodel.Relations) { if (r.UserId.Equals(userId) || r.FriendId.Equals(userId)) { //Lägger till de profiler som personen har en relation med. var profile = ctx.Profile.FirstOrDefault( p => (p.ProfileId == r.FriendId || p.ProfileId == r.UserId) && (p.ProfileId != userId)); friendList.Add(profile); } } friendList.RemoveAll(x => x.IsActive == false); viewmodel.Profiles = friendList; return(View(viewmodel)); }
public ActionResult RemoveFriend(string profileId) { var ctx = new MVCDbContext(); var userId = User.Identity.GetUserId(); //Hämtar den specifika relationen så den kan raderas. var person = ctx.Relation.FirstOrDefault(p => (p.UserId == profileId || p.FriendId == profileId) && (p.UserId == userId || p.FriendId == userId)); // Tar bort kategorin från databasen om användaren har gett en till den andra personen. var category = ctx.Category.FirstOrDefault(p => p.CategorizerId == userId && p.TheCategorizedId == profileId); if (category != null) { ctx.Category.Remove(category); } ctx.Relation.Remove(person); ctx.SaveChanges(); return(RedirectToAction("Index", "FriendList")); }
public void ChangeCategory(string category, string id) { var ctx = new MVCDbContext(); var user = User.Identity.GetUserId(); var newCategory = new Category { CategorizerId = user, TheCategorizedId = id, CategoryName = category }; var categoryExist = ctx.Category.FirstOrDefault(c => c.CategorizerId == user && c.TheCategorizedId == id); if (categoryExist != null) { ctx.Category.Remove(categoryExist); } ctx.Category.Add(newCategory); ctx.SaveChanges(); }
//Räknar hur många förfrågningar den inloggade användaren har och returnerar antalet till headerns notisfunktion. public int CountRequest() { var count = 0; var ctx = new MVCDbContext(); var userID = User.Identity.GetUserId(); var request = ctx.Request.Where(r => r.GetterId == userID).ToList(); var profiles = ctx.Profile.ToList(); count = request.Count(); foreach (var r in request) { // Tar bort från antalet om det finns profiler som är avaktiverade som skickat förfrågan till användaren. if (r.Asker.IsActive == false) { count--; } } return(count); }
public ActionResult Index() { var user = User.Identity.GetUserId(); if (user == null) { return(RedirectToAction("Login", "Account")); } var ctx = new MVCDbContext(); var profileActive = ctx.Profile.FirstOrDefault(p => p.ProfileId == user); if (!profileActive.IsActive) { return(RedirectToAction("EditProfileData", "Profile")); } var viewmodel = new ProfileIndexViewModel(); // Hämtar de förfrågningar som hör till användaren. viewmodel.Requests = ctx.Request.Where(p => p.GetterId == user).ToList(); var profiles = new List <Profile>(); //Hämtar ut de profiler som skrivit meddelandena. foreach (var r in viewmodel.Requests) { if (r.GetterId.Equals(user)) { var profile = ctx.Profile.FirstOrDefault(p => p.ProfileId == r.AskerId); profiles.Add(profile); } } // Tar bort de profiler som är avaktiverade. profiles.RemoveAll(x => x.IsActive == false); viewmodel.Profiles = profiles; return(View(viewmodel)); }
public List <Profile> GetVisits() { var userid = User.Identity.GetUserId(); var ctx = new MVCDbContext(); var visitlist = ctx.Visitor.ToList(); var profilelist = new List <Profile>(); foreach (var v in visitlist) { if (v.UserId == userid) { var profile = ctx.Profile.FirstOrDefault(p => p.ProfileId == v.VisitorId); if (profilelist.Count < 5) { profilelist.Add(profile); } } } profilelist.Reverse(); return(profilelist); }
public ActionResult SendRequest() { // Tar värdet som tidigare lagrats i usid-variabeln från metoden som laddade in sidan. var profilevis = (Session["usid"]).ToString(); var userId = User.Identity.GetUserId(); var ctx = new MVCDbContext(); // Kollar om det redan finns en förfrågan. var RequestPending = ctx.Request.FirstOrDefault(r => r.GetterId == profilevis && r.AskerId == userId); if (RequestPending == null) { var request = new FriendRequest { AskerId = userId, GetterId = profilevis }; ctx.Request.Add(request); ctx.SaveChanges(); } return(RedirectToAction("Index", "VisitPage", new { profileId = profilevis })); }