public static IHttpContext statisticGet(IHttpContext context) { try { if (!context.token().hasPermission("statistics.read")) { context.Response.StatusCode = HttpStatusCode.NotFound; context.Response.SendResponse(""); return(context); } var startDate = context.Request.QueryString["start"] != null?DateTime.Parse(context.Request.QueryString["start"]) : DateTime.Parse("1970-01-01 00:00:00"); bool groupDay = context.Request.QueryString["groupDay"] != null?bool.Parse(context.Request.QueryString["groupDay"]) : false; bool groupWeek = context.Request.QueryString["groupWeek"] != null?bool.Parse(context.Request.QueryString["groupWeek"]) : false; bool groupMonth = context.Request.QueryString["groupMonth"] != null?bool.Parse(context.Request.QueryString["groupMonth"]) : false; List <RegistrationSummary> summary = RegistrationSummary.list(startDate, groupDay, groupWeek, groupMonth); context.Response.SendResponse(JsonConvert.SerializeObject(summary)); } catch (Exception ex) { context.Response.StatusCode = HttpStatusCode.InternalServerError; context.Response.SendResponse(ex.Message); } return(context); }
public async Task <LoginSummary> Register(RegistrationSummary registrationSummary) { BaseAPI <LoginSummary> api = new BaseAPI <LoginSummary>(); api.RelativeUrl = "account/register"; var result = await api.PostAsync(registrationSummary); return(result); }
public void Register(RegistrationSummary registration) { if (registration.Password != registration.ConfirmPassword) { throw new UserException("The confirm password field does not match the password field"); } var personMgr = Dependency.Resolve <IPersonManager>(); var accountMgr = Dependency.Resolve <IAccountManager>(); accountMgr.SaveCredentials(registration.Username, registration.Password); }
protected void Page_Load(object sender, EventArgs e) { courseId = Request["courseid"]; List <RegistrationData> regList = ScormCloud.RegistrationService.GetRegistrationListForCourse(courseId); StringBuilder ct = new StringBuilder(); ct.AppendLine("<table class=\"registrationsTableDiv\">"); ct.AppendLine("<tr>"); ct.AppendLine("<td> Reg ID</td>"); ct.AppendLine("<td> Course ID</td>"); ct.AppendLine("<td>Completion</td>"); ct.AppendLine("<td>Success</td>"); ct.AppendLine("<td>Score</td>"); ct.AppendLine("<td>TotalTime</td>"); ct.AppendLine("<td>Completed Date </td>"); ct.AppendLine("</tr>"); foreach (RegistrationData reg in regList) { ct.AppendLine("<tr>"); ct.AppendLine("<td>" + reg.RegistrationId + "</td>"); ct.AppendLine("<td>" + reg.CourseId + "</td>"); RegistrationSummary result = ScormCloud.RegistrationService.GetRegistrationSummary(reg.RegistrationId); ct.AppendLine("<td>" + result.Complete + "</td>"); ct.AppendLine("<td>" + result.Success + "</td>"); ct.AppendLine("<td>" + result.Score + "</td>"); ct.AppendLine("<td>" + result.TotalTime + "</td>"); String launchUrl = ScormCloud.RegistrationService.GetLaunchUrl(reg.RegistrationId, "http://cloud.scorm.com"); ct.AppendLine("<td><a href='" + launchUrl + "'>Launch</a></td>"); //Delete //Launch // ct.AppendLine("<td><a href='InvitationInfoSample.aspx?invid=" + inv.Id + "&courseid=" + courseId + "'>details</a></td>"); // ct.AppendLine("<td><a href='InvitationChange.aspx?invid=" + inv.Id + "&enable=" + (!inv.AllowLaunch).ToString().ToLower() + "&open=" + inv.AllowNewRegistrations.ToString().ToLower() + "&courseid=" + courseId + "'>" + (inv.AllowLaunch ? "enabled" : "disabled") + "</a></td>"); // ct.AppendLine("<td><a href='InvitationChange.aspx?invid=" + inv.Id + "&enable=" + inv.AllowLaunch.ToString().ToLower() + "&open=" + (!inv.AllowNewRegistrations).ToString().ToLower() + "&courseid=" + courseId + "'>" + (inv.AllowNewRegistrations ? "open" : "closed") + "</a></td>"); ct.AppendLine("</tr>"); } ct.AppendLine("</table>"); registrationsTableDiv.InnerHtml = ct.ToString(); }
protected void Page_Load(object sender, EventArgs e) { String regId = Request["registration"]; //Get registration info, make sure it exists Registration reg = DataStore.GetRegistration(regId); if (reg == null) { Response.Write("Error, registration not found"); Response.End(); } //Grab learning and invitation information as well String learningId = reg.LearningId; Learning learning = DataStore.GetLearning(learningId); Invitation invitation = DataStore.GetInvitationByLearningId(learningId); //Set dynamic content for controls sentMessage.InnerText = invitation.SenderName + " sent you some learning"; learnerEmail.Value = reg.Email; senderEmail.Value = invitation.SenderEmail; learningTitle.Value = learning.Title; learningDescription.Value = learning.Description; //Contruct a single row table with this learner's info RegSummaryTable regTable = new RegSummaryTable(false); //Get completion, score, and other stats from Hosted Scorm Engine RegistrationSummary summary = ScormCloud.RegistrationService.GetRegistrationSummary(regId); //Add this info to our table regTable.AddRow(DataStore.GetRegistration(regId), summary.TotalTime, summary.Complete, summary.Success, summary.Score); learnerInfoTableDiv.InnerHtml = regTable.GetHtml(); //Get launch url from ScormCloud client, redirect to this page on exit startLearningLink.HRef = "Launch.aspx?regid=" + regId; //Include detailed report link for this learner detailedReportLink.HRef = "HostedReport.aspx?registration=" + regId; }
protected void Page_Load(object sender, EventArgs e) { //Make sure invitation parameter is available String invitationId = Request["invitation"]; if (invitationId == null) { Response.Write("No invitation id specified!"); Response.End(); } //Grab the learning id from the invitation info Invitation invitation = DataStore.GetInvitation(invitationId); String learningId = invitation.LearningId; //Set these learningid attributes for Ajax functionality learningTitle.Attributes["learningid"] = learningId; learningDescription.Attributes["learningid"] = learningId; //Set title and description of learning Learning learning = DataStore.GetLearning(learningId); learningTitle.Value = learning.Title; learningDescription.Value = learning.Description; //Setup preview learning and change settings links previewLearningLink.HRef = "Preview.aspx?courseid=" + learningId; changeSettingsLink.HRef = "Properties.aspx?courseid=" + learningId; //Construct registration table for all learners associated with this learning RegSummaryTable regTable = new RegSummaryTable(true); String[] regIds = DataStore.GetRegistrationIdsForLearning(learningId); foreach (String regId in regIds) { //Get completion, score, and other stats from Hosted Scorm Engine RegistrationSummary summary = ScormCloud.RegistrationService.GetRegistrationSummary(regId); //Add this info to our table regTable.AddRow(DataStore.GetRegistration(regId), summary.TotalTime, summary.Complete, summary.Success, summary.Score); } learnerTableDiv.InnerHtml = regTable.GetHtml(); }
private static void AssertRegistrationSummary(Registration original, RegistrationSummary result) { Assert.NotNull(result); Assert.Equal(original.Id, result.Id); Assert.Equal(!string.IsNullOrEmpty(original.InternalCaseNotes), result.HasInternalCaseNotes); Assert.Equal(original.HostCommunity?.Id, result.HostCommunity?.Id); Assert.Equal(original.IncidentTask?.Id, result.IncidentTask?.Id); Assert.Equal(original.Facility, result.Facility); Assert.Equal(original.RegisteringFamilyMembers, result.RegisteringFamilyMembers); Assert.Equal(original.RegistrationCompletionDate, result.RegistrationCompletionDate); Assert.Equal(original.RequiresAccommodation, result.RequiresAccommodation); Assert.Equal(original.RequiresClothing, result.RequiresClothing); Assert.Equal(original.RequiresFood, result.RequiresFood); Assert.Equal(original.RequiresIncidentals, result.RequiresIncidentals); Assert.Equal(original.RequiresSupport, result.RequiresSupport); Assert.Equal(original.RequiresTransportation, result.RequiresTransportation); Assert.Equal(original.RestrictedAccess, result.RestrictedAccess); Assert.Equal(original.SelfRegisteredDate, result.SelfRegisteredDate); Assert.NotNull(result.HeadOfHousehold); Assert.NotNull(result.HeadOfHousehold.Id); Assert.Equal($"{original.Id}-1", result.HeadOfHousehold.Id); Assert.Equal(original.HeadOfHousehold.Dob, result.HeadOfHousehold.Dob); Assert.Equal(original.HeadOfHousehold.Email, result.HeadOfHousehold.Email); Assert.Equal(original.HeadOfHousehold.FirstName, result.HeadOfHousehold.FirstName); Assert.Equal(original.HeadOfHousehold.Gender, result.HeadOfHousehold.Gender); Assert.Equal(original.HeadOfHousehold.Initials, result.HeadOfHousehold.Initials); Assert.Equal(original.HeadOfHousehold.LastName, result.HeadOfHousehold.LastName); Assert.Equal(original.HeadOfHousehold.Nickname, result.HeadOfHousehold.Nickname); Assert.Equal(original.HeadOfHousehold.PhoneNumber, result.HeadOfHousehold.PhoneNumber); Assert.Equal(original.HeadOfHousehold.PhoneNumberAlt, result.HeadOfHousehold.PhoneNumberAlt); Assert.Equal($"{original.Id}-2", result.HeadOfHousehold.MailingAddress?.Id); Assert.Equal(original.HeadOfHousehold.MailingAddress?.AddressLine1, result.HeadOfHousehold.MailingAddress?.AddressLine1); Assert.Equal(original.HeadOfHousehold.MailingAddress?.AddressLine2, result.HeadOfHousehold.MailingAddress?.AddressLine2); Assert.Equal(original.HeadOfHousehold.MailingAddress?.AddressLine3, result.HeadOfHousehold.MailingAddress?.AddressLine3); Assert.Equal(original.HeadOfHousehold.MailingAddress?.AddressSubtype, result.HeadOfHousehold.MailingAddress?.AddressSubtype); Assert.Equal(original.HeadOfHousehold.MailingAddress?.City, result.HeadOfHousehold.MailingAddress?.City); Assert.Equal(original.HeadOfHousehold.MailingAddress?.Community?.Id, result.HeadOfHousehold.MailingAddress?.Community?.Id); Assert.Equal(original.HeadOfHousehold.MailingAddress?.Country?.Id, result.HeadOfHousehold.MailingAddress?.Country?.Id); Assert.NotNull(result.HeadOfHousehold.PrimaryResidence); Assert.NotNull(result.HeadOfHousehold.PrimaryResidence.Id); Assert.Equal($"{original.Id}-1", result.HeadOfHousehold.PrimaryResidence.Id); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.AddressLine1, result.HeadOfHousehold.PrimaryResidence.AddressLine1); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.AddressLine2, result.HeadOfHousehold.PrimaryResidence.AddressLine2); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.AddressLine3, result.HeadOfHousehold.PrimaryResidence.AddressLine3); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.AddressSubtype, result.HeadOfHousehold.PrimaryResidence.AddressSubtype); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.City, result.HeadOfHousehold.PrimaryResidence.City); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.Community?.Id, result.HeadOfHousehold.PrimaryResidence.Community?.Id); Assert.Equal(original.HeadOfHousehold.PrimaryResidence.Country?.Id, result.HeadOfHousehold.PrimaryResidence.Country?.Id); Assert.Equal(original.HeadOfHousehold.FamilyMembers.Count(), result.HeadOfHousehold.FamilyMembers.Count()); Assert.All(original.HeadOfHousehold.FamilyMembers, fmbr => { var resultFmbr = result.HeadOfHousehold.FamilyMembers.Single(f => f.FirstName == fmbr.FirstName && f.Dob == fmbr.Dob); Assert.NotNull(resultFmbr.Id); Assert.StartsWith(original.Id, resultFmbr.Id); Assert.Equal(fmbr.Dob, resultFmbr.Dob); Assert.Equal(fmbr.FirstName, resultFmbr.FirstName); Assert.Equal(fmbr.Gender, resultFmbr.Gender); Assert.Equal(fmbr.Initials, resultFmbr.Initials); Assert.Equal(fmbr.LastName, resultFmbr.LastName); Assert.Equal(fmbr.Nickname, resultFmbr.Nickname); Assert.Equal(fmbr.RelationshipToEvacuee?.Code, resultFmbr.RelationshipToEvacuee?.Code); Assert.Equal(fmbr.SameLastNameAsEvacuee, resultFmbr.SameLastNameAsEvacuee); }); }