// Edit Description by Id public bool UpdateDescription(int id, DescriptionEdit model) { using (var ctx = new ApplicationDbContext()) { var entity = ctx.Descriptions.SingleOrDefault(e => e.DescriptionId == id); entity.DescriptionName = model.DescriptionName; return(ctx.SaveChanges() == 1); } }
//Get: Description/Edit/{id} public ActionResult Edit(int id) { var service = new DescriptionService(); var detail = service.GetDescription(id); var model = new DescriptionEdit { DescriptionId = detail.DescriptionId, DescriptionName = detail.DescriptionName, }; return(View(model)); }
// Draw the edit tab that contains all things concerning editing the mod. private void DrawEditModTab() { using var tab = DrawTab(EditModTabHeader, Tabs.Edit); if (!tab) { return; } using var child = ImRaii.Child("##editChild", -Vector2.One); if (!child) { return; } _cellPadding = ImGui.GetStyle().CellPadding with { X = 2 * ImGuiHelpers.GlobalScale }; _itemSpacing = ImGui.GetStyle().CellPadding with { X = 4 * ImGuiHelpers.GlobalScale }; EditButtons(); EditRegularMeta(); ImGui.Dummy(_window._defaultSpace); if (Input.Text("Mod Path", Input.Path, Input.None, _leaf.FullName(), out var newPath, 256, _window._inputTextWidth.X)) { try { _window._penumbra.ModFileSystem.RenameAndMove(_leaf, newPath); } catch (Exception e) { PluginLog.Warning(e.Message); } } ImGui.Dummy(_window._defaultSpace); AddOptionGroup.Draw(_window, _mod); ImGui.Dummy(_window._defaultSpace); for (var groupIdx = 0; groupIdx < _mod.Groups.Count; ++groupIdx) { EditGroup(groupIdx); } EndActions(); DescriptionEdit.DrawPopup(_window); }
// Anything about editing the regular meta information about the mod. private void EditRegularMeta() { if (Input.Text("Name", Input.Name, Input.None, _mod.Name, out var newName, 256, _window._inputTextWidth.X)) { Penumbra.ModManager.ChangeModName(_mod.Index, newName); } if (Input.Text("Author", Input.Author, Input.None, _mod.Author, out var newAuthor, 256, _window._inputTextWidth.X)) { Penumbra.ModManager.ChangeModAuthor(_mod.Index, newAuthor); } if (Input.Text("Version", Input.Version, Input.None, _mod.Version, out var newVersion, 32, _window._inputTextWidth.X)) { Penumbra.ModManager.ChangeModVersion(_mod.Index, newVersion); } if (Input.Text("Website", Input.Website, Input.None, _mod.Website, out var newWebsite, 256, _window._inputTextWidth.X)) { Penumbra.ModManager.ChangeModWebsite(_mod.Index, newWebsite); } var spacing = new Vector2(3 * ImGuiHelpers.GlobalScale); using var style = ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, spacing); var reducedSize = new Vector2(_window._inputTextWidth.X - _window._iconButtonSize.X - spacing.X, 0); if (ImGui.Button("Edit Description", reducedSize)) { _delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_mod, Input.Description)); } ImGui.SameLine(); var fileExists = File.Exists(_mod.MetaFile.FullName); var tt = fileExists ? "Open the metadata json file in the text editor of your choice." : "The metadata json file does not exist."; if (ImGuiUtil.DrawDisabledButton($"{FontAwesomeIcon.FileExport.ToIconString()}##metaFile", _window._iconButtonSize, tt, !fileExists, true)) { Process.Start(new ProcessStartInfo(_mod.MetaFile.FullName) { UseShellExecute = true }); } }
public ActionResult Edit(int id, DescriptionEdit model) { var service = new DescriptionService(); if (!ModelState.IsValid) { return(View(model)); } if (service.UpdateDescription(id, model)) { TempData["SaveResult"] = "Description Updated"; return(RedirectToAction("Index")); } ModelState.AddModelError("", "Description could not be updated"); return(View(model)); }
internal void EditDescription() { //Populate the excel data GlobalDefinitions.ExcelLib.PopulateInCollection(Base.ExcelPath, "Profile"); // Refresh the page GlobalDefinitions.driver.Navigate().Refresh(); //Click on edit Description GlobalDefinitions.WaitForElementVisibility(GlobalDefinitions.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[3]/div/div/div/h3/span/i", 10000); DescriptionEdit.Click(); //Click on Description Text and clear the details GlobalDefinitions.WaitForElementVisibility(GlobalDefinitions.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[3]/div/div/form/div/div/div[2]/div[1]/textarea", 10000); Thread.Sleep(1000); DescriptionBox.Clear(); DescriptionBox.SendKeys(GlobalDefinitions.ExcelLib.ReadData(3, "Description")); //Click on Save button GlobalDefinitions.WaitForElementVisibility(GlobalDefinitions.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[3]/div/div/form/div/div/div[2]/button", 10000); SaveDescription.Click(); Base.test.Log(LogStatus.Info, "Description Edited Successfully"); }
// Enter Profile internal void EnterProfile() { // Populate the data saved in Excel to Collection try { GlobalDefinitions.ExcelLib.PopulateInCollection(Base.ExcelPath, "Profile"); } catch (Exception e) { Assert.Fail("Test failed to populate in collection at entering profile step", e.Message); } #region Enter Availability Type try { // Click Edit icon GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//span[contains(text(),'Time')]/i", 5); AvailabilityTimeEdit.Click(); // Click dropdown menu AvailabilityTime.Click(); // Choose Availability parttime; fulltime new SelectElement(AvailabilityTime).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Availability Type")); //Base.test.Log(LogStatus.Info, "Enter availability type successfully"); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter availability type successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter Availability Type", ex.Message); } #endregion #region Enter Availability Hours try { // Click Edit icon GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//span[contains(text(),'30hours') or contains(text(),'As needed')]/i", 5); AvailabilityHoursEdit.Click(); // Click dropdown menu AvailabilityHours.Click(); // Select Hours 0-less than 30h; 1-more than 30h 2-as needed new SelectElement(AvailabilityHours).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Availability Hours")); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter availability successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter Availability Hours", ex.Message); } #endregion #region Enter Earn Target try { // Click Edit icon GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//span[contains(text(),'per month')]/i", 5); SalaryEdit.Click(); // Click dropdown menu Salary.Click(); // Click earn 0-less than 500; 1-500~1000; 2-more than 1000 new SelectElement(Salary).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Earn Target")); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter earn target successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter Earn Target", ex.Message); } #endregion #region Enter Description try { // Click Edit icon DescriptionEdit.Click(); // Input description in text area GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//textarea[@name='value']", 5); Description.Clear(); Description.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Description")); // Click Save DescriptionSave.Click(); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter description successfully"); } catch (Exception ex) { Assert.Fail("Test failed to Enter Description", ex.Message); } #endregion #region Enter Language try { // Click Language tab GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//a[@data-tab='first']", 5); LanguageTab.Click(); // Click Add New GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//div[@data-tab='first']//div[contains(text(),'Add New')]", 5); LanguageAddNewBtn.Click(); // Enter Language GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//input[@placeholder='Add Language']", 5); LanguageName.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Language")); // Choose Language level 0-basic; 1-conversational; 2-fluent; 3-native LanguageDropdownBox.Click(); new SelectElement(LanguageDropdownBox).SelectByText (GlobalDefinitions.ExcelLib.ReadData(2, "Language Level")); // Need using OpenQA.Selenium.Support.UI; // Click Add LanguageAddBtn.Click(); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter language successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter/add Language", ex.Message); } #endregion #region Enter Skills try { // Click Skills tab GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//a[@data-tab='second']", 5); SkillTab.Click(); // Click Add New GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//div[@data-tab='second']//div[contains(text(),'Add New')]", 5); SkillAddNewBtn.Click(); // Enter Skill GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//input[@placeholder='Add Skill']", 5); SkillName.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Skill")); // Choose Skill level 0-beginer; 1-intermediate; 2-expert SkillDropdownBox.Click(); new SelectElement(SkillDropdownBox).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Skill Level")); // Click Add SkillAddBtn.Click(); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter skills successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter/add Skills", ex.Message); } #endregion #region Enter Education try { // Click Education tab GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//a[@data-tab='third']", 5); EducationTab.Click(); // Click Add New GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//div[@data-tab='third']//div[contains(text(),'Add New')]", 5); EducationAddNewBtn.Click(); // Enter University Name GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//input[@name='instituteName']", 5); EducationName.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "University")); // Enter Degree EducationDegree.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Degree")); // Choose Country EducationCountryDropdownBox.Click(); new SelectElement(EducationCountryDropdownBox).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Country")); // Choose Title 0-Associate; 1-B.A; 2-BArch; 3-BFA; 4-B.Sc... EducationTitleDropdownBox.Click(); new SelectElement(EducationTitleDropdownBox).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Title")); // Choose Year EducationGraduationYearDropdownBox.Click(); new SelectElement(EducationGraduationYearDropdownBox).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Graduation Year")); // Click Add EducationAddBtn.Click(); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter education successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter/add Education", ex.Message); } #endregion #region Enter Certifications try { // Click Certifications tab GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//a[@data-tab='fourth']", 5); CertificationTab.Click(); // Click Add New GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//div[@data-tab='fourth']//div[contains(text(),'Add New')]", 5); CertificationAddNewBtn.Click(); // Enter Certificate name GlobalDefinitions.WaitForElement(GlobalDefinitions.driver, "XPath", "//input[@name='certificationName']", 5); CertificationName.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Certificate")); // Enter Issuing place CertificationFrom.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "CertifiedFrom")); // Choose Year CertificationYearDropdownBox.Click(); new SelectElement(CertificationYearDropdownBox).SelectByText(GlobalDefinitions.ExcelLib.ReadData(2, "Certificate Issuing Year")); // Click Add CertificationAddBtn.Click(); Base.test.Log(RelevantCodes.ExtentReports.LogStatus.Pass, "Enter certificate successfully"); } catch (Exception ex) { Assert.Fail("Test failed to enter/add Certificate", ex.Message); } #endregion }
private void EditGroup(int groupIdx) { var group = _mod.Groups[groupIdx]; using var id = ImRaii.PushId(groupIdx); using var frame = ImRaii.FramedGroup($"Group #{groupIdx + 1}"); using var style = ImRaii.PushStyle(ImGuiStyleVar.CellPadding, _cellPadding) .Push(ImGuiStyleVar.ItemSpacing, _itemSpacing); if (Input.Text("##Name", groupIdx, Input.None, group.Name, out var newGroupName, 256, _window._inputTextWidth.X)) { Penumbra.ModManager.RenameModGroup(_mod, groupIdx, newGroupName); } ImGuiUtil.HoverTooltip("Group Name"); ImGui.SameLine(); if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Trash.ToIconString(), _window._iconButtonSize, "Delete this option group.\nHold Control while clicking to delete.", !ImGui.GetIO().KeyCtrl, true)) { _delayedActions.Enqueue(() => Penumbra.ModManager.DeleteModGroup(_mod, groupIdx)); } ImGui.SameLine(); if (Input.Priority("##Priority", groupIdx, Input.None, group.Priority, out var priority, 50 * ImGuiHelpers.GlobalScale)) { Penumbra.ModManager.ChangeGroupPriority(_mod, groupIdx, priority); } ImGuiUtil.HoverTooltip("Group Priority"); DrawGroupCombo(group, groupIdx); ImGui.SameLine(); var tt = groupIdx == 0 ? "Can not move this group further upwards." : $"Move this group up to group {groupIdx}."; if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.ArrowUp.ToIconString(), _window._iconButtonSize, tt, groupIdx == 0, true)) { _delayedActions.Enqueue(() => Penumbra.ModManager.MoveModGroup(_mod, groupIdx, groupIdx - 1)); } ImGui.SameLine(); tt = groupIdx == _mod.Groups.Count - 1 ? "Can not move this group further downwards." : $"Move this group down to group {groupIdx + 2}."; if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.ArrowDown.ToIconString(), _window._iconButtonSize, tt, groupIdx == _mod.Groups.Count - 1, true)) { _delayedActions.Enqueue(() => Penumbra.ModManager.MoveModGroup(_mod, groupIdx, groupIdx + 1)); } ImGui.SameLine(); if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Edit.ToIconString(), _window._iconButtonSize, "Edit group description.", false, true)) { _delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_mod, groupIdx)); } ImGui.SameLine(); var fileName = group.FileName(_mod.ModPath, groupIdx); var fileExists = File.Exists(fileName); tt = fileExists ? $"Open the {group.Name} json file in the text editor of your choice." : $"The {group.Name} json file does not exist."; if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.FileExport.ToIconString(), _window._iconButtonSize, tt, !fileExists, true)) { Process.Start(new ProcessStartInfo(fileName) { UseShellExecute = true }); } ImGui.Dummy(_window._defaultSpace); OptionTable.Draw(this, groupIdx); }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { DescriptionEdit.BackgroundFocus(); }
internal void EditProfile() { //Populate the Excel Sheet GlobalDefinitions.ExcelLib.PopulateInCollections(Base.ExcelPath, "Profile"); GlobalDefinitions.wait(60); //builder.MoveToElement(HoursEdit).Build().Perform(); AvailabilityEdit.Click(); HoursEdit.Click(); EarnTargetEdit.Click(); AvailabilityDropDown.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "AvailableTime")); HoursDropDown.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Hours")); EarnTargetDropDown.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "EarnTarget")); //--------------------------------------------------------- #region Languages //Click on Add New Language button AddNewLangBtn.Click(); GlobalDefinitions.wait(20); //Enter the Language AddLangText.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Language")); //Choose Language Level ChooseLang.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "LanguageLevel")); ChooseLang.Click(); AddLang.Click(); GlobalDefinitions.wait(10); Base.test.Log(LogStatus.Info, "Added Language successfully"); #endregion //----------------------------------------------------------- #region Skills //Click on Skill Tab SkillTab.Click(); //Click on Add New Skill Button AddNewSkillBtn.Click(); GlobalDefinitions.wait(20); //Enter the skill AddSkillText.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Skill")); //Click the skill dropdown ChooseSkill.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "SkillLevel")); ChooseSkill.Click(); //Click Add button AddSkill.Click(); GlobalDefinitions.wait(10); Base.test.Log(LogStatus.Info, "Added Skills successfully"); #endregion //--------------------------------------------------------- #region Education //EducationTab Educationtab.Click(); //Add Education AddNewEducation.Click(); GlobalDefinitions.wait(20); //Enter the University EnterUniversity.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "University")); //Choose Country ChooseCountry.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Country")); ChooseCountry.Click(); GlobalDefinitions.wait(10); //Choose Title ChooseTitle.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Title")); ChooseTitle.Click(); GlobalDefinitions.wait(10); //Enter Degree Degree.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Degree")); //Year of Graduation DegreeYear.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "GraduationYear")); DegreeYear.Click(); GlobalDefinitions.wait(10); //Click Add Button AddEdu.Click(); GlobalDefinitions.wait(10); Base.test.Log(LogStatus.Info, "Added Education successfully"); #endregion //------------------------------------------------- #region Certification //CertificationTab CertificationTab.Click(); //Add new Certificate AddNewCerti.Click(); //Enter Certificate Name EnterCerti.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Certification")); //Enter Certified from CertiFrom.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Certified From")); //Enter the Year CertiYear.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "CertYear")); CertiYear.Click(); GlobalDefinitions.wait(10); AddCerti.Click(); GlobalDefinitions.wait(10); Base.test.Log(LogStatus.Info, "Added Certificate successfully"); #endregion //----------------------------------------------------- #region Description //Add Description DescriptionEdit.Click(); GlobalDefinitions.wait(100); DescriptionWrite.Click(); GlobalDefinitions.wait(120); DescriptionWrite.Clear(); GlobalDefinitions.wait(60); DescriptionWrite.SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Description")); GlobalDefinitions.wait(30); Save.Click(); Base.test.Log(LogStatus.Info, "Added Description successfully"); #endregion }