public ActionResult Edit(Post post) { try { if (Request.Browser.IsMobileDevice == true && Session["IsTester"] == null) { return(RedirectToAction("WrongDevice", "Orgs")); } if (Session["OrgId"] == null) { return(RedirectToAction("Signin", "Access")); } var sess = Session["OrgId"].ToString(); int i = Convert.ToInt32(sess); // LOOP THRU LIST OF RECORD IN TABLE AND REMOVE var postgrps = db.OrgSchPostGrps .Where(x => x.OrgPostId == post.PostId) .Where(x => x.OrgId == i) .Select(x => x.OrgSchPostGrpId) .ToList(); var orgposttolist = new List <int>(postgrps); foreach (var recrd in postgrps) { var removercrd = db.OrgSchPostGrps .Where(x => x.OrgSchPostGrpId == recrd) .Where(x => x.OrgId == i) .Select(x => x.OrgSchPostGrpId) .FirstOrDefault(); OrgSchPostGrp orgpostgrp = db.OrgSchPostGrps.Find(removercrd); db.OrgSchPostGrps.Remove(orgpostgrp); } // LOOP THRU LIST OF GROUPS PROVIDED var grps = post.OrgGroups.Select(x => x.OrgGroupId).ToList(); var grpstolist = new List <int>(grps); foreach (var grp in grps) { // GET VALUE OF IS-SELECTED var isselected = post.OrgGroups .Where(x => grp == x.OrgGroupId) .Select(x => x.IsSelected) .FirstOrDefault(); if (isselected == true) { var orgPostGrps = new OrgSchPostGrp() { OrgGroupId = grp, OrgId = i, OrgPostId = post.PostId }; db.OrgSchPostGrps.Add(orgPostGrps); db.SaveChanges(); } } if (!(ModelState.IsValid) || ModelState.IsValid) { db.Entry(post).State = EntityState.Modified; db.SaveChanges(); // UPON EDITING A POST - LOG THE EVENT var orgeventlog = new Org_Events_Log() { Org_Event_SubjectId = post.PostId.ToString(), Org_Event_SubjectName = post.PostSubject, Org_Event_TriggeredbyId = Session["RegisteredUserId"].ToString(), Org_Event_TriggeredbyName = Session["FullName"].ToString(), Org_Event_Time = DateTime.Now, OrgId = Session["OrgId"].ToString(), Org_Events_Types = Org_Events_Types.Edited_Post }; db.Org_Events_Logs.Add(orgeventlog); db.SaveChanges(); return(RedirectToAction("AllPosts")); } ViewBag.PostTopicId = new SelectList(db.PostTopics, "PostTopicId", "PostTopicName", post.PostTopicId); ViewBag.OrgId = new SelectList(db.Orgs, "OrgId", "OrgName", post.OrgId); return(View(post)); } catch (Exception e) { Console.WriteLine(e); return(Redirect("~/ErrorHandler.html")); } }
public ActionResult Create1(AddNewPostViewModel viewmodel) { try { var rr = Session["OrgId"].ToString(); int i = Convert.ToInt32(rr); var RegisteredUserId = Convert.ToInt32(Session["RegisteredUserId"]); var SessionId = Convert.ToInt32(Session["SessionId"]); viewmodel.Post.PostCreatorId = RegisteredUserId; viewmodel.Post.OrgId = i; viewmodel.Post.CreatorFullName = db.RegisteredUsers.Where(x => x.RegisteredUserId == RegisteredUserId).Select(x => x.FullName).FirstOrDefault(); viewmodel.Post.PostCreationDate = DateTime.Now; viewmodel.Post.Isarchived = false; // Adding / Saving the Post if (!(ModelState.IsValid) || ModelState.IsValid) { db.Posts.Add(viewmodel.Post); db.SaveChanges(); // UPON CREATING A POST - LOG THE EVENT var orgeventlog = new Org_Events_Log() { Org_Event_SubjectId = viewmodel.Post.PostId.ToString(), Org_Event_SubjectName = viewmodel.Post.PostSubject, Org_Event_TriggeredbyId = Session["RegisteredUserId"].ToString(), Org_Event_TriggeredbyName = Session["FullName"].ToString(), Org_Event_Time = DateTime.Now, OrgId = Session["OrgId"].ToString(), Org_Events_Types = Org_Events_Types.Created_Post }; db.Org_Events_Logs.Add(orgeventlog); db.SaveChanges(); var grps = viewmodel.OrgGroups.Select(x => x.OrgGroupId).ToList(); var grpstolist = new List <int>(grps); foreach (var grp in grps) { // GET VALUE OF IS-SELECTED var isselected = viewmodel.OrgGroups.Where(x => grp == x.OrgGroupId).Select(x => x.IsSelected).FirstOrDefault(); if (isselected == true) { var orgPostGrps = new OrgSchPostGrp() { OrgGroupId = grp, OrgId = i, OrgPostId = viewmodel.Post.PostId, }; db.OrgSchPostGrps.Add(orgPostGrps); db.SaveChanges(); } } } // Send Post as email if Send as Email is True if (viewmodel.Post.SendAsEmail == true) { var send = SendTestEmail(viewmodel.Post.PostContent, viewmodel.Post.PostSubject); } //selected org list var selectedgroups = viewmodel.OrgGroups.Where(x => x.IsSelected == true).Select(x => x.OrgGroupId).ToList(); var selectedgroupid = new List <int>(selectedgroups); return(RedirectToAction("Index", "Orgs", new { id = i })); } catch (Exception e) { Console.WriteLine(e); return(View(viewmodel)); } }