public override IList <SearchDocument> GetModifiedSearchDocuments(ModuleInfo moduleInfo, DateTime beginDateUtc) { var searchDocs = new List <SearchDocument> (); var settings = new EduProgramSettingsRepository().GetSettings(moduleInfo); var portalSettings = HttpOffContextHelper.GetPortalSettings(moduleInfo.PortalID, moduleInfo.TabID, moduleInfo.CultureCode); var eduProgram = default(EduProgramInfo); if (settings.EduProgramId != null) { using (var modelContext = new UniversityModelContext()) { eduProgram = new EduProgramQuery(modelContext).SingleOrDefault(settings.EduProgramId.Value); } } if (eduProgram != null && eduProgram.LastModifiedOnDate.ToUniversalTime() > beginDateUtc.ToUniversalTime()) { var sd = new SearchDocument { PortalId = moduleInfo.PortalID, AuthorUserId = eduProgram.LastModifiedByUserId, Title = eduProgram.FormatTitle(), Body = eduProgram.SearchText(), ModifiedTimeUtc = eduProgram.LastModifiedOnDate.ToUniversalTime(), UniqueKey = string.Format("University_EduProgram_{0}", eduProgram.EduProgramID), Url = eduProgram.GetSearchUrl(moduleInfo, portalSettings), IsActive = eduProgram.IsPublished(DateTime.Now) }; searchDocs.Add(sd); } return(searchDocs); }
protected override void AddItem(EduProgramInfo item) { if (SecurityContext.CanAdd(typeof(EduProgramInfo))) { var now = DateTime.Now; new AddCommand <EduProgramInfo> (ModelContext, SecurityContext).Add(item, now); ModelContext.SaveChanges(false); if (checkAddDefaultProfile.Checked) { var defaultProfile = new EduProgramProfileInfo { ProfileCode = string.Empty, ProfileTitle = string.Empty, EduProgramID = item.EduProgramID, EduLevelId = item.EduLevelID, Languages = UniversityConfig.Instance.EduProgramProfiles.DefaultLanguages, // unpublish profile EndDate = item.CreatedOnDate.Date }; new AddCommand <EduProgramProfileInfo> (ModelContext, SecurityContext).Add(defaultProfile, now); ModelContext.SaveChanges(false); } // update EduProgram module settings then adding new item if (ModuleConfiguration.ModuleDefinition.DefinitionName == "R7_University_EduProgram") { var settingsRepository = new EduProgramSettingsRepository(); var settings = settingsRepository.GetSettings(ModuleConfiguration); settings.EduProgramId = item.EduProgramID; settingsRepository.SaveSettings(ModuleConfiguration, settings); } new UpdateDocumentsCommand(ModelContext) .Update(formEditDocuments.GetModifiedData(), ModelType.EduProgram, item.EduProgramID, UserId); new UpdateEduProgramDivisionsCommand(ModelContext) .Update(formEditDivisions.GetModifiedData(), ModelType.EduProgram, item.EduProgramID); ModelContext.SaveChanges(); } }
/// <summary> /// Handles Click event for Update button /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='e'> /// Event args. /// </param> protected void buttonUpdate_Click (object sender, EventArgs e) { // HACK: Dispose current model context used in load to create new one for update if (modelContext != null) { modelContext.Dispose (); modelContext = null; } try { EduProgramInfo item; var isNew = false; // determine if we are adding or updating // ALT: if (Null.IsNull (itemId)) if (!itemId.HasValue) { // add new record item = new EduProgramInfo (); isNew = true; } else { // update existing record item = ModelContext.Get<EduProgramInfo> (itemId.Value); } // fill the object item.Code = textCode.Text.Trim (); item.Title = textTitle.Text.Trim (); item.Generation = textGeneration.Text.Trim (); item.StartDate = datetimeStartDate.SelectedDate; item.EndDate = datetimeEndDate.SelectedDate; item.HomePage = urlHomePage.Url; // update references item.EduLevelID = int.Parse (comboEduLevel.SelectedValue); item.EduLevel = ModelContext.Get<EduLevelInfo> (item.EduLevelID); item.DivisionId = divisionSelector.DivisionId; if (itemId == null) { item.CreatedOnDate = DateTime.Now; item.LastModifiedOnDate = item.CreatedOnDate; item.CreatedByUserID = UserInfo.UserID; item.LastModifiedByUserID = item.CreatedByUserID; ModelContext.Add<EduProgramInfo> (item); ModelContext.SaveChanges (false); if (checkAddDefaultProfile.Checked) { var defaultProfile = new EduProgramProfileInfo { ProfileCode = string.Empty, ProfileTitle = string.Empty, EduProgramID = item.EduProgramID, EduLevelId = item.EduLevelID, CreatedOnDate = item.CreatedOnDate, LastModifiedOnDate = item.LastModifiedOnDate, CreatedByUserID = item.CreatedByUserID, LastModifiedByUserID = item.LastModifiedByUserID, // unpublish profile EndDate = item.CreatedOnDate.Date }; ModelContext.Add<EduProgramProfileInfo> (defaultProfile); ModelContext.SaveChanges (false); } } else { item.LastModifiedOnDate = DateTime.Now; item.LastModifiedByUserID = UserInfo.UserID; // REVIEW: Solve on SqlDataProvider level on upgrage to 2.0.0? if (item.CreatedOnDate == default (DateTime)) { item.CreatedOnDate = item.LastModifiedOnDate; item.CreatedByUserID = item.LastModifiedByUserID; } ModelContext.Update<EduProgramInfo> (item); } // update EduProgram module settings then adding new item if (isNew && ModuleConfiguration.ModuleDefinition.DefinitionName == "R7.University.EduProgram") { var settingsRepository = new EduProgramSettingsRepository (); var settings = settingsRepository.GetSettings (ModuleConfiguration); settings.EduProgramId = item.EduProgramID; settingsRepository.SaveSettings (ModuleConfiguration, settings); } // update related documents new UpdateDocumentsCommand (ModelContext) .UpdateDocuments (formEditDocuments.GetData (), DocumentModel.EduProgram, item.EduProgramID); ModelContext.SaveChanges (); ModuleController.SynchronizeModule (ModuleId); Response.Redirect (Globals.NavigateURL (), true); } catch (Exception ex) { Exceptions.ProcessModuleLoadException (this, ex); } }