public ActionResult Edit(OrgGroup orgGroup)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    db.Entry(orgGroup).State = EntityState.Modified;
                    db.SaveChanges();

                    // UPON CREATING A GROUP - LOG THE EVENT
                    var orgeventlog = new Org_Events_Log()
                    {
                        Org_Event_SubjectId       = orgGroup.OrgGroupId.ToString(),
                        Org_Event_SubjectName     = orgGroup.GroupName,
                        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_Group
                    };
                    db.Org_Events_Logs.Add(orgeventlog);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                ViewBag.GroupTypeId = new SelectList(db.GroupTypes, "GroupTypeId", "GroupTypeName", orgGroup.GroupTypeId);
                ViewBag.OrgId       = new SelectList(db.Orgs, "OrgId", "OrgName", orgGroup.OrgId);
                return(View(orgGroup));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
        }
        // POST: OrgGroups/Delete/5
        public ActionResult DeleteConfirmed(int id)
        {
            try
            {
                if (Session["OrgId"] == null)
                {
                    return(RedirectToAction("Signin", "Access"));
                }
                OrgGroup orgGroup = db.OrgGroups.Find(id);
                db.OrgGroups.Remove(orgGroup);
                db.SaveChanges();

                // UPON DELETING A GROUP - LOG THE EVENT
                var orgeventlog = new Org_Events_Log()
                {
                    Org_Event_SubjectId       = id.ToString(),
                    Org_Event_SubjectName     = orgGroup.GroupName,
                    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.Deleted_Group
                };
                db.Org_Events_Logs.Add(orgeventlog);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
        }
Exemple #3
0
        // POST: Posts/Delete/5
        public ActionResult DeleteConfirmed(int id)
        {
            try
            {
                Post post = db.Posts.Find(id);
                db.Posts.Remove(post);
                db.SaveChanges();

                // UPON DELETING A POST - LOG THE EVENT
                var orgeventlog = new Org_Events_Log()
                {
                    Org_Event_SubjectId       = id.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.Deleted_Post
                };
                db.Org_Events_Logs.Add(orgeventlog);
                db.SaveChanges();
                return(RedirectToAction("AllPosts"));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
        }
Exemple #4
0
        public ActionResult ArchivePost(int?id)
        {
            try
            {
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);

                var locatepost = db.Posts.AsNoTracking().Where(x => x.PostId == id).Where(x => x.OrgId == i).FirstOrDefault();

                var updt = new Post
                {
                    PostId           = locatepost.PostId,
                    PostTopicId      = locatepost.PostTopicId,
                    OrgId            = locatepost.OrgId,
                    PostSubject      = locatepost.PostSubject,
                    PostCreatorId    = locatepost.PostCreatorId,
                    CreatorFullName  = locatepost.CreatorFullName,
                    PostCreationDate = locatepost.PostCreationDate,
                    PostExpirtyDate  = locatepost.PostExpirtyDate,
                    PostContent      = locatepost.PostContent,
                    SendAsEmail      = locatepost.SendAsEmail,
                    Isarchived       = true
                };
                locatepost = updt;
                db.Entry(locatepost).State = EntityState.Modified;
                db.SaveChanges();


                // UPON ARCHIVING POST - LOG THE EVENT
                var orgeventlog = new Org_Events_Log()
                {
                    Org_Event_SubjectId       = locatepost.PostId.ToString(),
                    Org_Event_SubjectName     = locatepost.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.Archived_Post
                };
                db.Org_Events_Logs.Add(orgeventlog);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
            return(RedirectToAction("AllPosts", "Posts"));
        }
Exemple #5
0
        public ActionResult DeleteConfirmed(int?Id)
        {
            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);

                OrgSchCalendar orgSchCalendar = db.OrgSchCalendars.Find(Id);
                db.OrgSchCalendars.Remove(orgSchCalendar);
                db.SaveChanges();

                //// UPON DELETING A CALNDR EVENT - LOG THE EVENT
                var orgeventlog = new Org_Events_Log()
                {
                    Org_Event_SubjectId       = orgSchCalendar.OrgSchCalendarId.ToString(),
                    Org_Event_SubjectName     = orgSchCalendar.Name,
                    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.Calendar_Event_Deleted
                };
                db.Org_Events_Logs.Add(orgeventlog);
                db.SaveChanges();
                return(RedirectToAction("Index", "Orgs", new { id = i }));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
        }
        public ActionResult Create(OrgGroup orgGroup)
        {
            try
            {
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);


                orgGroup.OrgId               = i;
                orgGroup.GroupName           = orgGroup.GroupName;
                orgGroup.CreationDate        = DateTime.Now;
                orgGroup.GroupTypeId         = 18;
                orgGroup.Group_members_count = 0;
                db.OrgGroups.Add(orgGroup);
                db.SaveChanges();

                // UPON CREATING A GROUP - LOG THE EVENT
                var orgeventlog = new Org_Events_Log()
                {
                    Org_Event_SubjectId       = orgGroup.OrgGroupId.ToString(),
                    Org_Event_SubjectName     = orgGroup.GroupName,
                    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_Group
                };
                db.Org_Events_Logs.Add(orgeventlog);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(View(orgGroup));
            }
            return(new HttpStatusCodeResult(204));
        }
Exemple #7
0
        // POST: StudentGuardians/Delete/5
        public ActionResult DeleteConfirmed(int id)
        {
            try
            {
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);

                // GET GUARDIANS REGUSERID
                var gd_id = db.StudentGuardians.Where(x => x.StudentGuardianId == id).FirstOrDefault();

                // CHECK IF GUARDIAN IS LINKED TO ANY OTHER STUDENT IN THIS ORG - IF NO - DELETE FROM SG /REGUSERORG/ REGUSER - TABLE AND LOG EVENT. CHECK USER IS DELETED FROM GRP LINKED TO CLASS.


                // COUNT HOW MANY STUDENT GUARDIAN IS LINKED TO IN THE DATABASE
                var linked_stud = db.StudentGuardians.Where(x => x.RegisteredUserId == gd_id.RegisteredUserId).Count();
                // IF COUNT OF LINKED STUDENT IS 1 - MEANS GUARDIAN IS ONLY LINKED TO THE STUDENT - WE GO IN THIS CONDITON AND FULLY DELETE GUARDIAN FROM THE SYSTEM.
                if (linked_stud == 1)
                {
                    // LOG EVENT
                    var orgeventlog = new Org_Events_Log()
                    {
                        Org_Event_SubjectId       = gd_id.RegisteredUserId.ToString(),
                        Org_Event_SubjectName     = gd_id.GuardianFullName,
                        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.Deregistered_Guardian
                    };
                    db.Org_Events_Logs.Add(orgeventlog);
                    db.SaveChanges();

                    // UPDATE STUD'S GUARDIAN COUNT.

                    // GET STUD ID
                    var studid       = db.StudentGuardians.Where(x => x.StudentGuardianId == id).Select(x => x.StudentId).FirstOrDefault();
                    var locatestud   = db.RegisteredUsers.AsNoTracking().Where(x => x.RegisteredUserId == studid).FirstOrDefault();
                    var currentcount = db.RegisteredUsers.Where(x => x.RegisteredUserId == studid).Select(x => x.PgCount).FirstOrDefault();

                    var studgaurd = new RegisteredUser
                    {
                        RegisteredUserId     = locatestud.RegisteredUserId,
                        RegisteredUserTypeId = locatestud.RegisteredUserTypeId,
                        FirstName            = locatestud.FirstName,
                        LastName             = locatestud.LastName,
                        Email                     = locatestud.Email,
                        LoginErrorMsg             = locatestud.LoginErrorMsg,
                        Password                  = locatestud.Password,
                        ConfirmPassword           = locatestud.ConfirmPassword,
                        Telephone                 = locatestud.Telephone,
                        SelectedOrg               = locatestud.SelectedOrg,
                        ClassId                   = locatestud.ClassId,
                        GenderId                  = locatestud.GenderId,
                        TribeId                   = locatestud.TribeId,
                        DateOfBirth               = locatestud.DateOfBirth,
                        EnrolmentDate             = locatestud.EnrolmentDate,
                        ReligionId                = locatestud.ReligionId,
                        PrimarySchoolUserRoleId   = locatestud.PrimarySchoolUserRoleId,
                        SecondarySchoolUserRoleId = locatestud.SecondarySchoolUserRoleId,
                        NurserySchoolUserRoleId   = locatestud.NurserySchoolUserRoleId,
                        StudentRegFormId          = locatestud.StudentRegFormId,
                        CreatedBy                 = locatestud.CreatedBy,
                        RegUserOrgBrand           = locatestud.RegUserOrgBrand,
                        FullName                  = locatestud.FirstName + " " + locatestud.LastName,
                        IsTester                  = locatestud.IsTester,
                        TempIntHolder             = locatestud.TempIntHolder,
                        TitleId                   = locatestud.TitleId,
                        RelationshipId            = locatestud.RelationshipId,
                        ClassRef                  = locatestud.ClassRef,
                        PgCount                   = currentcount - 1
                    };
                    locatestud = studgaurd;
                    db.Entry(studgaurd).State = EntityState.Modified;
                    db.SaveChanges();

                    // SOFT DELETE USER
                    // GET USER'S DATA
                    var userdataRu  = db.RegisteredUsers.Where(x => x.RegisteredUserId == gd_id.RegisteredUserId).FirstOrDefault();
                    var userdataRug = db.RegisteredUserOrganisations
                                      .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                      .Where(x => x.OrgId == i)
                                      .FirstOrDefault();
                    var remvuser = new RemovedRegisteredUser
                    {
                        RegisteredUserId        = userdataRu.RegisteredUserId,
                        CreationDate            = DateTime.Now,
                        FirstName               = userdataRu.FirstName,
                        LastName                = userdataRu.LastName,
                        FullName                = userdataRu.FullName,
                        Email                   = userdataRu.Email,
                        Telephone               = userdataRu.Telephone,
                        RegisteredUserType      = userdataRu.RegisteredUserTypeId,
                        PrimarySchoolUserRole   = userdataRug.PrimarySchoolUserRoleId.GetValueOrDefault(),
                        SecondarySchoolUserRole = userdataRug.SecondarySchoolUserRoleId.GetValueOrDefault(),
                        NurserySchoolUserRole   = userdataRug.NurserySchoolUserRoleId.GetValueOrDefault(),
                        OrgId                   = userdataRug.OrgId,
                        ClassId                 = userdataRu.ClassId.GetValueOrDefault(),
                        ClassRef                = userdataRu.ClassRef.GetValueOrDefault(),
                        GenderId                = userdataRu.GenderId.GetValueOrDefault(),
                        ReligionId              = userdataRu.ReligionId.GetValueOrDefault(),
                        StudentRegFormId        = userdataRu.StudentRegFormId.GetValueOrDefault(),
                        RelationshipId          = gd_id.RelationshipId,
                        IsTester                = (bool)userdataRu.IsTester.GetValueOrDefault(),
                        DateOfBirth             = userdataRu.DateOfBirth,
                        LastLogOn               = userdataRug.LastLogOn,
                        EnrolmentDate           = userdataRug.EnrolmentDate.GetValueOrDefault(),
                        EnrolledBy              = Convert.ToInt32(userdataRug.CreatedBy)
                    };
                    db.RemovedRegisteredUsers.Add(remvuser);
                    db.SaveChanges();


                    // REMV FROM PG FROM SG
                    RegisteredUser remv_g = db.RegisteredUsers.Find(gd_id.RegisteredUserId);
                    db.RegisteredUsers.Remove(remv_g);
                    db.SaveChanges();

                    // LOOP THROUGH GROUPS IN ORG AND UPDATE COUNT
                    var orggrp  = db.OrgGroups.Where(x => x.OrgId == i).Select(x => x.OrgGroupId).ToList();
                    var grplist = new List <int>(orggrp);

                    foreach (var grp in grplist)
                    {
                        //UPDATE GROUP COUNT
                        var otherController = DependencyResolver.Current.GetService <RegisteredUsersGroupsController>();
                        var result          = otherController.UpdateGroupMemberCount(grp, i);
                    }
                }
                else
                {
                    // GET THE STUD PG IS BEING UNLINKED FROM
                    var stud_id = db.StudentGuardians.Where(x => x.StudentGuardianId == id).FirstOrDefault();

                    // CHECK HOW MANY STU IN ORG PG IS LINKED TO - IF 1 - REMV PG FROM SG / REGUORG - ONLY
                    var mylinkedstudsinorg = db.StudentGuardians
                                             .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                             .Where(x => x.OrgId == i)
                                             .Select(x => x.RegisteredUserId)
                                             .Count();


                    // COUNT OF mylinkedstudsinorg IS 1 - MEANS PG IS LINKED TO ONLY 1 STUD IN THIS ORG. - REMV PG FROM REGUSERORG / SG / ORGGROUP /TABLE
                    if (mylinkedstudsinorg == 1)
                    {
                        var getpginreguserorg = db.RegisteredUserOrganisations
                                                .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                                .Select(x => x.RegisteredUserOrganisationId)
                                                .FirstOrDefault();

                        // SOFT DELETE USER
                        // GET USER'S DATA
                        var userdataRu = db.RegisteredUsers.Where(x => x.RegisteredUserId == gd_id.RegisteredUserId).FirstOrDefault();

                        var userdataRug = db.RegisteredUserOrganisations
                                          .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                          .Where(x => x.OrgId == i)
                                          .FirstOrDefault();

                        var remvuser = new RemovedRegisteredUser
                        {
                            RegisteredUserId        = userdataRu.RegisteredUserId,
                            CreationDate            = DateTime.Now,
                            FirstName               = userdataRu.FirstName,
                            LastName                = userdataRu.LastName,
                            FullName                = userdataRu.FullName,
                            Email                   = userdataRu.Email,
                            Telephone               = userdataRu.Telephone,
                            RegisteredUserType      = userdataRu.RegisteredUserTypeId,
                            PrimarySchoolUserRole   = userdataRug.PrimarySchoolUserRoleId.GetValueOrDefault(),
                            SecondarySchoolUserRole = userdataRug.SecondarySchoolUserRoleId.GetValueOrDefault(),
                            NurserySchoolUserRole   = userdataRug.NurserySchoolUserRoleId.GetValueOrDefault(),
                            OrgId                   = userdataRug.OrgId,
                            ClassId                 = userdataRu.ClassId.GetValueOrDefault(),
                            ClassRef                = userdataRu.ClassRef.GetValueOrDefault(),
                            GenderId                = userdataRu.GenderId.GetValueOrDefault(),
                            ReligionId              = userdataRu.ReligionId.GetValueOrDefault(),
                            StudentRegFormId        = userdataRu.StudentRegFormId.GetValueOrDefault(),
                            RelationshipId          = stud_id.RelationshipId.GetValueOrDefault(),
                            IsTester                = (bool)userdataRu.IsTester.GetValueOrDefault(),
                            DateOfBirth             = userdataRu.DateOfBirth,
                            LastLogOn               = userdataRug.LastLogOn,
                            EnrolmentDate           = userdataRug.EnrolmentDate.GetValueOrDefault(),
                            EnrolledBy              = Convert.ToInt32(userdataRug.CreatedBy)
                        };
                        db.RemovedRegisteredUsers.Add(remvuser);
                        db.SaveChanges();

                        // REMV FROM REGUSERORG
                        RegisteredUserOrganisation reguserord = db.RegisteredUserOrganisations.Find(getpginreguserorg);
                        db.RegisteredUserOrganisations.Remove(reguserord);
                        db.SaveChanges();


                        // REMV PG FROM ORGGRP -
                        var pginorggrp = db.RegisteredUsersGroups
                                         .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                         .Where(x => x.RegUserOrgId == i)
                                         .Select(x => x.RegisteredUsersGroupsId)
                                         .ToList();

                        var pgingrp = new List <int>(pginorggrp);

                        foreach (var pg in pginorggrp)
                        {
                            RegisteredUsersGroups regusrg = db.RegisteredUsersGroups.Find(pg);
                            db.RegisteredUsersGroups.Remove(regusrg);
                            db.SaveChanges();
                        }
                        // LOG EVENT
                        var orgeventlog = new Org_Events_Log()
                        {
                            Org_Event_SubjectId       = gd_id.RegisteredUserId.ToString(),
                            Org_Event_SubjectName     = stud_id.GuardianFullName,
                            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.Deregistered_Guardian
                        };
                        db.Org_Events_Logs.Add(orgeventlog);
                        db.SaveChanges();


                        // UPDATE STUD'S GUARDIAN COUNT.
                        // GET STUD ID
                        var studid       = db.StudentGuardians.Where(x => x.StudentGuardianId == id).Select(x => x.StudentId).FirstOrDefault();
                        var locatestud   = db.RegisteredUsers.AsNoTracking().Where(x => x.RegisteredUserId == studid).FirstOrDefault();
                        var currentcount = db.RegisteredUsers.Where(x => x.RegisteredUserId == studid).Select(x => x.PgCount).FirstOrDefault();

                        var studgaurd = new RegisteredUser
                        {
                            RegisteredUserId     = locatestud.RegisteredUserId,
                            RegisteredUserTypeId = locatestud.RegisteredUserTypeId,
                            FirstName            = locatestud.FirstName,
                            LastName             = locatestud.LastName,
                            Email                     = locatestud.Email,
                            LoginErrorMsg             = locatestud.LoginErrorMsg,
                            Password                  = locatestud.Password,
                            ConfirmPassword           = locatestud.ConfirmPassword,
                            Telephone                 = locatestud.Telephone,
                            SelectedOrg               = locatestud.SelectedOrg,
                            ClassId                   = locatestud.ClassId,
                            GenderId                  = locatestud.GenderId,
                            TribeId                   = locatestud.TribeId,
                            DateOfBirth               = locatestud.DateOfBirth,
                            EnrolmentDate             = locatestud.EnrolmentDate,
                            ReligionId                = locatestud.ReligionId,
                            PrimarySchoolUserRoleId   = locatestud.PrimarySchoolUserRoleId,
                            SecondarySchoolUserRoleId = locatestud.SecondarySchoolUserRoleId,
                            NurserySchoolUserRoleId   = locatestud.NurserySchoolUserRoleId,
                            StudentRegFormId          = locatestud.StudentRegFormId,
                            CreatedBy                 = locatestud.CreatedBy,
                            RegUserOrgBrand           = locatestud.RegUserOrgBrand,
                            FullName                  = locatestud.FirstName + " " + locatestud.LastName,
                            IsTester                  = locatestud.IsTester,
                            TempIntHolder             = locatestud.TempIntHolder,
                            TitleId                   = locatestud.TitleId,
                            RelationshipId            = locatestud.RelationshipId,
                            ClassRef                  = locatestud.ClassRef,
                            PgCount                   = currentcount - 1
                        };
                        locatestud = studgaurd;
                        db.Entry(studgaurd).State = EntityState.Modified;
                        db.SaveChanges();



                        // REMV FROM PG FROM SG
                        StudentGuardian studgd = db.StudentGuardians.Find(id);
                        db.StudentGuardians.Remove(studgd);
                        db.SaveChanges();
                    }
                    else
                    {
                        // GET STUD CLASS GRP ID
                        var studclassGrpid = db.StudentGuardians
                                             .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                             .Where(x => x.OrgId == i)
                                             .Where(x => x.StudentId == stud_id.StudentId)
                                             .Select(x => x.Stu_class_Org_Grp_id)
                                             .FirstOrDefault();

                        // COUNT HOW MANY STUDENTS GD IS LINKED TO IN CLASS
                        var alllinkedstuds = db.StudentGuardians
                                             .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                             .Where(x => x.OrgId == i)
                                             .Where(x => x.Stu_class_Org_Grp_id == studclassGrpid)
                                             .Select(x => x.Stu_class_Org_Grp_id == studclassGrpid)
                                             .Count();


                        // LOOP THRU THE LIST OF STUDENTS PG IS LINKED TO
                        var mylinkedstuds = db.StudentGuardians.Where(x => x.RegisteredUserId == gd_id.RegisteredUserId).Select(x => x.StudentGuardianId).ToList();
                        var linkstudents  = new List <int>(mylinkedstuds);

                        // MORE THAN 1 - LOOP THRU LIST OF STUD AND REMV FROM SG
                        foreach (var std in mylinkedstuds)
                        {
                            if (std == id)
                            {
                                // PG IS LINKED TO ANOTHER STUD IN CLASS - SO WE ONLY REMV RECRD OF LINKED STU N PG IN REGUSRORGGRP
                                if (alllinkedstuds > 1)
                                {
                                    // UPDATE STUD'S GUARDIAN COUNT.
                                    // GET STUD ID
                                    var studid       = db.StudentGuardians.Where(x => x.StudentGuardianId == id).Select(x => x.StudentId).FirstOrDefault();
                                    var locatestud   = db.RegisteredUsers.AsNoTracking().Where(x => x.RegisteredUserId == studid).FirstOrDefault();
                                    var currentcount = db.RegisteredUsers.Where(x => x.RegisteredUserId == studid).Select(x => x.PgCount).FirstOrDefault();

                                    var studgaurd = new RegisteredUser
                                    {
                                        RegisteredUserId     = locatestud.RegisteredUserId,
                                        RegisteredUserTypeId = locatestud.RegisteredUserTypeId,
                                        FirstName            = locatestud.FirstName,
                                        LastName             = locatestud.LastName,
                                        Email                     = locatestud.Email,
                                        LoginErrorMsg             = locatestud.LoginErrorMsg,
                                        Password                  = locatestud.Password,
                                        ConfirmPassword           = locatestud.ConfirmPassword,
                                        Telephone                 = locatestud.Telephone,
                                        SelectedOrg               = locatestud.SelectedOrg,
                                        ClassId                   = locatestud.ClassId,
                                        GenderId                  = locatestud.GenderId,
                                        TribeId                   = locatestud.TribeId,
                                        DateOfBirth               = locatestud.DateOfBirth,
                                        EnrolmentDate             = locatestud.EnrolmentDate,
                                        ReligionId                = locatestud.ReligionId,
                                        PrimarySchoolUserRoleId   = locatestud.PrimarySchoolUserRoleId,
                                        SecondarySchoolUserRoleId = locatestud.SecondarySchoolUserRoleId,
                                        NurserySchoolUserRoleId   = locatestud.NurserySchoolUserRoleId,
                                        StudentRegFormId          = locatestud.StudentRegFormId,
                                        CreatedBy                 = locatestud.CreatedBy,
                                        RegUserOrgBrand           = locatestud.RegUserOrgBrand,
                                        FullName                  = locatestud.FirstName + " " + locatestud.LastName,
                                        IsTester                  = locatestud.IsTester,
                                        TempIntHolder             = locatestud.TempIntHolder,
                                        TitleId                   = locatestud.TitleId,
                                        RelationshipId            = locatestud.RelationshipId,
                                        ClassRef                  = locatestud.ClassRef,
                                        PgCount                   = currentcount - 1
                                    };
                                    locatestud = studgaurd;
                                    db.Entry(studgaurd).State = EntityState.Modified;
                                    db.SaveChanges();

                                    // REMV FROM PG FROM SG
                                    StudentGuardian studgd = db.StudentGuardians.Find(id);
                                    db.StudentGuardians.Remove(studgd);
                                    db.SaveChanges();

                                    // REMV PG FROM ORGGRP -
                                    var pginorggrp = db.RegisteredUsersGroups
                                                     .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                                     .Where(x => x.RegUserOrgId == i)
                                                     .Where(X => X.OrgGroupId == studclassGrpid)
                                                     .Where(x => x.LinkedStudentId == studid)
                                                     .Select(x => x.RegisteredUsersGroupsId).ToList();
                                    var pgingrp = new List <int>(pginorggrp);

                                    foreach (var pg in pginorggrp)
                                    {
                                        RegisteredUsersGroups regusrg = db.RegisteredUsersGroups.Find(pg);
                                        db.RegisteredUsersGroups.Remove(regusrg);
                                        db.SaveChanges();


                                        // LOOP THROUGH GROUPS IN ORG AND UPDATE COUNT
                                        var orggrp  = db.OrgGroups.Where(x => x.OrgId == i).Select(x => x.OrgGroupId).ToList();
                                        var grplist = new List <int>(orggrp);

                                        foreach (var grp in grplist)
                                        {
                                            //UPDATE GROUP COUNT
                                            var otherController = DependencyResolver.Current.GetService <RegisteredUsersGroupsController>();
                                            var result          = otherController.UpdateGroupMemberCount(grp, i);
                                        }
                                    }
                                    //EXIT
                                    return(RedirectToAction("Index"));
                                }
                                // PG IS LINKED TO JUST THIS STUD IN CLASS - SO WE REMV FROM CLASSGRP AND SG TABLE

                                if (alllinkedstuds == 1)
                                {
                                    // REMV PG FROM ORGGRP -
                                    var pginorggrp = db.RegisteredUsersGroups
                                                     .Where(x => x.RegisteredUserId == gd_id.RegisteredUserId)
                                                     .Where(x => x.RegUserOrgId == i)
                                                     .Where(X => X.OrgGroupId == studclassGrpid)
                                                     .Select(x => x.RegisteredUsersGroupsId).ToList();

                                    var pgingrp = new List <int>(pginorggrp);

                                    foreach (var pg in pginorggrp)
                                    {
                                        RegisteredUsersGroups regusrg = db.RegisteredUsersGroups.Find(pg);
                                        db.RegisteredUsersGroups.Remove(regusrg);
                                        db.SaveChanges();

                                        // LOOP THROUGH GROUPS IN ORG AND UPDATE COUNT
                                        var orggrp  = db.OrgGroups.Where(x => x.OrgId == i).Select(x => x.OrgGroupId).ToList();
                                        var grplist = new List <int>(orggrp);

                                        foreach (var grp in grplist)
                                        {
                                            //UPDATE GROUP COUNT
                                            var otherController = DependencyResolver.Current.GetService <RegisteredUsersGroupsController>();
                                            var result          = otherController.UpdateGroupMemberCount(grp, i);
                                        }
                                    }

                                    // UPDATE STUD'S GUARDIAN COUNT.
                                    // GET STUD ID
                                    var studid       = db.StudentGuardians.Where(x => x.StudentGuardianId == id).Select(x => x.StudentId).FirstOrDefault();
                                    var locatestud   = db.RegisteredUsers.AsNoTracking().Where(x => x.RegisteredUserId == studid).FirstOrDefault();
                                    var currentcount = db.RegisteredUsers.Where(x => x.RegisteredUserId == studid).Select(x => x.PgCount).FirstOrDefault();

                                    var studgaurd = new RegisteredUser
                                    {
                                        RegisteredUserId     = locatestud.RegisteredUserId,
                                        RegisteredUserTypeId = locatestud.RegisteredUserTypeId,
                                        FirstName            = locatestud.FirstName,
                                        LastName             = locatestud.LastName,
                                        Email                     = locatestud.Email,
                                        LoginErrorMsg             = locatestud.LoginErrorMsg,
                                        Password                  = locatestud.Password,
                                        ConfirmPassword           = locatestud.ConfirmPassword,
                                        Telephone                 = locatestud.Telephone,
                                        SelectedOrg               = locatestud.SelectedOrg,
                                        ClassId                   = locatestud.ClassId,
                                        GenderId                  = locatestud.GenderId,
                                        TribeId                   = locatestud.TribeId,
                                        DateOfBirth               = locatestud.DateOfBirth,
                                        EnrolmentDate             = locatestud.EnrolmentDate,
                                        ReligionId                = locatestud.ReligionId,
                                        PrimarySchoolUserRoleId   = locatestud.PrimarySchoolUserRoleId,
                                        SecondarySchoolUserRoleId = locatestud.SecondarySchoolUserRoleId,
                                        NurserySchoolUserRoleId   = locatestud.NurserySchoolUserRoleId,
                                        StudentRegFormId          = locatestud.StudentRegFormId,
                                        CreatedBy                 = locatestud.CreatedBy,
                                        RegUserOrgBrand           = locatestud.RegUserOrgBrand,
                                        FullName                  = locatestud.FirstName + " " + locatestud.LastName,
                                        IsTester                  = locatestud.IsTester,
                                        TempIntHolder             = locatestud.TempIntHolder,
                                        TitleId                   = locatestud.TitleId,
                                        RelationshipId            = locatestud.RelationshipId,
                                        ClassRef                  = locatestud.ClassRef,
                                        PgCount                   = currentcount - 1
                                    };
                                    locatestud = studgaurd;
                                    db.Entry(studgaurd).State = EntityState.Modified;
                                    db.SaveChanges();

                                    // REMV FROM PG FROM SG
                                    StudentGuardian studgd = db.StudentGuardians.Find(id);
                                    db.StudentGuardians.Remove(studgd);
                                    db.SaveChanges();
                                }
                            }
                        }
                    };
                };
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(@Class @Class)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (Class.ClassTeacherId == null)
                    {
                        Class.TitleId = null;

                        db.Entry(@Class).State = EntityState.Modified;
                        db.SaveChanges();

                        // Log Event
                        var orgeventlog = new Org_Events_Log()
                        {
                            Org_Event_SubjectId       = Class.ClassTeacherId.ToString(),
                            Org_Event_SubjectName     = Class.ClassName,
                            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.Unassigned_Teacher_From_Class
                        };
                        db.Org_Events_Logs.Add(orgeventlog);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }

                    else
                    {
                        var teacherstitle = db.RegisteredUsers
                                            .Where(x => x.RegisteredUserId == Class.ClassTeacherId)
                                            .Select(x => x.TitleId)
                                            .FirstOrDefault();

                        var teachersName = db.RegisteredUsers
                                           .Where(x => x.RegisteredUserId == Class.ClassTeacherId)
                                           .Select(x => x.FullName)
                                           .FirstOrDefault();

                        Class.ClassTeacherFullName = teachersName;
                        Class.TitleId = teacherstitle;

                        db.Entry(@Class).State = EntityState.Modified;
                        db.SaveChanges();


                        // Log Event
                        var orgeventlog = new Org_Events_Log()
                        {
                            Org_Event_SubjectId       = Class.ClassTeacherId.ToString(),
                            Org_Event_SubjectName     = teachersName + " To " + Class.ClassName,
                            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.Assigned_Teacher_
                        };
                        db.Org_Events_Logs.Add(orgeventlog);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                }
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);

                ViewBag.OrgId          = new SelectList(db.Orgs, "OrgId", "OrgName", @Class.OrgId);
                ViewBag.ClassTeacherId = new SelectList(db.RegisteredUsers
                                                        .Where(x => x.SelectedOrg == i)
                                                        .Where(j => (j.SecondarySchoolUserRoleId == 3) || (j.PrimarySchoolUserRoleId == 4) || (j.NurserySchoolUserRoleId == 3)), "RegisteredUserId", "FullName");
                return(View(@Class));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(View(@Class));
            }
        }
Exemple #9
0
        public ActionResult AssignSubjectTeacher(Subject subject)
        {
            try
            {
                if (Session["OrgId"] == null)
                {
                    return(RedirectToAction("Signin", "Access"));
                }
                if (ModelState.IsValid)
                {
                    if (subject.ClassTeacherId == null)
                    {
                        db.Entry(subject).State = EntityState.Modified;
                        db.SaveChanges();

                        // Log Event
                        var orgeventlog = new Org_Events_Log()
                        {
                            Org_Event_SubjectId       = subject.ClassTeacherId.ToString(),
                            Org_Event_SubjectName     = "From " + subject.SubjectName + " " + "[" + subject.SubjectId + "]",
                            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.Unassigned_Teacher
                        };
                        db.Org_Events_Logs.Add(orgeventlog);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        var taughtby = db.RegisteredUsers.Where(x => x.RegisteredUserId == subject.ClassTeacherId).Select(x => x.FullName).FirstOrDefault();
                        subject.TaughtBy = taughtby;

                        db.Entry(subject).State = EntityState.Modified;
                        db.SaveChanges();

                        var orgid   = subject.SubjectOrgId;
                        var subid   = subject.SubjectId;
                        var classid = subject.ClassId;

                        // Log Event
                        var orgeventlog = new Org_Events_Log()
                        {
                            Org_Event_SubjectId       = subject.ClassTeacherId.ToString(),
                            Org_Event_SubjectName     = taughtby + " To " + subject.SubjectName + " " + "[" + subject.SubjectId + "]",
                            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.Assigned_Teacher
                        };
                        db.Org_Events_Logs.Add(orgeventlog);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Redirect("~/ErrorHandler.html"));
            }
            ViewBag.ClassId = new SelectList(db.Classes, "ClassId", "ClassName", subject.ClassId);
            return(View(subject));
        }
Exemple #10
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"));
            }
        }
Exemple #11
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));
            }
        }
Exemple #12
0
        public ActionResult Create(AddNewOrgSchCalViewModel viewModel)
        {
            try
            {
                if (Request.Browser.IsMobileDevice == true && Session["IsTester"] == null)
                {
                    return(RedirectToAction("WrongDevice", "Orgs"));
                }
                if (Session["OrgId"] == null)
                {
                    return(RedirectToAction("Signin", "Access"));
                }
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);
                var RegisteredUserId = Convert.ToInt32(Session["RegisteredUserId"]);
                var SessionId        = Convert.ToInt32(Session["SessionId"]);

                viewModel.OrgSchCalendar.CreatorId       = RegisteredUserId;
                viewModel.OrgSchCalendar.OrgId           = i;
                viewModel.OrgSchCalendar.CreatorFullName = db.RegisteredUsers.Where(x => x.RegisteredUserId == RegisteredUserId).Select(x => x.FullName).FirstOrDefault();
                viewModel.OrgSchCalendar.CreationDate    = DateTime.Now;
                viewModel.OrgSchCalendar.Isarchived      = false;


                if (!(ModelState.IsValid) || ModelState.IsValid)
                {
                    db.OrgSchCalendars.Add(viewModel.OrgSchCalendar);
                    db.SaveChanges();

                    // UPON CREATING A CALNDR EVENT - LOG THE EVENT
                    var orgeventlog = new Org_Events_Log()
                    {
                        Org_Event_SubjectId       = viewModel.OrgSchCalendar.OrgSchCalendarId.ToString(),
                        Org_Event_SubjectName     = viewModel.OrgSchCalendar.Name,
                        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.Calendar_Event_Created
                    };
                    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 orgschcalndrGrps = new OrgSchCalndrGrp()
                            {
                                OrgSchCalendarId = viewModel.OrgSchCalendar.OrgSchCalendarId,
                                OrgGroupId       = grp,
                                OrgId            = i,
                            };
                            db.OrgSchCalndrGrps.Add(orgschcalndrGrps);
                            db.SaveChanges();
                        }
                    }
                    return(Content(""));
                }
                ViewBag.CalendarCategoryId = new SelectList(db.CalendarCategorys, "CalendarCategoryId", "CategoryName", viewModel.OrgSchCalendar.CalendarCategoryId);
                ViewBag.OrgId = new SelectList(db.Orgs, "OrgId", "OrgName", viewModel.OrgSchCalendar.OrgId);
                return(Content(""));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(View(viewModel));
            }
        }