예제 #1
0
        public JsonResult UpdateUser(UserInformation userInformation)
        {
            try
            {
                using (var data = new Entities())
                {
                    var existingCredo =
                        data.Credentials.FirstOrDefault(x => x.Username == userInformation.Username.ToLower());

                    if (existingCredo == null)
                    {
                        return new JsonResult()
                               {
                                   Data = new { Status = false, Message = "This Credential is not Recognised. Please try to Add the User" }
                               }
                    }
                    ;

                    existingCredo.FirstName = userInformation.Firstname;
                    existingCredo.LastName  = userInformation.Lastname;

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

                    var existingCredoMap = data.CredentialMaps.FirstOrDefault(x => !x.IsDeleted && x.CredentialId == existingCredo.Id);
                    if (existingCredoMap != null)
                    {
                        data.CredentialMaps.Remove(existingCredoMap);

                        data.SaveChanges();
                    }

                    data.CredentialMaps.Add(new CredentialMap()
                    {
                        IsDeleted    = false,
                        CredentialId = existingCredo.Id,
                        DateAssigned = DateTime.Now,
                        RoleId       = userInformation.UserRole
                    });
                    data.SaveChanges();

                    ActivityLogger.Log("INFO", $"{userInformation.Username}: {userInformation.Lastname}, {userInformation.Firstname} has been Updated");
                }

                return(new JsonResult()
                {
                    Data = new { Status = true, Message = "Successful" }
                });
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message }
                });
            }
        }
        public void StartReporterThread()
        {
            var settings = new Settings(new SettingsReader("ActivityLogger.ini"));

            ActivityReport  = new ActivityReport();
            _activityLogger = ActivityLogger.Instance(ActivityReport, settings);

            var mouseClickLogger   = MouseClickLogger.Instance();
            var mouseClickReporter = MouseClickReporter.Instance(_activityLogger);

            mouseClickReporter.Subscribe(mouseClickLogger);

            var keyLogger   = KeyLogger.Instance();
            var keyReporter = KeyReporter.Instance(_activityLogger);

            keyReporter.Subscribe(keyLogger);

            Task.Factory.StartNew(() =>
            {
                var activityReporter = new ActivityReporter(_activityReceiver);
                activityReporter.Subscribe(_activityLogger);

                var mouseLogger   = new MouseLogger();
                var mouseReporter = new MouseReporter(_activityLogger);
                mouseReporter.Subscribe(mouseLogger);

                var processLogger   = new ProcessLogger();
                var processReporter = new ProcessReporter(_activityLogger);
                processReporter.Subscribe(processLogger);

                var timeLogger   = new TimeLogger();
                var timeReporter = new TimeReporter(_activityLogger);
                timeReporter.Subscribe(timeLogger);

                var activityTypeLogger   = new ActivityTypeLogger(settings);
                var activityTypeReporter = new ActivityTypeReporter(_activityLogger);
                activityTypeReporter.Subscribe(activityTypeLogger);

                while (true)
                {
                    Thread.Sleep(1000);

                    // KeyLogger & MouseClickLogger will log when keystrokes/clicks are
                    // recorded, so no need to tell it to log here.

                    mouseLogger.Log();
                    processLogger.Log();
                    timeLogger.Log();

                    activityTypeLogger.DetermineActivityType(
                        processReporter.ProcessReport, mouseReporter.MouseReport,
                        MouseClickReporter.Instance().MouseClickReport, KeyReporter.Instance().KeyReport);
                    activityTypeLogger.Log();

                    _activityLogger.Log();
                }
            });
        }
예제 #3
0
        public JsonResult RemoveAssessment(int assessmentId)
        {
            try
            {
                using (var data = new Entities())
                {
                    var sessionId    = data.EducationalPeriods.FirstOrDefault(x => x.IsActive)?.Id;
                    var subSessionId =
                        data.SubEducationalPeriods.FirstOrDefault(x => x.IsActive && x.EducationalPeriodId == sessionId)
                        ?.Id;

                    if (data.ResultRaws.Any(
                            x =>
                            x.AssessmentId == assessmentId && x.SessionId == sessionId &&
                            x.SubSessionId == subSessionId && x.IsDeleted == false))
                    {
                        return(new JsonResult()
                        {
                            Data =
                                new
                            {
                                Status = false,
                                Message = "This Assessment already has some data against it. It cant be removed",
                                Data = string.Empty
                            },
                            JsonRequestBehavior = JsonRequestBehavior.AllowGet
                        });
                    }

                    var assessment = data.Assessments.FirstOrDefault(x => x.Id == assessmentId);
                    assessment.IsDeleted         = true;
                    data.Entry(assessment).State = EntityState.Modified;
                    data.SaveChanges();

                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = "Successful",
                            Data = string.Empty
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #4
0
 public DurableFunction(
     IPipe pipe,
     ActivityLogger activityLogger,
     DoSomething doSomething)
 {
     _pipe           = pipe;
     _activityLogger = activityLogger;
     _doSomething    = doSomething;
 }
예제 #5
0
        public JsonResult GetHelm()
        {
            try
            {
                using (var data = new Entities())
                {
                    var classes       = data.Classes.Where(x => x.IsDeleted == false).ToList();
                    var mappedClasses = data.ClassMaps.Where(
                        x => x.IsDeleted == false && x.CredentialId == UserInformation.UserInformationCredential.Id)
                                        .ToList()
                                        .Select(
                        x =>
                        new
                    {
                        x,
                        ClassName =
                            (classes.FirstOrDefault(y => y.Id == x.ClassId)?.ClassName ?? "No Class Name")
                    }).ToList();

                    var mappedSubject = data.SubjectMaps
                                        .Where(
                        x => x.IsDeleted == false && x.CredentialId == UserInformation.UserInformationCredential.Id)
                                        .ToList()
                                        .Select(x =>
                                                new
                    {
                        x,
                        SubjectName =
                            (EnumDictionary.GetList <Subjects>()
                             .FirstOrDefault(y => y.ItemId == x.SubjectId)?
                             .ItemName ?? "No Subject Name")
                    }).ToList();


                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = $"All Done",
                            Data = new { Subjects = mappedSubject, Classes = mappedClasses }
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #6
0
        public JsonResult MapCredentialClasses(string username, int classId, bool state)
        {
            try
            {
                using (var data = new Entities())
                {
                    var user = data.Credentials.FirstOrDefault(x => x.Username == username);

                    if (user == null)
                    {
                        return new JsonResult()
                               {
                                   Data = new { Status = false, Message = "User does not exist" },
                                   JsonRequestBehavior = JsonRequestBehavior.AllowGet
                               }
                    }
                    ;

                    var map = data.ClassMaps.FirstOrDefault(x => x.ClassId == classId && x.CredentialId == user.Id);

                    if (map != null)
                    {
                        data.ClassMaps.Remove(map);

                        data.SaveChanges();
                    }

                    if (state)
                    {
                        data.ClassMaps.Add(new ClassMap()
                        {
                            CredentialId = user.Id,
                            DateAssigned = DateTime.Now,
                            IsDeleted    = false,
                            ClassId      = classId
                        });
                    }

                    data.SaveChanges();

                    return(new JsonResult()
                    {
                        Data = new { Status = true, Message = "Successful" },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
        public async Task <IActionResult> Logout()
        {
            ActivityLogger logOut = new ActivityLogger();

            logOut.addUserActivity(User.Identity.Name, "Logout", "", "", _context);
            await _signInManager.SignOutAsync();

            return(Ok("Ok"));
        }
예제 #8
0
        public ActionResult DataExportIdCard(int registrationManifestId = 0)
        {
            try
            {
                using (var entities = new Entities())
                {
                    var manifest =
                        entities.Administration_RegistrationSessionManifest.FirstOrDefault(x =>
                                                                                           !x.IsDeleted && x.Id == registrationManifestId);

                    if (manifest == null)
                    {
                        return(null);
                    }

                    var manifestItems = entities.Administration_RegistrationSessionManifestItems.Where(x =>
                                                                                                       !x.IsDeleted && x.RegistrationSessionManifestId == registrationManifestId).ToList();

                    var exportdata = manifestItems.Select(x =>
                                                          Newtonsoft.Json.JsonConvert.DeserializeObject <RegModelIdCard>(x.DataPayLoad)).ToList();

                    var fileName = ExcelWriter.GetFilePatientRecords(
                        $"{((RegistrationReason) manifest.RegistrationReaason).DisplayName().Replace(' ', '_').ToUpper()}_{DateTime.Now:yyyyMMddHHmm}",
                        exportdata.Select(x => new ExcelWriter.RegistrationExcelRecords()
                    {
                        MatricNumber = x.MatricNumber,
                        School       = x.School,
                        Program      = x.Program,
                        Sex          = x.Sex,
                        FullName     = x.FullName,
                        BloodGroup   = x.BloodGroup,
                        Phone        = x.PhoneNumber,
                        Email        = x.Email
                    }).OrderBy(x => x.MatricNumber).ToList());

                    var filedata    = System.IO.File.ReadAllBytes(fileName);
                    var contentType = MimeMapping.GetMimeMapping(fileName);
                    var fileInfo    = new FileInfo(fileName);

                    var contentDisposition = new ContentDisposition
                    {
                        FileName = fileInfo.Name,
                        Inline   = true,
                    };

                    Response.AppendHeader("Content-Disposition", contentDisposition.ToString());

                    return(File(filedata, contentType));
                }
            }
            catch (Exception e)
            {
                ActivityLogger.Log(e);
                return(null);
            }
        }
예제 #9
0
        public JsonResult GetSubSessions()
        {
            try
            {
                using (var data = new Entities())
                {
                    var educationalPeriod =
                        data.EducationalPeriods.FirstOrDefault(x => x.IsDeleted == false && x.IsActive == true);

                    if (educationalPeriod == null)
                    {
                        return new JsonResult()
                               {
                                   Data =
                                       new { Status = false, Message = $"No Active Educational Period has been configured.", Data = "" },
                                   JsonRequestBehavior = JsonRequestBehavior.AllowGet
                               }
                    }
                    ;

                    var educationalSubPeriod =
                        data.SubEducationalPeriods.Where(x => x.EducationalPeriodId == educationalPeriod.Id)
                        .ToList()
                        .Select(e => new
                    {
                        e.SubPeriodName,
                        PeriodStart = e.PeriodStart.ToLongDateString(),
                        PeriodEnd   = e.PeriodEnd.ToLongDateString(),
                        e.IsActive,
                        e.Id,
                        e.SubPeriodOrder
                    }).OrderByDescending(x => x.IsActive).ThenBy(x => x.SubPeriodOrder).ToList();

                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = $"Loaded {educationalSubPeriod.Count} Sub Periods",
                            Data = educationalSubPeriod
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #10
0
        public JsonResult GetRegistrants(string queryString)
        {
            try
            {
                using (var data = new Entities())
                {
                    var classes  = data.Classes.Where(x => x.IsDeleted == false).ToList();
                    var students = (from s in data.Students.Where(x => x.IsDeleted == false)
                                    where
                                    s.PGEmail.Contains(queryString) ||
                                    s.StudentOtherName.Contains(queryString) ||
                                    s.StudentSurname.Contains(queryString) ||
                                    s.BriefInformation.Contains(queryString) ||
                                    s.PGFullName.Contains(queryString) ||
                                    s.PGEmail.Contains(queryString) ||
                                    s.PGPhone.Contains(queryString) ||
                                    s.StudentId.Contains(queryString)
                                    select s).Take(20)
                                   .OrderBy(x => x.StudentId)
                                   .ThenBy(x => x.StudentSurname)
                                   .ThenBy(x => x.StudentOtherName)
                                   .ToList();

                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = $"All Done",
                            Data =
                                students.Select(
                                    s =>
                                    new
                            {
                                s,
                                CurrentClass =
                                    classes.FirstOrDefault(x => x.Id == s.CurrentClassId)?.ClassName ??
                                    "No Class Assigned"
                            })
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #11
0
        public JsonResult GetTodaysAttendance(int currentClassId)
        {
            try
            {
                using (var data = new Entities())
                {
                    var date = DateTime.Now.Date;

                    var todaysAttendance =
                        data.StudentAttendances.Where(
                            x =>
                            x.ClassId == currentClassId &&
                            x.AttendanceDate == date &&
                            x.EducationalPeriodId == UserInformation.CurrentEducationalPeriod.Id &&
                            x.SubEducationalPeriodId == UserInformation.CurrentSubEducationalPeriod.Id &&
                            x.IsDeleted == false).Select(x => x.StudentId).ToList();

                    var students = data.Students.Where(x => !x.IsDeleted && x.CurrentClassId == currentClassId).ToList();

                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = $"Successful",
                            Data = new
                            {
                                TotalAttendanceTaken = todaysAttendance.Count,
                                AttendanceData =
                                    students.Select(
                                        x =>
                                        new
                                {
                                    x.StudentId,
                                    x.StudentSurname,
                                    x.StudentOtherName,
                                    IsMarked = todaysAttendance.Any(y => y == x.StudentId)
                                }).OrderBy(x => x.IsMarked).ThenBy(x => x.StudentSurname).ToList()
                            }
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #12
0
 /// <summary>
 /// Updates logout status and Navigates to login page
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void lbtnExit_Click(object sender, EventArgs e)
 {
     if (Session["LoggedAgent"] != null)
     {
         ActivityLogger.WriteAgentEntry((Agent)Session["LoggedAgent"], "Agent has logged out from campaign selection page.");
     }
     if (SaveAgentActivity(true))
     {
         Response.Redirect("../Logout.aspx");
     }
 }
예제 #13
0
        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));
            }
        }
예제 #14
0
        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));
            }
        }
예제 #15
0
        protected async override Task OnInitializedAsync()
        {
            _activityLogger = new ActivityLogger(() => StateHasChanged(), m => Wait.ShowMessage(m));

            using (dynamic context = new EvalContext(JSRuntime))
            {
                (context as EvalContext).Expression = () => context.jQuery("body").css("overflow-y", "hidden");
            }

            await base.OnInitializedAsync();
        }
예제 #16
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));
            }
        }
예제 #17
0
        protected override async Task OnInitializedAsync()
        {
            ActivityLogger = new ActivityLogger(() => StateHasChanged(), (m) => Wait.ShowMessage(m));

            MinimizeFunctionCode = new Models.MinimizeFunctionCode
            {
                Code = Resource.JavascriptCodeSample
                       // Code = "\r\nfunction minimize(p1 /*p2, anything, etc*/)\r\n{\r\n\treturn;\r\n}"
            };

            await base.OnInitializedAsync();
        }
예제 #18
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 static void LogActivity(this Form form, string formIdentifier, string activityName, int primaryKey)
 {
     // Remove this try catch ... when the logging has been found working
     try
     {
         ActivityLogger log = new ActivityLogger(form);
         log.SaveAction(HCMIS.Security.Helper.CurrentUser.UserID, primaryKey, form.GetFormIdentifier(), activityName);
     }
     catch
     {
     }
 }
예제 #20
0
        public ActionResult PrintResult(string studentId = "", bool isSession = false, bool isThreaded = false, string key = "", int classId = 0)
        {
            try
            {
                if (!string.IsNullOrEmpty(key))
                {
                    if (!UserInformation.IsSessionValid)
                    {
                        return(RedirectToAction("Index", "Home", new { area = "GeneralStaff" }));
                    }

                    if (UserInformation.UserInformationCredential.Username != Encryption.SaltDecrypt(key, DateTime.Now.ToString("YYYYMMDD")))
                    {
                        return(RedirectToAction("Index", "Home", new { area = "GeneralStaff" }));
                    }

                    if (isSession)
                    {
                        return(RedirectToAction("Index"));
                    }

                    Session["IsSession"] = isSession;

                    var listOfStudents = new List <Student>();

                    using (var data = new Entities())
                    {
                        if (!string.IsNullOrEmpty(studentId))
                        {
                            listOfStudents.Add(data.Students.FirstOrDefault(x => x.StudentId == studentId));
                            ViewBag.ResultName = "Result for " + studentId;
                        }
                        else
                        {
                            listOfStudents.AddRange(data.Students.Where(x => x.CurrentClassId == classId).ToList());
                            ViewBag.ResultName = "Result for " + data.Classes.FirstOrDefault(x => x.Id == classId)?.ClassName ?? "No Class";
                        }
                    }

                    return(View(listOfStudents));
                }
                else
                {
                    return(RedirectToAction("Index", "Home", new { area = "GeneralStaff" }));
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(RedirectToAction("Index"));
            }
        }
예제 #21
0
 private void Write(string text)
 {
     if (txtResults.InvokeRequired)
     {
         WriteDelegate d = new WriteDelegate(Write);
         this.Invoke(d, new object[] { text });
     }
     else
     {
         txtResults.AppendText(text + "\r\n");
         ActivityLogger.WriteLog(text);
     }
 }
예제 #22
0
 public JsonResult PullCourses()
 {
     try
     {
         var settings = _entities.School_Course.Where(x => !x.IsDeleted).ToList();
         return(Json(ResponseData.SendSuccessMsg(data: settings), JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         ActivityLogger.Log(e);
         return(Json(ResponseData.SendExceptionMsg(e), JsonRequestBehavior.AllowGet));
     }
 }
예제 #23
0
        public JsonResult GetAllRegistrationManifestItems(int registrationSessionManifestId)
        {
            try
            {
                using (var entities = new Entities())
                {
                    var regManifests =
                        entities.Administration_RegistrationSessionManifest.FirstOrDefault(x =>
                                                                                           !x.IsDeleted && x.Id == registrationSessionManifestId);

                    if (regManifests == null)
                    {
                        return(Json(
                                   ResponseData.SendFailMsg(), JsonRequestBehavior.AllowGet));
                    }

                    var regManifestItems = entities.Administration_RegistrationSessionManifestItems.Where(x =>
                                                                                                          !x.IsDeleted && x.RegistrationSessionManifestId == registrationSessionManifestId)
                                           .OrderBy(x => x.DateOfEntry)
                                           .ToList();

                    var returnData = new List <object>();

                    if (regManifests.RegistrationReaason == (int)RegistrationReason.IdCard)
                    {
                        returnData.AddRange(regManifestItems.Select(x => new
                        {
                            x.Id,
                            DateOfEntry = $"{x.DateOfEntry:yyyyMMdd}",
                            PayLoad     = new
                            {
                                Newtonsoft.Json.JsonConvert.DeserializeObject <RegModelIdCard>(x.DataPayLoad).MatricNumber,
                                Newtonsoft.Json.JsonConvert.DeserializeObject <RegModelIdCard>(x.DataPayLoad).FullName
                            }
                        }));
                    }

                    return(Json(
                               ResponseData.SendSuccessMsg(data: new
                    {
                        regManifests.RegistrationReaason,
                        DataSet = returnData.ToList()
                    }), JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                ActivityLogger.Log(e);
                return(Json(ResponseData.SendExceptionMsg(e), JsonRequestBehavior.AllowGet));
            }
        }
예제 #24
0
        public JsonResult SaveComment(string studentId, string commentData)
        {
            try
            {
                using (var data = new Entities())
                {
                    var comment =
                        data.StudentCommentFromTeachers.FirstOrDefault(
                            x =>
                            x.StudentId == studentId &&
                            x.EducationalPeriod == UserInformation.CurrentEducationalPeriod.Id &&
                            x.SubEducationalPeriod == UserInformation.CurrentSubEducationalPeriod.Id &&
                            x.IsDeleted == false);

                    if (comment == null)
                    {
                        data.StudentCommentFromTeachers.Add(new StudentCommentFromTeacher()
                        {
                            SubEducationalPeriod = UserInformation.CurrentSubEducationalPeriod.Id,
                            CommentData          = commentData,
                            EducationalPeriod    = UserInformation.CurrentSubEducationalPeriod.Id,
                            IsDeleted            = false,
                            MarkedByCredentialId = UserInformation.UserInformationCredential.Id,
                            StudentId            = studentId
                        });
                    }
                    else
                    {
                        comment.CommentData       = commentData;
                        data.Entry(comment).State = EntityState.Modified;
                    }

                    data.SaveChanges();

                    return(new JsonResult()
                    {
                        Data = new { Status = true, Message = $"Successful" },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
        private void DownloadAssembliesForPreviousVersion()
        {
            Profiler.BeginSample("DownloadAssembliesForPreviousVersion");

            if (Directory.Exists(PreviousVersionBinaryPath))
            {
                Directory.Delete(PreviousVersionBinaryPath, true);
            }

            Directory.CreateDirectory(PreviousVersionBinaryPath);

            ActivityLogger.Log("Retrieving assemblies for previous package version {0}", PreviousPackageInfo.version);
            var packageDataZipFilename = PackageBinaryZipping.PackageDataZipFilename(PreviousPackageInfo.name, PreviousPackageInfo.version);
            var zipPath = Path.Combine(PreviousVersionBinaryPath, packageDataZipFilename);
            var uri     = Path.Combine("https://artifactory.eu-cph-1.unityops.net/pkg-api-validation", packageDataZipFilename);

            UnityWebRequest request = new UnityWebRequest(uri);

            request.timeout         = 60; // 60 seconds time out
            request.downloadHandler = new DownloadHandlerFile(zipPath);
            var operation = request.SendWebRequest();

            while (!operation.isDone)
            {
                Thread.Sleep(1);
            }

            // Starting in 2020_1, isHttpError and isNetworkError are deprecated
            // which caused API obsolete errors to be shown for PVS
            // https://jira.unity3d.com/browse/PAI-1215
            var requestError = false;

            #if UNITY_2020_1_OR_NEWER
            requestError = request.result == UnityWebRequest.Result.ProtocolError ||
                           request.result == UnityWebRequest.Result.ConnectionError;
            #else
            requestError = request.isHttpError || request.isNetworkError;
            #endif
            if (requestError || !PackageBinaryZipping.Unzip(zipPath, PreviousVersionBinaryPath))
            {
                ActivityLogger.Log(String.Format("Could not download binary assemblies for previous package version from {0}. {1}", uri, request.responseCode));
                PreviousPackageBinaryDirectory = null;
            }
            else
            {
                PreviousPackageBinaryDirectory = PreviousVersionBinaryPath;
            }

            ActivityLogger.Log("Done retrieving assemblies for previous package", PreviousPackageInfo.version);
            Profiler.EndSample();
        }
예제 #26
0
        public JsonResult DeleteRegistration(string studentId)
        {
            try
            {
                using (var data = new Entities())
                {
                    var student = data.Students.FirstOrDefault(x => x.StudentId == studentId && x.IsDeleted == false);

                    if (student == null)
                    {
                        return new JsonResult()
                               {
                                   Data =
                                       new
                                   {
                                       Status  = false,
                                       Message = $"This Student is not found. Please Check",
                                       Data    = ""
                                   },
                                   JsonRequestBehavior = JsonRequestBehavior.AllowGet
                               }
                    }
                    ;

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

                    return(new JsonResult()
                    {
                        Data =
                            new
                        {
                            Status = true,
                            Message = $"Successful",
                            Data = ""
                        },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message, Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #27
0
        public JsonResult ManageSubjects(int subjectId, string studentId, bool newValue)
        {
            try
            {
                using (var data = new Entities())
                {
                    var studentSubject =
                        data.StudentSubjectMaps.FirstOrDefault(x => x.StudentId == studentId && x.SubjectId == subjectId);

                    if (studentSubject == null)
                    {
                        data.StudentSubjectMaps.Add(new StudentSubjectMap()
                        {
                            DateAssigned = DateTime.Now,
                            IsDeleted    = false,
                            StudentId    = studentId,
                            SubjectId    = subjectId
                        });
                    }
                    else
                    {
                        studentSubject.IsDeleted         = !newValue;
                        studentSubject.DateAssigned      = DateTime.Now;
                        data.Entry(studentSubject).State = EntityState.Modified;
                    }

                    data.SaveChanges();
                }

                return(new JsonResult()
                {
                    Data =
                        new
                    {
                        Status = true,
                        Message = $"All Done",
                        Data = ""
                    },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message + ". Please Refresh the page.", Data = string.Empty },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
예제 #28
0
        protected override byte[] GenerateCode(string fileContents)
        {
            var project      = GetVSProject().Project;
            var activeConfig = project.ConfigurationManager.ActiveConfiguration;

            var outputPath = activeConfig.Properties.Item("OutputPath").Value.ToString();
            var projDir    = project.GetProjectPath();

            //   string outputPath = outputPathProp.Value.ToString();
            string outputDir          = Path.Combine(projDir, outputPath);
            var    outputFileNameProp = project.Properties.Item("OutputFileName");
            string outputFileName     = outputFileNameProp.Value.ToString();
            var    outputFilepath     = Path.Combine(outputDir, outputFileName);

            //return assemblyPath;



            try
            {
                var results = ThreadHelper.JoinableTaskFactory.Run(async delegate
                {
                    //  await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

                    var serviceProvider = this.SiteServiceProvider;
                    var logger          = new ActivityLogger(serviceProvider, "AscxDesignerClassGenerator");
                    var ascxCompiler    = new AscxDesignerCompiler(logger);

                    var projectItem = this.GetProjectItem();
                    var task        = ascxCompiler.GenerateDesignerFile(projectItem, fileContents, outputFilepath);

                    var result = await task;
                    //ThreadHelper.JoinableTaskFactory.Run(_=>task)

                    //= task.Result;
                    return(result);
                    // You're now on the UI thread.
                });

                return(results);
            }
            catch (Exception e)
            {
                return(null);
            }

            //var codeProvider = GetCodeProvider();
            // codeProvider
            // return null;
        }
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            string         controllerName   = filterContext.RequestContext.RouteData.Values["Controller"] as string;
            string         actionMethodName = filterContext.RequestContext.RouteData.Values["Action"] as string;
            var            personnelMgr     = filterContext.HttpContext.Request.GetOwinContext().GetUserManager <PersonnelManager>();
            var            user             = personnelMgr.FindByName(filterContext.HttpContext.User.Identity.Name);
            var            url             = filterContext.HttpContext.Request.Url.PathAndQuery;
            var            viewBag         = filterContext.Controller.ViewBag;
            string         modelOperatedId = viewBag.ModelOperatedId as string;
            ActivityLogger activityLogger  = new ActivityLogger(ActivityName, ModelNameBeingOperated, controllerName, actionMethodName, user.Id, user.Name, viewBag.ModelOperatedId as string, url);

            activityLogger.Save();
            base.OnActionExecuted(filterContext);
        }
        protected override async Task OnInitializedAsync()
        {
            ActivityLogger = new ActivityLogger(() => StateHasChanged(), m => Wait.ShowMessage(m));

            MinimizeFunctionCode = new Models.MinimizeFunctionCode
            {
                Code = Resource.JavascriptCodeSample
                       // Code = "\r\nfunction minimize(p1 /*p2, anything, etc*/)\r\n{\r\n\treturn;\r\n}"
            };

            BlazorClientState.SubscribeStateHasChanged(typeof(CodeEditorBase), async() => await Cancel());

            await base.OnInitializedAsync();
        }