public ActionResult ShowMessages() { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); var messages = ctx.Messages .Where(m => m.MessageReceiverID == userId) .OrderByDescending(m => m.MessageID) .ToList(); foreach (var item in messages) { item.MessageRead = true; ctx.Entry(item).State = EntityState.Modified; } ctx.SaveChanges(); var model = new MessageViewModel() { ListOfMessages = messages, }; return(View(model)); }
public JsonResult GetEvents() { using (var ctx = new OruBloggenDbContext()) { List<CalenderViewModel> meetings = new List<CalenderViewModel>(); var events = ctx.Meetings.ToList(); foreach (var item in events) { foreach (var user in ctx.Users.Where(u => u.UserID == item.MeetingUserID)) { meetings.Add(new CalenderViewModel { MeetingTitle = item.MeetingTitle, MeetingDesc = item.MeetingDesc, MeetingEndDate = item.MeetingEndDate, MeetingStartDate = item.MeetingStartDate, MeetingID = item.MeetingID, MeetingCreator = user.UserFirstname + " " + user.UserLastname }); } } return new JsonResult { Data = meetings, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } }
public JsonResult GetEvents() { var ctx = new OruBloggenDbContext(); List <CalenderViewModel> meetings = new List <CalenderViewModel>(); foreach (var item in ctx.Meetings.ToList()) { var creator = ctx.Users.FirstOrDefault(u => u.UserID.Equals(item.MeetingUserID)); var teamName = ctx.Teams.FirstOrDefault(t => t.TeamID == item.UserModel.UserTeamID).TeamName; meetings.Add(new CalenderViewModel { MeetingTitle = item.MeetingTitle, MeetingDesc = item.MeetingDesc, MeetingEndDate = item.MeetingEndDate, MeetingStartDate = item.MeetingStartDate, MeetingID = item.MeetingID, MeetingCreator = creator.UserFirstname + " " + creator.UserLastname, MeetingActive = item.MeetingActive, TeamName = teamName }); } return(new JsonResult { Data = meetings, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
private void FillPostList(bool isFormal) { var ctx = new OruBloggenDbContext(); var list = new List <PostViewModel>(); if (isFormal) //Listar formella inlägg { foreach (var post in ctx.Posts) { if (post.PostFormal) { AddToHomePostList(post, list); } } } else //Listar informella inlägg { foreach (var post in ctx.Posts) { if (!post.PostFormal) { AddToHomePostList(post, list); } } } HomePostList.PostViewModel = list.OrderByDescending(p => p.PostDate).ToList(); }
public ActionResult CreateProject(ProjectViewModel project, HttpPostedFileBase[] files) { var ctx = new OruBloggenDbContext(); var team = ctx.Teams.FirstOrDefault(t => t.TeamID == project.NewProject.ProjectTeamID).TeamID; var creatorID = User.Identity.GetUserId(); ctx.Projects.Add(new ProjectModel { ProjectType = project.NewProject.ProjectType, ProjectName = project.NewProject.ProjectName, ProjectDesc = project.NewProject.ProjectDesc, ProjectStatus = project.NewProject.ProjectStatus, ProjectTeamID = team, ProjectUserID = creatorID }); ctx.SaveChanges(); if (files != null) { foreach (var file in files) { SaveFile(file); } } return(RedirectToAction("Project")); }
//GET public ActionResult ListCreatedMeetings() { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); var meetingUserView = new MeetingUserViewModel { Meetings = ctx.Meetings.Where(m => m.MeetingUserID.Equals(userId)).ToList(), UserMeetings = ctx.UserMeetings.Where(u => u.UserID.Equals(userId)).ToList() }; foreach (var meeting in meetingUserView.Meetings) { if (meeting.MeetingActive) { if (DateTime.Now > meeting.MeetingEndDate) { meeting.MeetingActive = false; } } } ctx.SaveChanges(); return(View(meetingUserView)); }
private void AddToHomePostList(PostModel post, List <PostViewModel> list) { var ctx = new OruBloggenDbContext(); var categories = ctx.Categories.ToList(); var users = ctx.Users.ToList(); var postSenderName = users.FirstOrDefault(u => u.UserID == post.PostUserID).UserFirstname + " " + users.FirstOrDefault(u => u.UserID == post.PostUserID).UserLastname; string senderImage = users.FirstOrDefault(u => u.UserID == post.PostUserID).UserImagePath; var fileList = ctx.PostFiles.Where(f => f.PostID == post.PostID).ToList(); list.Add(new PostViewModel { PostID = post.PostID, PostTitle = post.PostTitle, PostText = post.PostText, PostDate = post.PostDate, PostCategory = categories.FirstOrDefault(c => c.CategoryID == post.PostCategoryID).CategoryName, PostFormal = post.PostFormal, PostSenderName = postSenderName, PostFilePath = fileList, SenderProfilePath = senderImage, PostSender = post.PostUserID }); }
public ActionResult ChangePost(PostViewModel item, HttpPostedFileBase[] file) { var ctx = new OruBloggenDbContext(); var post = ctx.Posts.FirstOrDefault(p => p.PostID == item.PostID); post.PostTitle = item.PostTitle; post.PostText = item.PostText; ctx.SaveChanges(); if (file != null) { foreach (var oneFile in file) { SaveFile(oneFile, post); } } if (item.PostFormal) { return(RedirectToAction("FormalPost")); } else { return(RedirectToAction("InformalPost")); } }
public ActionResult RemoveMyPost(int postID, bool isFormal) { var ctx = new OruBloggenDbContext(); var reportedPost = ctx.PostReports.FirstOrDefault(p => p.PostID == postID); if (reportedPost != null) { ctx.PostReports.Remove(reportedPost); } var post = ctx.Posts.FirstOrDefault(p => p.PostID == postID); var fileList = ctx.PostFiles.Where(f => f.PostID == postID); foreach (var file in fileList) { ctx.PostFiles.Remove(file); } ctx.Posts.Remove(post); ctx.SaveChanges(); if (isFormal) { return(RedirectToAction("FormalPost")); } else { return(RedirectToAction("InformalPost")); } }
public ActionResult ExportToIcal() { var ctx = new OruBloggenDbContext(); var meetings = ctx.Meetings.ToList(); var sb = new StringBuilder(); sb.AppendLine("BEGIN:VCALENDAR"); sb.AppendLine("PRODID:OruCalendar"); sb.AppendLine("VERSION:2.0"); foreach (var meeting in meetings) { var user = ctx.Users.FirstOrDefault(u => u.UserID.Equals(meeting.MeetingUserID)); sb.AppendLine("BEGIN:VEVENT"); sb.AppendLine("UID:" + meeting.MeetingID); sb.AppendLine("ORGANIZER:" + user.UserFirstname + " " + user.UserLastname); sb.AppendLine("SUMMARY;LANGUAGE=en-us:" + meeting.MeetingTitle); sb.AppendLine("DESCRIPTION:" + meeting.MeetingDesc); sb.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", meeting.MeetingStartDate)); sb.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", meeting.MeetingEndDate)); sb.AppendLine("END:VEVENT"); } sb.AppendLine("END:VCALENDAR"); var bytes = Encoding.UTF8.GetBytes(sb.ToString()); return(File(bytes, "text/calendar", "calendar.ics")); }
public ActionResult CancelMeeting(int meetingId, string title, DateTime startDate) { var ctx = new OruBloggenDbContext(); var appCtx = new ApplicationDbContext(); var userMeetings = ctx.UserMeetings.Where(m => m.MeetingID == meetingId); var applicationUsers = appCtx.Users.ToList(); var emails = new List <string>(); var phoneNumbers = new List <string>(); var notification = new NotificationController(); string ebody = ""; var userList = ctx.Users.ToList() as IEnumerable <UserModel>; //var meetingActive = ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive; if (ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive) { ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive = false; foreach (var user in userMeetings) { userList = userList.Where(u => u.UserID == user.UserID); var body = "Följande möte har blivit inställt: " + user.MeetingModel.MeetingTitle + Environment.NewLine + "Startdatum: " + user.MeetingModel.MeetingStartDate.ToShortDateString() + " " + user.MeetingModel.MeetingStartDate.ToShortTimeString() + Environment.NewLine + "Slutdatum: " + user.MeetingModel.MeetingEndDate.ToShortDateString() + " " + user.MeetingModel.MeetingEndDate.ToShortTimeString() + Environment.NewLine + "Beskrivning: " + user.MeetingModel.MeetingDesc; ebody = body; foreach (var userModel in userList) { if (userModel.UserEmailNotification == true) { emails.Add(applicationUsers.FirstOrDefault(e => e.Id == userModel.UserID).Email); } if (userModel.UserSmsNotification == true) { phoneNumbers.Add(userModel.UserPhoneNumber.ToString()); notification.SendSms(userModel.UserPhoneNumber.ToString(), body); } if (userModel.UserPmNotification == true) { notification.SendReminderPM(user.UserID, user.MeetingModel.MeetingTitle, user.MeetingModel.MeetingDesc, body, user.MeetingModel.MeetingStartDate, user.MeetingModel.MeetingEndDate); } } } ctx.SaveChanges(); var notificationController = new NotificationController(); notificationController.SendEmail(emails, "Mötet är inställt", title + " " + startDate.ToShortDateString() + " är inställt."); } return(RedirectToAction("ShowInfo")); }
public void RemoveComment(int commentID) { var ctx = new OruBloggenDbContext(); var comment = ctx.ProjectComments.FirstOrDefault(c => c.CommentID == commentID); ctx.ProjectComments.Remove(comment); ctx.SaveChanges(); }
public void RemoveFile(int postFileID) { var ctx = new OruBloggenDbContext(); var file = ctx.PostFiles.FirstOrDefault(f => f.PostFileID == postFileID); ctx.PostFiles.Remove(file); ctx.SaveChanges(); }
public async Task <ActionResult> Register(RegisterViewModel model, HttpPostedFileBase image) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); var ctx = new OruBloggenDbContext(); if (image != null) { string fileType = Path.GetExtension(image.FileName).ToLower(); string fileName = user.Id; string path = Path.Combine(Server.MapPath("~/Images/" + fileName + fileType)); model.ImagePath = fileName + fileType; image.SaveAs(path); } else { model.ImagePath = "/noProfileImage.png"; } ctx.Users.Add(new UserModel { UserID = user.Id, UserFirstname = model.Firstname, UserLastname = model.Lastname, UserBirthDate = model.Birthdate, UserPhoneNumber = model.Phonenumber, UserTeamID = int.Parse(model.Team), UserImagePath = model.ImagePath, UserPosition = model.Position }); ctx.SaveChanges(); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public List <NewsModel> NewsList() { var ctx = new OruBloggenDbContext(); var list = new List <NewsModel>(); list = ctx.News.OrderByDescending(n => n.NewsDate).Take(3).ToList(); return(list); }
public void FillReportList() { var ctx = new OruBloggenDbContext(); foreach (var item in ctx.PostReports.ToList()) { HomePostList.PostReportModels.Add(item); } }
public ActionResult Count() { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); var messages = ctx.Messages.Where(u => u.MessageReceiverID == userId).Where(m => m.MessageRead == false).ToList(); return(Content(messages.Count.ToString())); }
public ActionResult AcceptMeeting(int meetingId, bool accepted) { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); ctx.UserMeetings.FirstOrDefault(m => m.MeetingID == meetingId && m.UserID.Equals(userId)).AcceptedInvite = accepted; ctx.SaveChanges(); return(RedirectToAction("ListCreatedMeetings")); }
public ActionResult UpdateStatus(int projectID, string status) { var ctx = new OruBloggenDbContext(); var project = ctx.Projects.FirstOrDefault(p => p.ProjectID == projectID); project.ProjectStatus = status; ctx.SaveChanges(); return(RedirectToAction("Project")); }
public ActionResult ChangePost(PostViewModel post) { var ctx = new OruBloggenDbContext(); var previousPost = ctx.Posts.FirstOrDefault(p => p.PostID == post.PostID); previousPost.PostTitle = post.PostTitle; previousPost.PostText = post.PostText; ctx.SaveChanges(); return(RedirectToAction("AdminPosts")); }
public ActionResult ShowInfo() { var ctx = new OruBloggenDbContext(); var identityCtx = new ApplicationDbContext(); var userId = User.Identity.GetUserId(); var Users = ctx.Users.Find(userId); var identityUser = identityCtx.Users.Find(userId); var teamId = Users.UserTeamID; var team = ctx.Teams.FirstOrDefault(t => t.TeamID == teamId).TeamName; var path = "/Images/" + Users.UserImagePath; var creator = ctx.Meetings.Where(m => m.MeetingUserID.Equals(userId)).ToList(); var invited = ctx.UserMeetings.Where(u => u.UserID.Equals(userId)).Where(u => u.AcceptedInvite == false).ToList(); var accepted = ctx.UserMeetings.Where(u => u.UserID.Equals(userId)).Where(u => u.AcceptedInvite == true).ToList(); foreach (var accept in accepted) { var meeting = ctx.Meetings.FirstOrDefault(m => m.MeetingID == accept.MeetingID); creator.Add(meeting); } creator = creator.OrderBy(u => u.MeetingStartDate).ToList(); creator = creator.Where(u => u.MeetingStartDate >= DateTime.Now).ToList(); invited = invited.Where(u => u.MeetingModel.MeetingUserID != u.UserID).ToList(); var notmodel = ctx.Notifications.Where(t => t.UserID == userId).ToList(); var ListOfCategories = ctx.Categories.ToList(); var model = new ProfilePageViewModel { userId = userId, OtherUserID = userId, ImagePath = path, Firstname = Users.UserFirstname, Lastname = Users.UserLastname, Email = identityUser.Email, PhoneNumber = Users.UserPhoneNumber, Team = team, Position = Users.UserPosition, MeetingModels = creator, UserMeetings = invited, UserEmailNotification = Users.UserEmailNotification, UserPmNotification = Users.UserPmNotification, UserSmsNotification = Users.UserSmsNotification, ListCategories = ListOfCategories, IsFollowed = notmodel, }; return(View(model)); }
public void ReportPost(int postID, string reason) { var ctx = new OruBloggenDbContext(); ctx.PostReports.Add(new PostReportModel { PostID = postID, ReportReason = reason }); ctx.SaveChanges(); }
/// <summary> /// ////////////////////////////////////////////////////////////////////////////// /// </summary> /// <param name="meetingId"></param> /// <param name="title"></param> /// <param name="startDate"></param> /// <returns></returns> public ActionResult CancelMeeting(int meetingId, string title, DateTime startDate) { var ctx = new OruBloggenDbContext(); var appCtx = new ApplicationDbContext(); var notification = new NotificationController(); var emails = new List <string>(); var phoneNumbers = new List <string>(); //var meetingActive = ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive; if (ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive) { ctx.Meetings.FirstOrDefault(m => m.MeetingID == meetingId).MeetingActive = false; var userMeetings = ctx.UserMeetings.Where(m => m.MeetingID == meetingId); string ebody = ""; foreach (var user in userMeetings) { var body = "Du har blivit inbjuden till " + user.MeetingModel.MeetingTitle + Environment.NewLine + "Startdatum: " + user.MeetingModel.MeetingStartDate.ToShortDateString() + " " + user.MeetingModel.MeetingStartDate.ToShortTimeString() + Environment.NewLine + "Slutdatum: " + user.MeetingModel.MeetingEndDate.ToShortDateString() + " " + user.MeetingModel.MeetingEndDate.ToShortTimeString() + Environment.NewLine + "Beskrivning: " + user.MeetingModel.MeetingDesc; ebody = body; if (user.UserModel.UserEmailNotification == true) { emails.Add(appCtx.Users.FirstOrDefault(u => u.Id.Equals(user.UserID)).Email); } if (user.UserModel.UserSmsNotification == true) { phoneNumbers.Add(ctx.Users.FirstOrDefault(u => u.UserID.Equals(user.UserID)).UserPhoneNumber.ToString()); notification.SendSms(ctx.Users.FirstOrDefault(u => u.UserID.Equals(user.UserID)).UserPhoneNumber.ToString(), body); } if (user.UserModel.UserPmNotification == true) { notification.SendReminderPM(user.UserID, user.MeetingModel.MeetingTitle, user.MeetingModel.MeetingDesc, body, user.MeetingModel.MeetingStartDate, user.MeetingModel.MeetingEndDate); } } ctx.SaveChanges(); var notificationController = new NotificationController(); notificationController.SendEmail(emails, "Mötet är inställt", ebody); } return(RedirectToAction("ListCreatedMeetings")); }
public ActionResult UnfollowCategory(int categoryID) { var ctx = new OruBloggenDbContext(); var user = User.Identity.GetUserId(); var notificationId = ctx.Notifications.Where(t => t.UserID == user).Where(t => t.FollowCategoryID == categoryID).Select(t => t.NotificationID).First(); var unfollow = ctx.Notifications.Find(notificationId); ctx.Notifications.Remove(unfollow); ctx.SaveChanges(); return(RedirectToAction("ShowInfo", "ProfilePage")); }
public ActionResult UnfollowUser(string unfollowID) { var ctx = new OruBloggenDbContext(); var user = User.Identity.GetUserId(); var notificationId = ctx.Notifications.Where(t => t.UserID == user).Where(t => t.FollowUserID == unfollowID).Select(t => t.NotificationID).First(); var unfollow = ctx.Notifications.Find(notificationId); ctx.Notifications.Remove(unfollow); ctx.SaveChanges(); return(RedirectToAction("ShowOtherUser", "ProfilePage", new { @id = unfollowID })); }
public ActionResult FollowUser(string followID) { var ctx = new OruBloggenDbContext(); ctx.Notifications.Add(new NotificationModel { UserID = User.Identity.GetUserId(), FollowUserID = followID }); ctx.SaveChanges(); return(RedirectToAction("ShowOtherUser", "ProfilePage", new { @id = followID })); }
public void ListUsers() { var ctx = new OruBloggenDbContext(); List <SelectListItem> List = new List <SelectListItem>(); foreach (var item in ctx.Users) { List.Add(new SelectListItem() { Text = item.UserFirstname + " " + item.UserLastname, Value = item.UserID }); } ViewData["Users"] = List; }
public void SendPmNotification(string userId, string receiverId, string title, string desc) { var ctx = new OruBloggenDbContext(); ctx.Messages.Add(new MessageModel { MessageReceiverID = receiverId, MessageSenderID = userId, MessageTitle = title, MessageText = desc, }); ctx.SaveChanges(); }
public void ListSpecificUser(string userID) { var ctx = new OruBloggenDbContext(); List <SelectListItem> List = new List <SelectListItem>(); foreach (var item in ctx.Users.Where(u => u.UserID.Equals(userID))) { List.Add(new SelectListItem() { Text = item.UserFirstname + " " + item.UserLastname, Value = item.UserID }); } ViewData["Users"] = List; }
public void ListTeams() { var ctx = new OruBloggenDbContext(); List <SelectListItem> list = new List <SelectListItem>(); foreach (var item in ctx.Teams) { list.Add(new SelectListItem() { Text = item.TeamName, Value = item.TeamID.ToString() }); } ViewData["Teams"] = list; }