/// <summary> /// Handles Load event for a control. /// </summary> /// <param name="e">Event args.</param> protected override void OnLoad (EventArgs e) { base.OnLoad (e); if (DotNetNuke.Framework.AJAX.IsInstalled ()) DotNetNuke.Framework.AJAX.RegisterScriptManager (); try { // parse querystring parameters itemId = Utils.ParseToNullableInt (Request.QueryString ["employee_id"]); if (!IsPostBack) { // load the data into the control the first time we hit this page // check we have an item to lookup // ALT: if (!Null.IsNull (itemId) if (itemId.HasValue) { // load the item var item = EmployeeController.Get<EmployeeInfo> (itemId.Value); if (item != null) { textLastName.Text = item.LastName; textFirstName.Text = item.FirstName; textOtherName.Text = item.OtherName; textPhone.Text = item.Phone; textCellPhone.Text = item.CellPhone; textFax.Text = item.Fax; textEmail.Text = item.Email; textSecondaryEmail.Text = item.SecondaryEmail; textWebSite.Text = item.WebSite; textWebSiteLabel.Text = item.WebSiteLabel; textMessenger.Text = item.Messenger; textWorkingPlace.Text = item.WorkingPlace; textBiography.Text = item.Biography; // load working hours WorkingHoursLogic.Load (comboWorkingHours, textWorkingHours, item.WorkingHours); if (!Null.IsNull (item.ExperienceYears)) textExperienceYears.Text = item.ExperienceYears.ToString (); if (!Null.IsNull (item.ExperienceYearsBySpec)) textExperienceYearsBySpec.Text = item.ExperienceYearsBySpec.ToString (); checkIsPublished.Checked = item.IsPublished; // set photo if (!Utils.IsNull (item.PhotoFileID)) { var photo = FileManager.Instance.GetFile (item.PhotoFileID.Value); if (photo != null) { pickerPhoto.FileID = photo.FileId; } } if (!Null.IsNull (item.UserID)) { var user = UserController.GetUserById (this.PortalId, item.UserID.Value); if (user != null) { // add previously selected user to user list... comboUsers.AddItem (user.Username + " / " + user.Email, user.UserID.ToString ()); // listUsers.Items.Add (new ListItem (user.Username + " / " + user.Email, user.UserID.ToString ())); // and select it // listUsers.SelectedIndex = 1; comboUsers.SelectedIndex = 1; } } // read OccupiedPositions data var occupiedPositionInfoExs = EmployeeController.GetObjects<OccupiedPositionInfoEx> ( "WHERE [EmployeeID] = @0 ORDER BY [IsPrime] DESC", itemId.Value); // fill view list var occupiedPositions = new List<OccupiedPositionView> (); foreach (var op in occupiedPositionInfoExs) occupiedPositions.Add (new OccupiedPositionView (op)); // bind occupied positions ViewState ["occupiedPositions"] = occupiedPositions; gridOccupiedPositions.DataSource = OccupiedPositionsDataTable (occupiedPositions); gridOccupiedPositions.DataBind (); // read employee achievements var achievementInfos = EmployeeController.GetObjects<EmployeeAchievementInfo> ( CommandType.Text, "SELECT * FROM dbo.vw_University_EmployeeAchievements WHERE [EmployeeID] = @0", itemId.Value); // fill achievements list var achievements = new List<EmployeeAchievementView> (); foreach (var achievement in achievementInfos) { var achView = new EmployeeAchievementView (achievement); achView.Localize (LocalResourceFile); achievements.Add (achView); } // bind achievements ViewState ["achievements"] = achievements; gridAchievements.DataSource = AchievementsDataTable (achievements); gridAchievements.DataBind (); // read employee educational programs var disciplineInfos = EmployeeController.GetObjects<EmployeeDisciplineInfoEx> ( "WHERE [EmployeeID] = @0", itemId.Value); // fill disciplines list var disciplines = new List<EmployeeDisciplineView> (); foreach (var eduprogram in disciplineInfos) disciplines.Add (new EmployeeDisciplineView (eduprogram)); // bind disciplines ViewState ["disciplines"] = disciplines; gridEduPrograms.DataSource = EduProgramsDataTable (disciplines); gridEduPrograms.DataBind (); // setup audit control ctlAudit.Bind (item); } else Response.Redirect (Globals.NavigateURL (), true); } else { buttonDelete.Visible = false; ctlAudit.Visible = false; } // then edit / add from EmployeeList, divisionId query param // can be set to current division ID var divisionId = Request.QueryString ["division_id"]; Utils.SelectAndExpandByValue (treeDivisions, divisionId); } } catch (Exception ex) { Exceptions.ProcessModuleLoadException (this, ex); } }
protected void buttonAddAchievement_Command (object sender, CommandEventArgs e) { try { SelectedTab = EditEmployeeTab.Achievements; EmployeeAchievementView achievement; // get achievements list from viewstate var achievements = ViewState ["achievements"] as List<EmployeeAchievementView>; // creating new list, if none if (achievements == null) achievements = new List<EmployeeAchievementView>(); var command = e.CommandArgument.ToString (); if (command == "Add") { achievement = new EmployeeAchievementView (); } else { // restore ItemID from hidden field var hiddenItemID = int.Parse (hiddenAchievementItemID.Value); achievement = achievements.Find (ach => ach.ItemID == hiddenItemID); } achievement.AchievementID = Utils.ParseToNullableInt (comboAchievements.SelectedValue); if (achievement.AchievementID == null) { achievement.Title = textAchievementTitle.Text.Trim(); achievement.ShortTitle = textAchievementShortTitle.Text.Trim(); achievement.AchievementType = (AchievementType)Enum.Parse (typeof(AchievementType), comboAchievementTypes.SelectedValue); } else { var ach = CommonAchievements.Find (a => a.AchievementID.ToString () == comboAchievements.SelectedValue); achievement.Title = ach.Title; achievement.ShortTitle = ach.ShortTitle; achievement.AchievementType = ach.AchievementType; } achievement.TitleSuffix = textAchievementTitleSuffix.Text.Trim(); achievement.Description = textAchievementDescription.Text.Trim(); achievement.IsTitle = checkIsTitle.Checked; achievement.YearBegin = Utils.ParseToNullableInt (textYearBegin.Text); achievement.YearEnd = Utils.ParseToNullableInt (textYearEnd.Text); achievement.DocumentURL = urlDocumentURL.Url; achievement.Localize (LocalResourceFile); if (command == "Add") { achievements.Add (achievement); } ResetEditAchievementForm (); // refresh viewstate ViewState ["achievements"] = achievements; // bind achievements to the gridview gridAchievements.DataSource = AchievementsDataTable (achievements); gridAchievements.DataBind (); } catch (Exception ex) { Exceptions.ProcessModuleLoadException (this, ex); } }