//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)); }
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 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")); }
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 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 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 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 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 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 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 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 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 ActionResult FollowCategory(int categoryID) { var ctx = new OruBloggenDbContext(); var userID = User.Identity.GetUserId(); ctx.Notifications.Add(new NotificationModel { UserID = userID, FollowCategoryID = categoryID, }); ctx.SaveChanges(); return(RedirectToAction("ShowInfo", "ProfilePage")); }
public ActionResult RemoveProject(int projectID) { var ctx = new OruBloggenDbContext(); var project = ctx.Projects.FirstOrDefault(p => p.ProjectID == projectID); var fileList = ctx.ProjectFiles.Where(f => f.ProjectID == projectID); var comments = ctx.ProjectComments.Where(c => c.ProjectID == project.ProjectID).ToList(); foreach (var comment in comments) { ctx.ProjectComments.Remove(comment); } ctx.SaveChanges(); foreach (var file in fileList) { ctx.ProjectFiles.Remove(file); } ctx.SaveChanges(); ctx.Projects.Remove(project); ctx.SaveChanges(); return(RedirectToAction("Project")); }
// GET: Calendar public ActionResult Index() { var ctx = new OruBloggenDbContext(); var meetings = ctx.Meetings.ToList(); foreach (var meeting in meetings) { if (meeting.MeetingActive) { if (DateTime.Now > meeting.MeetingEndDate) { meeting.MeetingActive = false; } } } ctx.SaveChanges(); return(View()); }
public string CommentProject(int projectID, string comment) { var ctx = new OruBloggenDbContext(); var userID = User.Identity.GetUserId(); var userName = ctx.Users.FirstOrDefault(u => u.UserID == userID).UserFirstname + " " + ctx.Users.FirstOrDefault(u => u.UserID == userID).UserLastname; var commentObject = new ProjectCommentModel { Comment = comment, CommentDate = DateTime.Now, ProjectID = projectID, UserCommentID = userID, UserCommentName = userName }; ctx.ProjectComments.Add(commentObject); ctx.SaveChanges(); return(userName); }
public ActionResult RespondToMessage(string MessageTitle, string MessageText, string Users) { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); var sender = ctx.Users.Find(userId); var name = sender.UserFirstname + " " + sender.UserLastname; var message = name + " har skickat ett meddelande: " + MessageText; ctx.Messages.Add(new MessageModel { MessageReceiverID = Users, MessageSenderID = userId, MessageTitle = MessageTitle, MessageText = message }); ctx.SaveChanges(); return(RedirectToAction("ShowMessages")); }
public ActionResult AddCategory(string category, bool isFormal) { var ctx = new OruBloggenDbContext(); ctx.Categories.Add(new CategoryModel { CategoryName = category, IsFormel = isFormal }); ctx.SaveChanges(); if (isFormal) { return(RedirectToAction("FormalPost")); } else { return(RedirectToAction("InformalPost")); } }
public ActionResult AddPost(HomePostViewModel post, HttpPostedFileBase[] file) { var ctx = new OruBloggenDbContext(); var userID = User.Identity.GetUserId(); if (!string.IsNullOrEmpty(post.AddPostViewModel.PostTitle) && !string.IsNullOrEmpty(post.AddPostViewModel.PostText)) { ctx.Posts.Add(new PostModel { PostTitle = post.AddPostViewModel.PostTitle, PostText = post.AddPostViewModel.PostText, PostDate = DateTime.Now, PostFormal = post.AddPostViewModel.PostFormal, PostUserID = userID, PostCategoryID = int.Parse(post.AddPostViewModel.PostCategory) }); ctx.SaveChanges(); if (file != null) { foreach (var oneFile in file) { SaveFile(oneFile); } } } NotificationController notificationController = new NotificationController(); notificationController.SendPostPm(userID, post.AddPostViewModel.PostTitle, post.AddPostViewModel.PostText, DateTime.Now, post.AddPostViewModel.PostFormal, int.Parse(post.AddPostViewModel.PostCategory)); if (post.AddPostViewModel.PostFormal) { return(RedirectToAction("FormalPost")); } else { return(RedirectToAction("InformalPost")); } }
private void SaveFile(HttpPostedFileBase file, PostModel post) { var ctx = new OruBloggenDbContext(); if (file != null) { string fileType = Path.GetExtension(file.FileName).ToLower(); string fileName = Path.GetFileNameWithoutExtension(file.FileName) + " (" + post.PostID + ")"; var filePath = fileName.ToString() + fileType; string path = Path.Combine(Server.MapPath("~/PostFiles/" + filePath)); file.SaveAs(path); ctx.PostFiles.Add(new PostFilesModel { PostID = post.PostID, FilePath = filePath }); ctx.SaveChanges(); } }
private void SaveFile(HttpPostedFileBase file) { var ctx = new OruBloggenDbContext(); var project = ctx.Projects.OrderByDescending(p => p.ProjectID).FirstOrDefault(); if (file != null) { string fileType = Path.GetExtension(file.FileName).ToLower(); string fileName = Path.GetFileNameWithoutExtension(file.FileName) + " (" + project.ProjectID + ")"; var filePath = fileName.ToString() + fileType; string path = Path.Combine(Server.MapPath("~/ProjectFiles/" + filePath)); file.SaveAs(path); ctx.ProjectFiles.Add(new ProjectFilesModel { ProjectID = project.ProjectID, FilePath = filePath }); ctx.SaveChanges(); } }
public ActionResult ChosenNotifications(bool isActive, string value) { var ctx = new OruBloggenDbContext(); var currentUser = User.Identity.GetUserId(); var userModel = ctx.Users.FirstOrDefault(u => u.UserID == currentUser); if (value == "pm") { userModel.UserPmNotification = isActive; } else if (value == "sms") { userModel.UserSmsNotification = isActive; } else { userModel.UserEmailNotification = isActive; } ctx.SaveChanges(); return(RedirectToAction("ProfileRedirect", "ProfilePage")); }
public ActionResult CreateMeeting(MeetingViewModel model) { var ctx = new OruBloggenDbContext(); var userId = User.Identity.GetUserId(); var notification = new NotificationController(); var body = "Du har blivit inbjuden till " + model.Meeting.MeetingTitle + Environment.NewLine + "Startdatum: " + model.Meeting.MeetingStartDate.ToShortDateString() + " " + model.Meeting.MeetingStartDate.ToShortTimeString() + Environment.NewLine + "Slutdatum: " + model.Meeting.MeetingEndDate.ToShortDateString() + " " + model.Meeting.MeetingEndDate.ToShortTimeString() + Environment.NewLine + "Beskrivning: " + model.Meeting.MeetingDesc; var meeting = ctx.Meetings.Add(new MeetingModel { MeetingTitle = model.Meeting.MeetingTitle, MeetingDesc = model.Meeting.MeetingDesc, MeetingStartDate = model.Meeting.MeetingStartDate, MeetingEndDate = model.Meeting.MeetingEndDate, MeetingUserID = User.Identity.GetUserId() }); ctx.SaveChanges(); var appCtx = new ApplicationDbContext(); var emails = new List <string>(); var phoneNumbers = new List <string>(); var pmReceivers = new List <UserModel>(); if (model.SelectedUserIds != null) { foreach (var item in model.SelectedUserIds) { ctx.UserMeetings.Add(new UserMeetingModel { MeetingID = ctx.Meetings.OrderByDescending(m => m.MeetingID).First().MeetingID, UserID = item }); var user = ctx.Users.FirstOrDefault(u => u.UserID.Equals(item)); if (user.UserEmailNotification == true) { emails.Add(appCtx.Users.FirstOrDefault(u => u.Id.Equals(user.UserID)).Email); } if (user.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.UserPmNotification == true) { notification.SendReminderPM(user.UserID, meeting.MeetingTitle, meeting.MeetingDesc, body, meeting.MeetingStartDate, meeting.MeetingEndDate); } } } ctx.SaveChanges(); notification.SendEmail(emails, "Inbjudan till möte", body); //foreach (var number in phoneNumbers) //{ // notificationController.SendSms(number, body); //} //notificationController.SendMeetingPm(userId, pmReceivers, model.Meeting.MeetingTitle, model.Meeting.MeetingDesc, model.Meeting.MeetingStartDate, model.Meeting.MeetingEndDate); //return RedirectToAction("MeetingDetails", new { id = meeting.MeetingID}); return(RedirectToAction("Index", "MeetingCalendar")); }
public ActionResult DeclinePost(int postID, int reportID) { var report = ctx.PostReports.FirstOrDefault(r => r.PostReportID == reportID); ctx.PostReports.Remove(report); ctx.SaveChanges(); var fileList = ctx.PostFiles.Where(f => f.PostID == postID); foreach (var file in fileList) { ctx.PostFiles.Remove(file); } ctx.SaveChanges(); var post = ctx.Posts.FirstOrDefault(p => p.PostID == postID); ctx.Posts.Remove(post); ctx.SaveChanges(); return(RedirectToAction("ReportDetails")); }