public JsonResult LoadRegistrationInformation()
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var regInformation =
                        data.Registrations.FirstOrDefault(
                            x => !x.IsDeleted &&
                            x.CredentialId == UserInformation.UserInformationCredential.Id &&
                            x.AdmissionId == UserInformation.Admission.AdmissionId &&
                            x.SessionId == UserInformation.CurrentSession.Id);

                    if (regInformation == null)
                    {
                        return(Json(new { Status = false, Message = "No Information Available to Display. Please Contact Support" },
                                    JsonRequestBehavior.AllowGet));
                    }

                    var dob = regInformation.DateOfBirth?.ToString("dd-MM-yyyy") ?? DateTime.Now.ToString("dd-MM-yyyy");

                    return(Json(new { Status = true, Message = "Succesful", Data = regInformation, DateOfBirth = dob },
                                JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return
                    (Json(
                         new { Status = false, Message = ex.Message },
                         JsonRequestBehavior.AllowGet));
            }
        }
示例#2
0
        public JsonResult MakeCurrentSession(int sessionId)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var newSession = data.Sessions.FirstOrDefault(x => !x.IsDeleted && x.Id == sessionId);
                    if (newSession == null)
                    {
                        return(Json(
                                   new { Status = false, Message = "This Session does not exist. Please select another" },
                                   JsonRequestBehavior.AllowGet));
                    }

                    var oldSession = data.Sessions.FirstOrDefault(x => !x.IsDeleted && x.IsCurrentSession);
                    if (oldSession != null)
                    {
                        oldSession.IsCurrentSession = false;
                    }

                    newSession.IsCurrentSession = true;
                    data.SaveChanges();

                    return(Json(
                               new { Status = true, Message = "Successful Modification" },
                               JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#3
0
        public static void ActivateSession(Credential userData)
        {
            HttpContext.Current.Session["UserData"] = userData;
            var data = new NDAPortalDatabaseEntities();

            CurrentSession = data.Sessions.FirstOrDefault(x => x.IsCurrentSession);

            if (userData.Id == 0)
            {
                Route    = UserRoles.SystemAdministrator.ToString();
                RoleName = UserRoles.SystemAdministrator.DisplayName();
            }
            else
            {
                Route           = "";
                RoleName        = "";
                CredentialAreas =
                    data.CredentialAreas.Where(x => x.IsDeleted == false && x.CredentialId == userData.Id)
                    .OrderBy(x => x.AreaName)
                    .ToList();

                if (CredentialAreas.Any(x => x.AreaName == UserRoles.Students.ToString()))
                {
                    Admission =
                        data.Admissions.FirstOrDefault(
                            x => x.CredentialId == userData.Id && x.SessionId == CurrentSession.Id && !x.IsDeleted);
                }
            }
            data.Dispose();
        }
示例#4
0
        public JsonResult RemoveSubProgramme(string subProgrammeCode, int subProgrameId)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var subProgramme =
                        data.SubProgrammes.FirstOrDefault(
                            x => x.SubProgrammeCode == subProgrammeCode && x.Id == subProgrameId);

                    if (subProgramme == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "This Sub Programme does not Exist. Please check and verify"
                        },
                                 JsonRequestBehavior.AllowGet));
                    }

                    subProgramme.IsDeleted         = true;
                    data.Entry(subProgramme).State = EntityState.Modified;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful Configuration" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
 // GET: Students/Registration
 public ActionResult Index()
 {
     try
     {
         using (var data = new NDAPortalDatabaseEntities())
         {
             if (
                 data.Registrations.FirstOrDefault(
                     x => x.AdmissionId == UserInformation.Admission.AdmissionId && !x.IsDeleted) == null)
             {
                 data.Registrations.Add(new Registration()
                 {
                     AdmissionId      = UserInformation.Admission.AdmissionId,
                     CredentialId     = UserInformation.Admission.CredentialId,
                     IsDeleted        = false,
                     RegistrationGuid = Guid.NewGuid().ToString(),
                     SessionId        = UserInformation.CurrentSession.Id
                 });
                 data.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         ActivityLogger.Log(ex);
     }
     return(View());
 }
示例#6
0
        public void SendPin(string admissionId)
        {
            var sessionId = UserInformation.CurrentSession.Id;

            new Thread(() =>
            {
                try
                {
                    using (var data = new NDAPortalDatabaseEntities())
                    {
                        var admission =
                            data.Admissions.FirstOrDefault(x => x.AdmissionId == admissionId && x.SessionId == sessionId);

                        var credential = data.Credentials.FirstOrDefault(x => x.Id == admission.CredentialId);

                        var message = $"Dear {credential.Surname}, {credential.FirstName} {credential.OtherNames}, <br/>";
                        message    += $"Your Payment has been confirmed by the bank and your PIN has been generated. Find your PIN below.<br/>";
                        message    += $"PIN: <strong>{admission.AccessPin}</strong>. <br/> <br/> Regards.";

                        Core.ClassLib.Messaging.SendMail(credential.Username, "", "", "NDA Admission PIN", message, "");
                    }
                }
                catch (Exception ex)
                {
                    ActivityLogger.Log(ex);
                }
            }).Start();
        }
        public JsonResult GetUploadedPersonalData()
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var uploadedDoc =
                        data.UploadedParticulars.Where(
                            x => !x.IsDeleted &&
                            x.CredentialId == UserInformation.UserInformationCredential.Id &&
                            x.AdmissionId == UserInformation.Admission.AdmissionId &&
                            x.ActiveSessionId == UserInformation.CurrentSession.Id &&
                            (x.DocumentTypeId == (int)FileUploadType.PassportPort ||
                             x.DocumentTypeId == (int)FileUploadType.Signature))
                        .ToList()
                        .Select(x => new { x, FileType = ((FileUploadType)x.DocumentTypeId).DisplayName() });

                    return(Json(new { Status = true, Message = "Succesful", Data = uploadedDoc },
                                JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return
                    (Json(
                         new { Status = false, Message = ex.Message },
                         JsonRequestBehavior.AllowGet));
            }
        }
示例#8
0
        public JsonResult DeleteUser(int credentialId)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var credential =
                        data.Credentials.FirstOrDefault(x => x.Id == credentialId && !x.IsDeleted);

                    if (credential == null)
                    {
                        return(Json(new { Status = false, Message = "User NOT Found" }, JsonRequestBehavior.AllowGet));
                    }

                    credential.IsDeleted = true;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = true, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#9
0
        public JsonResult MapRoles(int credentialId, string areaName, bool isDeleted)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var role =
                        data.CredentialAreas.FirstOrDefault(
                            x => x.AreaName == areaName && x.CredentialId == credentialId);

                    if (role == null)
                    {
                        data.CredentialAreas.Add(new CredentialArea()
                        {
                            AreaName     = areaName,
                            CredentialId = credentialId,
                            IsDeleted    = isDeleted
                        });
                    }
                    else
                    {
                        role.IsDeleted = isDeleted;
                    }
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = true, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#10
0
        public ActionResult AdmissionData(string admissionId, string registrationGuid)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var registration = data.Registrations.FirstOrDefault(x => !x.IsDeleted &&
                                                                         x.AdmissionId == admissionId &&
                                                                         x.RegistrationGuid == registrationGuid &&
                                                                         x.SessionId ==
                                                                         UserInformation.CurrentSession.Id);

                    if (registration == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    return(View(registration));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(RedirectToAction("Index"));
            }
        }
示例#11
0
        public JsonResult GetStateLga(string stateName)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var state = data.States.FirstOrDefault(x => x.StateName == stateName);

                    var lga =
                        data.Localities.Where(x => x.StateId == state.StateId).OrderBy(x => x.LocalityName).ToList();

                    return
                        (Json(
                             new
                    {
                        Status = true,
                        Message = "Successful",
                        Data = lga
                    },
                             JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#12
0
        public JsonResult GetStates()
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var states =
                        data.States.OrderBy(x => x.StateName).ToList();

                    return
                        (Json(
                             new
                    {
                        Status = true,
                        Message = "Successful",
                        Data = states
                    },
                             JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult ConfirmData()
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var admission = data.Admissions.FirstOrDefault(x => x.Id == UserInformation.Admission.Id);

                    if (admission == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    admission.AdmissionStatus   = (int)AdmissionStates.SchoolApprovalPending;
                    data.Entry(admission).State = EntityState.Modified;
                    data.SaveChanges();

                    UserInformation.ActivateSession(UserInformation.UserInformationCredential);

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(RedirectToAction("Index"));
            }
        }
示例#14
0
 public JsonResult GetSessions()
 {
     using (var data = new NDAPortalDatabaseEntities())
     {
         return(Json(new { Status = true, Data = data.Sessions.Where(x => !x.IsDeleted).ToList(), Message = "" },
                     JsonRequestBehavior.AllowGet));
     }
 }
 private Registration GetCurrentRegistration()
 {
     using (var data = new NDAPortalDatabaseEntities())
     {
         return(data.Registrations.FirstOrDefault(x => !x.IsDeleted &&
                                                  x.AdmissionId == UserInformation.Admission.AdmissionId &&
                                                  x.SessionId == UserInformation.CurrentSession.Id &&
                                                  x.CredentialId == UserInformation.UserInformationCredential.Id));
     }
 }
        public JsonResult SaveProgrammeInformation(int programmeId, int subProgrammeId, int choice)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var registration = GetCurrentRegistration();

                    if (registration == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message =
                                "It would seem your Registration Session is not Properly Initiated. Please Log Out and Re Log In. If this persists, please contact Support"
                        }, JsonRequestBehavior.DenyGet));
                    }

                    if (choice == 1)
                    {
                        registration.FirstChoiceProgramme    = programmeId;
                        registration.FirstChoiceSubProgramme = subProgrammeId;
                    }
                    else if (choice == 2)
                    {
                        registration.SecondChoiceProgramme    = programmeId;
                        registration.SecondChoiceSubProgramme = subProgrammeId;
                    }
                    else
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message =
                                "Please refresh this Page. Something is wrong."
                        }, JsonRequestBehavior.DenyGet));
                    }

                    data.Entry(registration).State = EntityState.Modified;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful" }, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
        public JsonResult SavePersonalInformation(Registration reg, string dateOfBirth)
        {
            try
            {
                var dob = DateTime.ParseExact(dateOfBirth, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                if (DateTime.Now.Subtract(dob).TotalDays < 6575)
                {
                    return
                        (Json(
                             new
                    {
                        Status = false,
                        Message =
                            "You are too young to Apply. You need to be at least 18 years or older"
                    }, JsonRequestBehavior.DenyGet));
                }

                using (var data = new NDAPortalDatabaseEntities())
                {
                    var registration = GetCurrentRegistration();

                    if (registration == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message =
                                "It would seem your Registration Session is not Properly Initiated. Please Log Out and Re Log In. If this persists, please contact Support"
                        }, JsonRequestBehavior.DenyGet));
                    }

                    registration.Surname          = reg.Surname;
                    registration.FirstName        = reg.FirstName;
                    registration.OtherName        = reg.OtherName;
                    registration.DateOfBirth      = dob;
                    registration.Sex              = reg.Sex;
                    registration.MaritalStatus    = reg.MaritalStatus;
                    registration.Religion         = reg.Religion;
                    registration.PhysicalFeatures = reg.PhysicalFeatures;

                    data.Entry(registration).State = EntityState.Modified;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful" }, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
示例#18
0
        public JsonResult Registration(string username, string password, string phoneNumber)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var userInformation =
                        data.Credentials.FirstOrDefault(x => x.Username == username && x.IsDeleted == false);

                    if (userInformation != null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "This Username already exists on this Platform. Please Log In"
                        },
                                 JsonRequestBehavior.AllowGet));
                    }

                    var passwordSalt = Encryption.GetUniqueKey(10);
                    userInformation = data.Credentials.Add(new Credential()
                    {
                        Username     = username,
                        IsDeleted    = false,
                        PasswordSalt = passwordSalt,
                        UserState    = (int)UserStates.Active,
                        Password     = Encryption.SaltEncrypt(password, passwordSalt),
                        FirstName    = "",
                        LasLogIn     = DateTime.Now,
                        OtherNames   = "",
                        Surname      = "",
                        PhoneNumber  = phoneNumber
                    });
                    data.SaveChanges();

                    data.CredentialAreas.Add(new CredentialArea()
                    {
                        AreaName     = UserRoles.Students.ToString(),
                        IsDeleted    = false,
                        CredentialId = userInformation.Id
                    });
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful Registration" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#19
0
        public ActionResult AdmissionPaymentConfirmation(string admissionId, bool?confirmation)
        {
            ViewBag.AID = "";

            if (string.IsNullOrEmpty(admissionId))
            {
                return(View());
            }

            using (var data = new NDAPortalDatabaseEntities())
            {
                var admission =
                    data.Admissions.FirstOrDefault(
                        x => x.AdmissionId == admissionId && x.SessionId == UserInformation.CurrentSession.Id);

                if (admission != null)
                {
                    if (confirmation == null)
                    {
                        return(View(admission));
                    }

                    var pin = Encryption.GetUniqueKey(15);
                    admission.AdmissionStatus = (int)AdmissionStates.Bank;
                    admission.AccessPin       = pin;
                    admission.DatePinApplied  = DateTime.Now;

                    data.PinMaps.Add(new PinMap()
                    {
                        CanExpire          = false,
                        CredentialAssigned = UserInformation.UserInformationCredential.Id,
                        CredentialId       = admission.CredentialId,
                        ExpiryDate         = DateTime.Now,
                        HasUseCounts       = false,
                        InitiationDate     = DateTime.Now,
                        IsDeleted          = false,
                        PinData            = pin,
                        PinUse             = (int)PinTypes.AdmissionPin,
                        UseCount           = 0,
                        UseCountMax        = 0
                    });

                    data.Entry(admission).State = EntityState.Modified;
                    data.SaveChanges();
                    SendPin(admissionId);

                    return(View(admission));
                }

                ViewBag.AID = admissionId;
                return(View());
            }
        }
示例#20
0
 public JsonResult GetSubProgrammes(int programmeId = 0)
 {
     using (var data = new NDAPortalDatabaseEntities())
     {
         var programmes = data.Programmes.Where(x => !x.IsDeleted).ToList();
         if (programmeId == 0)
         {
             return
                 (Json(
                      new
             {
                 Status = true,
                 Data =
                     data.SubProgrammes.Where(x => !x.IsDeleted)
                     .ToList()
                     .Select(
                         x =>
                         new
                 {
                     x,
                     ProgrammeName =
                         programmes.FirstOrDefault(y => y.Id == x.ProgrammeId)?
                         .ProgrammeName ?? ""
                 }),
                 Message = ""
             },
                      JsonRequestBehavior.AllowGet));
         }
         else
         {
             return
                 (Json(
                      new
             {
                 Status = true,
                 Data =
                     data.SubProgrammes.Where(x => !x.IsDeleted && x.ProgrammeId == programmeId)
                     .ToList()
                     .Select(
                         x =>
                         new
                 {
                     x,
                     ProgrammeName =
                         programmes.FirstOrDefault(y => y.Id == x.ProgrammeId)?
                         .ProgrammeName ?? ""
                 }),
                 Message = ""
             },
                      JsonRequestBehavior.AllowGet));
         }
     }
 }
示例#21
0
        public ActionResult ProcessApplication(string admissionId, bool approvalStatus)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var application =
                        data.Admissions.FirstOrDefault(
                            x => x.AdmissionId == admissionId && x.SessionId == UserInformation.CurrentSession.Id && !x.IsDeleted);

                    if (application == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    var credential = data.Credentials.FirstOrDefault(x => x.Id == application.CredentialId);

                    if (credential == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    var message = $"Dear {credential.Surname}, {credential.FirstName} {credential.OtherNames},<br/>";
                    if (approvalStatus)
                    {
                        application.AdmissionStatus = (int)AdmissionStates.SchoolApproved;
                        message += "Congratulations! Your application has been approved. You may proceed with Tuition Payment and Further Registration.";
                    }
                    else
                    {
                        application.AdmissionStatus = (int)AdmissionStates.SchoolDenied;
                        message += "Your application has been Processed. However, your application has been denied. You may re-apply next Session.";
                    }

                    message += "<br/><br/>Regards";

                    new Thread(() =>
                    {
                        Messaging.SendMail(credential.Username, null, null, "Application Processing", message, null);
                    }).Start();

                    data.Entry(application).State = EntityState.Modified;
                    data.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(RedirectToAction("Index"));
            }
        }
        public JsonResult SaveRefereeInformation(Registration reg)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var registration = GetCurrentRegistration();

                    if (registration == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message =
                                "It would seem your Registration Session is not Properly Initiated. Please Log Out and Re Log In. If this persists, please contact Support"
                        }, JsonRequestBehavior.DenyGet));
                    }

                    registration.SponsorEmail        = reg.SponsorEmail;
                    registration.SponsorFullName     = reg.SponsorFullName;
                    registration.SponsorPhoneNumber  = reg.SponsorPhoneNumber;
                    registration.SponsorRelationship = reg.SponsorRelationship;
                    registration.SponsorYearlyIncome = reg.SponsorYearlyIncome;

                    registration.NokEmail        = reg.NokEmail;
                    registration.NokFullName     = reg.NokFullName;
                    registration.NokPhoneNumber  = reg.NokPhoneNumber;
                    registration.NokRelationship = reg.NokRelationship;

                    registration.PgEmail        = reg.PgEmail;
                    registration.PgFullName     = reg.PgFullName;
                    registration.PgPhoneNumber  = reg.PgPhoneNumber;
                    registration.PgRelationship = reg.PgRelationship;

                    data.Entry(registration).State = EntityState.Modified;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful" }, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
示例#23
0
        public JsonResult AddProfile(Credential credential)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var credo =
                        data.Credentials.FirstOrDefault(
                            x => x.Username == credential.Username);

                    if (credo != null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "This Credential already exists. Please configure another"
                        },
                                 JsonRequestBehavior.DenyGet));
                    }

                    var passwordSalt = Encryption.GetUniqueKey(8);
                    credential.IsDeleted    = false;
                    credential.LasLogIn     = DateTime.Now;
                    credential.Password     = Core.ClassLib.Encryption.SaltEncrypt(Encryption.GetUniqueKey(8), passwordSalt);
                    credential.UserState    = (int)UserStates.Active;
                    credential.PasswordSalt = passwordSalt;

                    data.Credentials.Add(credential);
                    data.SaveChanges();

                    return
                        (Json(
                             new
                    {
                        Status = true,
                        Message = "Profile Update Successful"
                    },
                             JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
示例#24
0
 public JsonResult GetProfiles()
 {
     try
     {
         using (var data = new NDAPortalDatabaseEntities())
         {
             var users = data.Credentials.Where(x => !x.IsDeleted).OrderBy(x => x.Username).ToList();
             return(Json(new { Status = true, Message = $"Successful. {users.Count} Users found", Data = users }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         ActivityLogger.Log(ex);
         return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
示例#25
0
        public JsonResult UpdateProfile(Credential credential)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var credo =
                        data.Credentials.FirstOrDefault(
                            x => x.Username == UserInformation.UserInformationCredential.Username);

                    if (credo == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "You are not properly authenticated. Please refresh the page"
                        },
                                 JsonRequestBehavior.DenyGet));
                    }

                    credo.FirstName   = credential.FirstName;
                    credo.Surname     = credential.Surname;
                    credo.OtherNames  = credential.OtherNames;
                    credo.PhoneNumber = credential.PhoneNumber;

                    data.Entry(credo).State = EntityState.Modified;
                    data.SaveChanges();

                    UserInformation.ActivateSession(credo);
                    return
                        (Json(
                             new
                    {
                        Status = true,
                        Message = "Profile Update Successful"
                    },
                             JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
示例#26
0
        public JsonResult RemoveProgramme(string programmeCode, int programeId)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var programme =
                        data.Programmes.FirstOrDefault(
                            x => x.ProgrammeCode == programmeCode && x.Id == programeId && !x.IsDeleted);

                    if (programme == null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "This Programme does not Exist. Please check and Verify"
                        },
                                 JsonRequestBehavior.AllowGet));
                    }

                    if (data.SubProgrammes.Any(x => x.ProgrammeId == programme.Id && !x.IsDeleted))
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = $"Some Sub Programmes are still linked to {programme.ProgrammeName}. Please treat them first."
                        },
                                 JsonRequestBehavior.AllowGet));
                    }

                    programme.IsDeleted         = true;
                    data.Entry(programme).State = EntityState.Modified;
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful Configuration" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#27
0
 public JsonResult GetCurrentRegistration(string admissionId, string registrationGuid)
 {
     using (var data = new NDAPortalDatabaseEntities())
     {
         var registration = data.Registrations.FirstOrDefault(x => !x.IsDeleted &&
                                                              x.AdmissionId == admissionId &&
                                                              x.SessionId ==
                                                              UserInformation.CurrentSession.Id &&
                                                              x.RegistrationGuid == registrationGuid);
         return(Json(new
         {
             Status = true,
             Data = registration,
             Message = "Successful"
         }, JsonRequestBehavior.AllowGet));
     }
 }
示例#28
0
        public ActionResult GenerateAdmissionId()
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var credo =
                        data.Credentials.FirstOrDefault(
                            x => x.Username == UserInformation.UserInformationCredential.Username);

                    if (credo == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    if (data.Admissions.FirstOrDefault(
                            x =>
                            x.CredentialId == UserInformation.UserInformationCredential.Id &&
                            x.SessionId == UserInformation.CurrentSession.Id) == null)
                    {
                        data.Admissions.Add(new Admission()
                        {
                            AccessPin              = "",
                            AdmissionId            = $"NDA/APP/PG/{UserInformation.UserInformationCredential.Id.ToString("00000")}",
                            AdmissionStatus        = (int)AdmissionStates.PreBank,
                            CredentialId           = UserInformation.UserInformationCredential.Id,
                            DateAdmissionRequested = DateTime.Now,
                            DatePinApplied         = DateTime.Now,
                            IsDeleted              = false,
                            SessionId              = UserInformation.CurrentSession.Id
                        });
                        data.SaveChanges();
                    }

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#29
0
        public JsonResult AddSubProgramme(string subProgrammeName, string subProgrammeCode, int programmeId)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var subProgramme =
                        data.SubProgrammes.FirstOrDefault(
                            x =>
                            (x.SubProgrammeCode == subProgrammeCode || x.SubProgrammeName == subProgrammeName) &&
                            x.ProgrammeId == programmeId && !x.IsDeleted);

                    if (subProgramme != null)
                    {
                        return
                            (Json(
                                 new
                        {
                            Status = false,
                            Message = "This Sub Programme has been added before now. Please check and Verify"
                        },
                                 JsonRequestBehavior.AllowGet));
                    }

                    data.SubProgrammes.Add(new SubProgramme()
                    {
                        IsDeleted        = false,
                        SubProgrammeCode = subProgrammeCode.ToUpper(),
                        SubProgrammeName = subProgrammeName,
                        ProgrammeId      = programmeId
                    });
                    data.SaveChanges();

                    return(Json(new { Status = true, Message = "Successful Configuration" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(Json(new { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#30
0
        public ActionResult ManageUser(string username)
        {
            try
            {
                using (var data = new NDAPortalDatabaseEntities())
                {
                    var userCredo = data.Credentials.FirstOrDefault(x => x.Username == username && !x.IsDeleted);

                    if (userCredo == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    return(View(userCredo));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(RedirectToAction("Index"));
            }
        }