protected void itemDetailsView_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { // Because ObjectDataSource loses all the non-displayed values, as well as composite values, // we need to reload them here from the object. log.Debug(String.Format("Updating item {0}", e.Keys["Id"])); MPRSession session = MPRController.StartSession(); MPItem item = MPRController.RetrieveById <MPItem>(session, (Int64)e.Keys["Id"]); item.Name = (string)e.NewValues["Name"]; item.Description = (string)e.NewValues["Description"]; item.DescriptionShort = (string)e.NewValues["DescriptionShort"]; item.Author = (string)e.NewValues["Author"]; item.Homepage = (string)e.NewValues["Homepage"]; item.License = (string)e.NewValues["License"]; item.LicenseMustAccept = (bool)e.NewValues["LicenseMustAccept"]; item.Tags = MPRController.GetTags(session, ((TextBox)itemDetailsView.FindControl("tagsTextBox")).Text); MPRController.Save <MPItem>(session, item); MPRController.EndSession(session, true); log.Info(String.Format("Updated item {0} ({1})", e.Keys["Id"], e.NewValues["Name"])); // Manually reset the form to view format e.Cancel = true; itemDetailsView.ChangeMode(DetailsViewMode.ReadOnly); }
public void TestTagsParse() { //string tagsList = "video,music,test2,test3"; string tagsList = "video,music,test1"; MPRSession session = MPRController.StartSession(); ISet <MPTag> tags = MPRController.GetTags(session, tagsList); Assert.That(tags.Count, Is.EqualTo(3)); foreach (MPTag tag in tags) { System.Console.WriteLine("{0} : {1}", tag.Id, tag.Name); } MPRController.EndSession(session, true); }
/// <summary> /// Handle the actual creation of the entity /// </summary> /// <param name="filename">the name of the local file</param> /// <returns>success or failure</returns> protected bool AddFileToRepository(string filename) { MPRSession session = MPRController.StartSession(); MPUser user = SessionUtils.GetCurrentUser(); MPItem item = new MPItem(); item.Name = titleTextBox.Text; Int64 typeId; if (!Int64.TryParse(typesList.SelectedValue, out typeId)) { return(UploadFail(String.Format("Invalid item type {0}", typesList.SelectedValue))); } item.Type = MPRController.RetrieveById <MPItemType>(session, typeId); if (item.Type == null) { return(UploadFail(String.Format("Unable to find item type {0} ({1})", typesList.SelectedItem, typeId))); } List <Int64> categoryIds = new List <Int64>(); foreach (ListItem categoryItem in categoriesList.Items) { if (categoryItem.Selected) { Int64 id; if (Int64.TryParse(categoryItem.Value, out id)) { categoryIds.Add(id); } } } IList <MPCategory> categories = MPRController.RetrieveByIdList <MPCategory>(session, categoryIds); foreach (MPCategory category in categories) { item.Categories.Add(category); } item.Description = descriptionTextBox.Text; item.DescriptionShort = descriptionShortTextBox.Text; item.License = licenseTextBox.Text; item.LicenseMustAccept = licenseMustAccessCheckBox.Checked; item.Author = authorTextBox.Text; item.Homepage = homepageTextbox.Text; item.Tags = MPRController.GetTags(session, tagsTextBox.Text); // create ItemVersion MPItemVersion itemVersion = new MPItemVersion(); itemVersion.Item = item; itemVersion.Uploader = user; itemVersion.DevelopmentStatus = (MPItemVersion.MPDevelopmentStatus)Enum.Parse(typeof(MPItemVersion.MPDevelopmentStatus), developmentStatusDropDownList.SelectedValue); itemVersion.MPVersionMin = mpVersionMinTextBox.Text; itemVersion.MPVersionMax = mpVersionMaxTextBox.Text; itemVersion.Version = versionTextBox.Text; MPFile mpfile = new MPFile(); mpfile.ItemVersion = itemVersion; mpfile.Filename = System.IO.Path.GetFileName(fileUpload.PostedFile.FileName); mpfile.Location = filename; itemVersion.Files.Add(mpfile); item.Versions.Add(itemVersion); // Save item (and sub-items) to database try { MPRController.Save <MPItem>(session, item); MPRController.EndSession(session, true); } catch (Exception ex) { MPRController.EndSession(session, false); return(UploadFail("Unable to save item: " + ex.ToString())); } return(true); }