public ActionResult Signin(RegisteredUser registeredUser) { try { var reguserdetails = db.RegisteredUsers.Where(x => x.Email == registeredUser.Email && x.Password == registeredUser.Password).FirstOrDefault(); var orgredirect = db.RegisteredUserOrganisations.Where(x => x.Email == registeredUser.Email.ToString()).Select(x => x.OrgId).FirstOrDefault(); var reguserorg = db.RegisteredUserOrganisations.Where(x => x.Email == registeredUser.Email).Select(x => x.OrgName).FirstOrDefault(); var regUserOrgBrand = db.RegisteredUserOrganisations.Where(x => x.Email == registeredUser.Email).Select(x => x.RegUserOrgBrand).FirstOrDefault(); if (reguserdetails == null) { registeredUser.LoginErrorMsg = "Invalid Email or Password"; return(View("Signin", registeredUser)); } else { Session["RegisteredUserId"] = reguserdetails.RegisteredUserId.ToString(); Session["Email"] = reguserdetails.Email.ToString(); Session["FullName"] = reguserdetails.FullName; Session["RegisteredUserTypeId"] = reguserdetails.RegisteredUserTypeId; Session["OrgId"] = orgredirect; Session["OrgName"] = reguserorg; Session["regUserOrgBrand"] = regUserOrgBrand; Session["regOrgBrandButtonColour"] = db.OrgBrands.Where(x => x.OrgBrandId == regUserOrgBrand).Select(x => x.OrgBrandButtonColour).FirstOrDefault(); Session["regOrgLogo"] = db.Files.Where(x => x.OrgBrandId == regUserOrgBrand).Select(x => x.Content).FirstOrDefault(); Session["IsTester"] = reguserdetails.IsTester; Session["OrgType"] = db.Orgs.Where(x => x.OrgId == orgredirect).Select(x => x.OrgTypeId).FirstOrDefault(); Session["IsAdmin"] = db.RegisteredUsersGroups.Where(x => x.RegisteredUserId == reguserdetails.RegisteredUserId).Where(x => x.RegUserOrgId == orgredirect).Where(x => x.GroupTypeId == 1).Select(x => x.GroupTypeId).FirstOrDefault(); Session["IsParent/Guardian"] = db.StudentGuardians.Where(x => x.RegisteredUserId == reguserdetails.RegisteredUserId && x.OrgId == orgredirect).Select(x => x.GuardianEmailAddress).FirstOrDefault(); } var reguseraccessLogs = new RegUsersAccessLog { OrgId = orgredirect, SessionId = HttpContext.Session.SessionID.ToString(), RegUserId = reguserdetails.RegisteredUserId, UserFullName = reguserdetails.FullName, LogInTime = DateTime.Now, LogOutTime = null }; db.RegUsersAccessLogs.Add(reguseraccessLogs); db.SaveChanges(); //Upon successful logon, update logon date/time column in ReguserOrg Table var rr = Session["OrgId"].ToString(); int i = Convert.ToInt32(rr); var reguserid = db.RegisteredUserOrganisations.AsNoTracking().Where(x => x.RegisteredUserId == reguserdetails.RegisteredUserId).Where(x => x.OrgId == i).FirstOrDefault(); var reguserorgn = new RegisteredUserOrganisation { RegisteredUserOrganisationId = reguserid.RegisteredUserOrganisationId, RegisteredUserId = reguserid.RegisteredUserId, OrgId = reguserid.OrgId, Email = reguserid.Email, FirstName = reguserid.FirstName, LastName = reguserid.LastName, OrgName = reguserid.OrgName, RegUserOrgBrand = reguserid.RegUserOrgBrand, IsTester = reguserid.IsTester, RegisteredUserTypeId = reguserid.RegisteredUserTypeId, PrimarySchoolUserRoleId = reguserid.PrimarySchoolUserRoleId, SecondarySchoolUserRoleId = reguserid.SecondarySchoolUserRoleId, NurserySchoolUserRoleId = reguserid.NurserySchoolUserRoleId, EnrolmentDate = reguserid.EnrolmentDate, CreatedBy = reguserid.CreatedBy, FullName = reguserid.FullName, TitleId = reguserid.TitleId, LastLogOn = DateTime.Now, }; reguserid = reguserorgn; db.Entry(reguserid).State = EntityState.Modified; db.SaveChanges(); if (orgredirect == 23) { return(RedirectToAction("SystemAdminIndex", "Orgs", new { id = orgredirect })); } if (Session["IsParent/Guardian"] != null) { // check status of Isregistered var registeredstatus = db.StudentGuardians .Where(x => x.RegisteredUserId == reguserid.RegisteredUserId) //.Where(x => x.OrgId == reguserid.OrgId) .Where(x => x.IsRegistered == false || x.IsRegistered == null) .Select(x => x.IsRegistered) .ToList(); if (registeredstatus.Count > 0) { // Locate SG in the SG table and set IsRegistered to TRUE var locateGD = db.StudentGuardians.AsNoTracking() .Where(x => x.RegisteredUserId == reguserid.RegisteredUserId) .Where(x => x.IsRegistered == false || x.IsRegistered == null) //.Where(x => x.OrgId == reguserid.OrgId) .FirstOrDefault(); var updategd = new StudentGuardian { StudentGuardianId = locateGD.StudentGuardianId, RegisteredUserId = locateGD.RegisteredUserId, GuardianFirstName = locateGD.GuardianFirstName, GuardianLastName = locateGD.GuardianLastName, GuardianFullName = locateGD.GuardianFullName, GuardianEmailAddress = locateGD.GuardianEmailAddress, DateAdded = locateGD.DateAdded, StudentId = locateGD.StudentId, StudentFullName = locateGD.StudentFullName, OrgId = locateGD.OrgId, TitleId = locateGD.TitleId, RelationshipId = locateGD.RelationshipId, Telephone = locateGD.Telephone, Stu_class_Org_Grp_id = locateGD.Stu_class_Org_Grp_id, IsRegistered = true }; locateGD = updategd; db.Entry(locateGD).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("PGSchCentre", "Orgs", new { id = orgredirect })); } else { return(RedirectToAction("Index", "Orgs", new { id = orgredirect })); } } catch (Exception e) { Console.WriteLine(e); return(View(registeredUser)); } }
// 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(Org org) { try { if (ModelState.IsValid) { db.Entry(org).State = EntityState.Modified; db.SaveChanges(); var changedorg = db.OrgOrgTypes.AsNoTracking().Where(x => x.OrgId == org.OrgId).FirstOrDefault(); var orgorgtype = new OrgOrgType { OrgOrgTypeId = changedorg.OrgOrgTypeId, OrgId = changedorg.OrgId, OrgTypeId = changedorg.OrgTypeId, OrgName = org.OrgName }; changedorg = orgorgtype; db.Entry(changedorg).State = EntityState.Modified; db.SaveChanges(); //Update RegisteredUserOrganisations.Orgname var userlinkedtoorg = db.RegisteredUserOrganisations.Where(x => x.OrgId == changedorg.OrgId).Select(p => p.RegisteredUserId).ToList(); var listofusers = new List <int>(userlinkedtoorg); foreach (var usr in userlinkedtoorg) { var getuser = db.RegisteredUserOrganisations.AsNoTracking().Where(x => x.RegisteredUserId == usr).FirstOrDefault(); var reguserorg = new RegisteredUserOrganisation { RegisteredUserOrganisationId = getuser.RegisteredUserOrganisationId, RegisteredUserId = getuser.RegisteredUserId, OrgId = getuser.OrgId, Email = getuser.Email, FirstName = getuser.FirstName, LastName = getuser.LastName, OrgName = org.OrgName, RegUserOrgBrand = getuser.RegUserOrgBrand, IsTester = getuser.IsTester, RegisteredUserTypeId = getuser.RegisteredUserId, PrimarySchoolUserRoleId = getuser.PrimarySchoolUserRoleId, SecondarySchoolUserRoleId = getuser.SecondarySchoolUserRoleId, EnrolmentDate = getuser.EnrolmentDate, CreatedBy = getuser.CreatedBy, FullName = getuser.FullName, TitleId = getuser.TitleId, LastLogOn = getuser.LastLogOn, RegistrationFlags = getuser.RegistrationFlags, }; getuser = reguserorg; db.Entry(getuser).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("SystemAdminIndex")); } ViewBag.DomainId = new SelectList(db.Domains, "DomainId", "DomainName", org.DomainId); ViewBag.OrgBrandId = new SelectList(db.OrgBrands, "OrgBrandId", "OrgBrandName", org.OrgBrandId); ViewBag.OrgTypeId = new SelectList(db.OrgTypes, "OrgTypeId", "OrgTypeName", org.OrgTypeId); return(View(org)); } catch (Exception e) { Console.WriteLine(e); return(Redirect("~/ErrorHandler.html")); } }