public JsonResult EditSubscription(AgencyClientModel model) { try { if (model != null && ModelState.IsValid) { var apiClientId = model.ApiClientId; int?[] selectedSchoolIds = null; if (model.SelectedSchoolIds != null && model.SelectedSchoolIds.Count > 0) { selectedSchoolIds = model.SelectedSchoolIds.Select(x => (int?)int.Parse(x)).ToArray(); } _vendorSubscriptionBusiness.Modify(WamsUser.WamsId, apiClientId, model.ApplicationClaimSetName, selectedSchoolIds); _agreementBusiness.UpsertVendorSub( EducationOrganizationId, WamsUser.WamsId, model.ApplicationVendorVendorId); } return(Json(new { success = true })); } catch (Exception e) { return(Json(new { success = false, Errors = string.Format("Could not update subscription") })); } }
public ActionResult NewSubscription(bool isSchoolLevel) { var org = _odsBusiness.GetEducationOrganization(EducationOrganizationId); bool isChoice = org.IsChoice; var subscriptionSiteContent = _siteContentBusiness.GetByContentTypeId((int)SiteContentType.VendorSubscription); var model = new AgencyClientModel { Action = "NewSubscription" }; model.VendorSubscriptionMessage = subscriptionSiteContent.Body; model.ApplicationClaimsetDetailSchoolLevelClaimset = isSchoolLevel; model.Vendors = _vendorBusiness.GetVendors().Where(v => v.Applications.Any(c => c.ClaimsetDetail.Active && c.ClaimsetDetail.SchoolLevelClaimset == isSchoolLevel && ((isChoice && c.ClaimsetDetail.ChoiceClaimset) || (!isChoice && c.ClaimsetDetail.PublicClaimset)))) .OrderBy(v => v.VendorName) .Select(t => new SelectListItem { Value = t.VendorId.ToString(), Text = t.VendorName.ToString() }).ToList(); model.Schools = _odsBusiness.GetLeaSchools(EducationOrganizationId) .Select(t => new { t.EducationOrganizationId, t.NameOfInstitution }).ToList() .Select(t => new SelectListItem() { Value = t.EducationOrganizationId.ToString(), Text = t.NameOfInstitution }).ToList() ; model.SelectedSchoolIds = new List <string>(); model.Applications = VendorApplications(model.ApplicationClaimsetDetailSchoolLevelClaimset, model.ApplicationVendorVendorId, model.ApplicationClaimSetName); return(PartialView("EditSubscription", model)); }
public ActionResult EditSubscription(int id) { var org = _odsBusiness.GetEducationOrganization(EducationOrganizationId); bool isChoice = org.IsChoice; var subscriptionSiteContent = _siteContentBusiness.GetByContentTypeId((int)SiteContentType.VendorSubscription); var client = _apiClientBusiness.GetApiClientWithDetails(id); var model = new AgencyClientModel { ApiClientId = client.ApiClientId, ApplicationApplicationName = client.Application.ApplicationName, ApplicationClaimSetName = client.Application.ClaimSetName, ApplicationClaimsetDetailChoiceClaimset = client.Application.ClaimsetDetail.ChoiceClaimset, ApplicationClaimsetDetailClaimsetTypeId = client.Application.ClaimsetDetail.ClaimsetTypeId, ApplicationClaimsetDetailClaimsetTypeName = client.Application.ClaimsetDetail.ClaimsetType.Name, ApplicationClaimsetDetailPlainEnglish = client.Application.ClaimsetDetail.PlainEnglish, ApplicationClaimsetDetailPrimarySis = client.Application.ClaimsetDetail.PrimarySis, ApplicationClaimsetDetailPublicClaimset = client.Application.ClaimsetDetail.PublicClaimset, ApplicationClaimsetDetailReadOnlyClaimset = client.Application.ClaimsetDetail.ReadOnlyClaimset, ApplicationClaimsetDetailSchoolLevelClaimset = client.Application.ClaimsetDetail.SchoolLevelClaimset, ApplicationVendorVendorId = client.Application.Vendor.VendorId, ApplicationVendorVendorName = client.Application.Vendor.VendorName, Name = client.Name, Key = client.Key, SecretIsHashed = client.SecretIsHashed, Secret = client.Secret, ProfileNames = client.Application.Profiles.Select(p => p.ProfileName).ToList(), Organizations = client.ApplicationEducationOrganizations.Select(e => e.EdOrg).ToList(), }; model.Action = "EditSubscription"; model.VendorSubscriptionMessage = subscriptionSiteContent.Body; model.Schools = _odsBusiness.GetLeaSchools(EducationOrganizationId) .Select(t => new { t.EducationOrganizationId, t.NameOfInstitution }).ToList() .Select(t => new SelectListItem() { Value = t.EducationOrganizationId.ToString(), Text = t.NameOfInstitution, Selected = model.Organizations.Any(o => o.EducationOrganizationId == t.EducationOrganizationId) }).ToList() ; model.SelectedSchoolIds = model.Organizations.Select(o => o.EducationOrganizationId.ToString()).ToList(); model.Applications = VendorApplications(model.ApplicationClaimsetDetailSchoolLevelClaimset, model.ApplicationVendorVendorId, model.ApplicationClaimSetName); return(PartialView("EditSubscription", model)); }
public JsonResult NewSubscription(AgencyClientModel model) { if (model != null && ModelState.IsValid) { try { var vendor = _vendorBusiness.GetVendorById(model.ApplicationVendorVendorId); int?[] selectedSchoolIds = null; if (model.SelectedSchoolIds != null && model.SelectedSchoolIds.Count > 0) { selectedSchoolIds = model.SelectedSchoolIds.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => (int?)int.Parse(x)).ToArray(); } //TODO- this is implementation specific and not handled here var email = _vendorSubscriptionBusiness.Subscribe(WamsUser.WamsId, EducationOrganizationId, vendor.VendorName, model.ApplicationClaimSetName, selectedSchoolIds); if (email.To.Any()) { MailService ms = new MailService(); ms.SendEmail(email); } if (vendor != null) { _agreementBusiness.UpsertVendorSub( EducationOrganizationId, WamsUser.WamsId, vendor.VendorId); } return(Json(new { success = true })); } catch (Exception e) { return(Json(new { success = false, Errors = string.Format("Could not add subscription: {0}", e.Message) })); } } return(Json(new { success = true })); }