Esempio n. 1
0
        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"));
            }
        }
Esempio n. 2
0
        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));
            }
        }