private void tbTrackReleases_ButtonClicked(object sender, Framework.UI.Controls.MRTitleBar.ActionButtonEventArgs e) { if (e.Action == Framework.UI.Controls.MRTitleBar.eButtonAction.Add) { var record = new EditXmlFileModel(); using (var frm = new FileForm(record)) { if (frm.ShowDialog() == DialogResult.OK) { Model.Files.Add(record); dgvFiles.ClearSelection(); var model = new AudioAlbumModel() { FullFileName = record.FullName }; using (var frmEdit = new Generation.ERN_382.ERN_382GenerationFormAudioAlbumMusicOnly(model)) { frmEdit.ShowDialog(); } } } } }
private void ERN_382GenerationFormAudioAlbumMusicOnly_Load(object sender, EventArgs e) { AudioAlbumModel m = GetModelFromFile(Model.FullFileName); if (m != null) { Model.CopyFromSource(m); lblPath.Text = Model.FullFileName; } InitBindings(); dgvSoundRecordingsAndReleases.ClearSelection(); }
private AudioAlbumModel GetModelFromFile(string fileName) { AudioAlbumModel ret = null; try { ret = (AudioAlbumModel)Binder.GetModelFromXmlObject(Binder.GetXmlObjectFromFile(fileName)); } catch (Exception ex) { MRMessageBox.Show(string.Format("Unable to read file {1}.\n{0}", ex.Message, fileName), MRMessageBox.eMessageBoxStyle.OK, MRMessageBox.eMessageBoxType.Error); } return(ret); }
private void dgvFiles_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { EditXmlFileModel record = (EditXmlFileModel)dgvFiles.CurrentRow.DataBoundItem; if (record != null) { var model = new AudioAlbumModel() { FullFileName = record.FullName }; var frm = new Generation.ERN_382.ERN_382GenerationFormAudioAlbumMusicOnly((AudioAlbumModel)model) { Editable = true }; frm.MdiParent = Globals.MDIMainForm; frm.Show(); } }
//private static NewReleaseMessage BindToObject() //{ // if (XmlObject == null) // { // XmlObject = new NewReleaseMessage() // { // ReleaseProfileVersionId = "CommonReleaseTypesTypes/13/AudioAlbumMusicOnly", // LanguageAndScriptCode = "en", // MessageSchemaVersionId = "ern/382", // IsBackfill = false, // IsBackfillSpecified = true // }; // } // XmlObject.UpdateIndicator = UpdateIndicator.OriginalMessage; // if (XmlObject.MessageHeader == null) // { // XmlObject.MessageHeader = new MessageHeader(); // } // XmlObject.MessageHeader.MessageId = messageID; // XmlObject.MessageHeader.MessageThreadId = messageID; // if (XmlObject.MessageHeader.MessageSender == null) // { // XmlObject.MessageHeader.MessageSender = new MessagingParty(); // } // if (XmlObject.MessageHeader.MessageSender.PartyId == null) // { // PartyId[] senderIDs = { new PartyId() }; // XmlObject.MessageHeader.MessageSender.PartyId = senderIDs; // } // XmlObject.MessageHeader.MessageSender.PartyId[0].Value = senderPartyID; // if (XmlObject.MessageHeader.MessageSender.PartyName == null) // { // XmlObject.MessageHeader.MessageSender.PartyName = new PartyName(); // } // if (XmlObject.MessageHeader.MessageSender.PartyName.FullName == null) // { // XmlObject.MessageHeader.MessageSender.PartyName.FullName = new Name(); // } // XmlObject.MessageHeader.MessageSender.PartyName.FullName.Value = senderPartyName; // if (XmlObject.MessageHeader.MessageRecipient == null) // { // var o = new MessagingParty(); // MessagingParty[] messageRecipient = { o }; // XmlObject.MessageHeader.MessageRecipient = messageRecipient; // } // if (XmlObject.MessageHeader.MessageRecipient[0].PartyId == null) // { // PartyId[] recipientIDs = { new PartyId() }; // XmlObject.MessageHeader.MessageRecipient[0].PartyId = recipientIDs; // } // XmlObject.MessageHeader.MessageRecipient[0].PartyId[0].Value = recipientPartyID; // if (XmlObject.MessageHeader.MessageRecipient[0].PartyName == null) // { // XmlObject.MessageHeader.MessageRecipient[0].PartyName = new PartyName(); // } // if (XmlObject.MessageHeader.MessageRecipient[0].PartyName.FullName == null) // { // XmlObject.MessageHeader.MessageRecipient[0].PartyName.FullName = new Name(); // } // XmlObject.MessageHeader.MessageRecipient[0].PartyName.FullName.Value = recipientPartyName; // XmlObject.MessageHeader.MessageCreatedDateTime = new DateTime(messageCreatedDateTime.Value.Ticks, DateTimeKind.Local); // XmlObject.UpdateIndicator = updateIndicator; // XmlObject.UpdateIndicatorSpecified = true; // if (XmlObject.ReleaseList == null) // { // XmlObject.ReleaseList = new ReleaseList(); // } // if (XmlObject.ReleaseList.Release == null || XmlObject.ReleaseList.Release.Length == 0) // { // XmlObject.ReleaseList.Release = new Release[0]; // } // if (XmlObject.ReleaseList.Release[0].ReleaseId == null || XmlObject.ReleaseList.Release[0].ReleaseId.Length == 0) // { // XmlObject.ReleaseList.Release[0].ReleaseId = new ReleaseId[0]; // } // XmlObject.ReleaseList.Release[0].ReleaseId[0].ICPN.Value = EAN; // return XmlObject; //} //private void BindToForm() //{ // if (XmlObject != null) // { // if (XmlObject.MessageHeader != null) // { // txtMessageID.Text = XmlObject.MessageHeader.MessageId; // if (XmlObject.MessageHeader.MessageSender.PartyId.Length > 0) // { // txtMessageSender_PartyID.Text = XmlObject.MessageHeader.MessageSender.PartyId[0].Value; // } // if (XmlObject.MessageHeader.MessageSender.PartyName != null && XmlObject.MessageHeader.MessageSender.PartyName.FullName != null) // { // txtMessageSender_PartyName.Text = XmlObject.MessageHeader.MessageSender.PartyName.FullName.Value; // } // if (XmlObject.MessageHeader.MessageRecipient != null && XmlObject.MessageHeader.MessageRecipient.Length > 0 && XmlObject.MessageHeader.MessageRecipient[0].PartyId != null && XmlObject.MessageHeader.MessageRecipient[0].PartyId.Length > 0) // { // txtMessageRecipient_PartyID.Text = XmlObject.MessageHeader.MessageRecipient[0].PartyId[0].Value; // } // if (XmlObject.MessageHeader.MessageRecipient != null && XmlObject.MessageHeader.MessageRecipient.Length > 0 && XmlObject.MessageHeader.MessageRecipient[0].PartyName != null && XmlObject.MessageHeader.MessageRecipient[0].PartyName.FullName != null) // { // txtMessageRecipient_PartyName.Text = XmlObject.MessageHeader.MessageRecipient[0].PartyName.FullName.Value; // } // dpMessageCreatedDateTime.Value = XmlObject.MessageHeader.MessageCreatedDateTime; // var val = ((List<ComboBoxItem>)cbUpdateIndicator.DataSource).Find(x => (UpdateIndicator)x.Value == XmlObject.UpdateIndicator); // for (int i = 0; i < cbUpdateIndicator.Items.Count; i++) // { // if (cbUpdateIndicator.Items[i] == val) // { // cbUpdateIndicator.SelectedIndex = i; // } // } // txtEAN.Text = ""; // if (XmlObject.ReleaseList != null && XmlObject.ReleaseList.Release != null && XmlObject.ReleaseList.Release.Length > 0 && XmlObject.ReleaseList.Release[0].ReleaseId != null && XmlObject.ReleaseList.Release[0].ReleaseId.Length > 0) // { // txtEAN.Text = XmlObject.ReleaseList.Release[0].ReleaseId[0].ICPN.Value; // } // } // } //} //public override IXmlObject GetXmlObject() //{ // var ret = new NewReleaseMessage() // { // ReleaseProfileVersionId = "CommonReleaseTypes/13/AudioSingle", // LanguageAndScriptCode ="en", // MessageSchemaVersionId = "ern/382" // }; // PartyId[] senderIDs = { new PartyId() { Value = "DPID_OF_THE_SENDER" } }; // PartyId[] recipientIDs = { new PartyId() { Value = "DPID_OF_THE_RECIPIENT" } }; // var o = new MessagingParty() { PartyId = recipientIDs }; // MessagingParty[] messageRecipient = { o }; // ret.MessageHeader = new MessageHeader() // { // MessageThreadId = "", // unique za seriju poruka // MessageId = "", // svaka poruka ima ovo unique (new guid ili sl) // MessageSender = new MessagingParty() { PartyId = senderIDs }, // MessageRecipient = messageRecipient, // MessageCreatedDateTime = DateTime.Now // }; // ret.UpdateIndicator = UpdateIndicator.OriginalMessage; // ret.UpdateIndicatorSpecified = true; // ret.IsBackfill = false; // ret.IsBackfillSpecified = true; // ret.ResourceList = new ResourceList(); // var lsSoundRecordings = new List<SoundRecording>(); // lsSoundRecordings.Add( // new SoundRecording() // { // SoundRecordingCollectionReferenceList = new SoundRecordingCollectionReferenceList() { SoundRecordingCollectionReference = new SoundRecordingCollectionReference[] { new SoundRecordingCollectionReference() { SequenceNumber = "1" } } }, // SoundRecordingType = new SoundRecordingType1() { Value = SoundRecordingType.MusicalWorkSoundRecording }, // SoundRecordingId = new List<SoundRecordingId>() { new SoundRecordingId() { ISRC = "CASE00000001" } }.ToArray(), // IndirectSoundRecordingId = new List<MusicalWorkId>() { new MusicalWorkId() { ISWC = "T1234567890" } }.ToArray(), // ovo maknuti // ResourceReference = "A1", // ReferenceTitle = new ReferenceTitle() { TitleText = new TitleText() { Value = "Prva pjesma" } }, // Duration = "PT3M33S", // RightsAgreementId = new RightsAgreementId() { ProprietaryId = new ProprietaryId[] { new ProprietaryId() { Value = "DPID:xxx" } } } // } // ); // ret.ResourceList.SoundRecording = lsSoundRecordings.ToArray(); // var lsImages = new List<Image>(); // var lsImageId = new List<ResourceProprietaryId>(); // var lsProprietaryId = new List<ProprietaryId>(); // var lsImageDetailsByTerritory = new List<ImageDetailsByTerritory>(); // lsImageDetailsByTerritory.Add( // new ImageDetailsByTerritory() // { // ParentalWarningType = new ParentalWarningType1[] { new ParentalWarningType1() { Value = ParentalWarningType.NotExplicit } }, // } // ); // lsProprietaryId.Add( // new ProprietaryId() { Namespace = "DPID:xxx", Value = "PID0001" } // ); // lsImageId.Add( // new ResourceProprietaryId() { ProprietaryId = lsProprietaryId.ToArray() } // ); // lsImages.Add( // new Image() // { // ImageType = new ImageType1() { Value = ImageType.FrontCoverImage }, // ImageId = lsImageId.ToArray(), // ResourceReference = "A2", // ImageDetailsByTerritory = lsImageDetailsByTerritory.ToArray() // } // ); // ret.ResourceList.Image = lsImages.ToArray(); // ret.ReleaseList = new ReleaseList() // { // Release = new Release[] { // new Release() // { // IsMainRelease = true, // ReleaseId = new ReleaseId[] { new ReleaseId() { GRid = "A1UCASE00000001X", ISRC = "CASE000001" } }, // ReleaseReference = new string[] { "R0" }, // ReferenceTitle = new ReferenceTitle() { TitleText = new TitleText() { Value = "Moj prvi release" } }, // //ReleaseCollectionReferenceList = new ReleaseCollectionReferenceList() { } // //ReleaseType = new ReleaseType1[] { new ReleaseType1() { Value = ReleaseType.Single } }, // ReleaseDetailsByTerritory = new ReleaseDetailsByTerritory [] // { // new ReleaseDetailsByTerritory() // { // DisplayArtistName = new Name[] { new Name() { Value = "Lima"} }, // LabelName = new LabelName [] { new LabelName() { Value = "Longplay records" } }, // Title = new Title[] // { // new Title() { TitleText = new TitleText() { Value = "Moj prvi release" } , TitleType = TitleType.FormalTitle }, // new Title() { TitleText = new TitleText() { Value = "Moj prvi release display" } , TitleType = TitleType.DisplayTitle } // }, // DisplayArtist = new Artist[] // { // new Artist() // { // SequenceNumber = "1", // Items = new object[] { new PartyName() { FullName = new Name() { Value = "Lima" } } } // }, // new Artist() // { // SequenceNumber = "2", // Items = new object[] { new PartyName() { FullName = new Name() { Value = "Miro" } } } // } // }, // ParentalWarningType = new ParentalWarningType1[] // { // new ParentalWarningType1() { Value = ParentalWarningType.NotExplicit } // }, // ResourceGroup = new ResourceGroup[] // { // new ResourceGroup() // { // Title = new Title[] // { // new Title() { TitleText = new TitleText() { Value = "Moja prva pjesma" } } // }, // SequenceNumber = "1" // } // }, // PLine = new PLine[] // { // new PLine() { Year = "2016", PLineText = "(P) 2010 Longplay music" } // }, // CLine = new CLine[] // { // new CLine() { Year = "2016", CLineText = "(P) 2010 Longplay music"} // }, // OriginalReleaseDate = new EventDate() { Value = "2016-12-01" } // } // } // } // } // }; // return ret; //} //private NewReleaseMessage XmlObject { get; set; } #endregion private void btnLoadXml_Click(object sender, EventArgs e) { using (var dlg = new OpenFileDialog()) { dlg.RestoreDirectory = true; if (dlg.ShowDialog() == DialogResult.OK) { lblPath.Text = dlg.FileName; var xmlObject = Binder.GetXmlObjectFromFile(dlg.FileName); Model = (AudioAlbumModel)Binder.GetModelFromXmlObject(xmlObject); Model.FullFileName = dlg.FileName; dgvSoundRecordingsAndReleases.ClearSelection(); } } }
public IXmlObject GetXmlObjectFromModel(IBindableModel model) { NewReleaseMessage ret; AudioAlbumModel m = (AudioAlbumModel)model; ret = new NewReleaseMessage() { ReleaseProfileVersionId = "CommonReleaseTypesTypes/13/AudioAlbumMusicOnly", LanguageAndScriptCode = "en", MessageSchemaVersionId = "ern/382", IsBackfill = false, IsBackfillSpecified = true }; if (ret.MessageHeader == null) { ret.MessageHeader = new MessageHeader(); } ret.MessageHeader.MessageId = m.MessageID; ret.MessageHeader.MessageThreadId = m.MessageID; if (ret.MessageHeader.MessageSender == null) { ret.MessageHeader.MessageSender = new MessagingParty(); } if (ret.MessageHeader.MessageSender.PartyId == null) { PartyId[] senderIDs = { new PartyId() }; ret.MessageHeader.MessageSender.PartyId = senderIDs; } ret.MessageHeader.MessageSender.PartyId[0].Value = m.SenderPartyID; if (ret.MessageHeader.MessageSender.PartyName == null) { ret.MessageHeader.MessageSender.PartyName = new PartyName(); } if (ret.MessageHeader.MessageSender.PartyName.FullName == null) { ret.MessageHeader.MessageSender.PartyName.FullName = new Name(); } ret.MessageHeader.MessageSender.PartyName.FullName.Value = m.SenderPartyName; if (ret.MessageHeader.MessageRecipient == null) { var o = new MessagingParty(); MessagingParty[] messageRecipient = { o }; ret.MessageHeader.MessageRecipient = messageRecipient; } if (ret.MessageHeader.MessageRecipient[0].PartyId == null) { PartyId[] recipientIDs = { new PartyId() }; ret.MessageHeader.MessageRecipient[0].PartyId = recipientIDs; } ret.MessageHeader.MessageRecipient[0].PartyId[0].Value = m.RecipientPartyID; if (ret.MessageHeader.MessageRecipient[0].PartyName == null) { ret.MessageHeader.MessageRecipient[0].PartyName = new PartyName(); } if (ret.MessageHeader.MessageRecipient[0].PartyName.FullName == null) { ret.MessageHeader.MessageRecipient[0].PartyName.FullName = new Name(); } ret.MessageHeader.MessageRecipient[0].PartyName.FullName.Value = m.RecipientPartyName; ret.MessageHeader.MessageCreatedDateTime = new DateTime(m.MessageCreatedDateTime.Ticks, DateTimeKind.Local); ret.UpdateIndicator = m.UpdateIndicator; ret.UpdateIndicatorSpecified = true; if (ret.ReleaseList == null) { ret.ReleaseList = new ReleaseList(); } if (ret.ReleaseList.Release == null || ret.ReleaseList.Release.Length == 0) { ret.ReleaseList.Release = new Release[1]; ret.ReleaseList.Release[0] = new Release(); } if (ret.ReleaseList.Release[0].ReleaseId == null || ret.ReleaseList.Release[0].ReleaseId.Length == 0) { ret.ReleaseList.Release[0].ReleaseId = new ReleaseId[1]; ret.ReleaseList.Release[0].ReleaseId[0] = new ReleaseId(); } if (ret.ReleaseList.Release[0].ReleaseId[0].ICPN == null) { ret.ReleaseList.Release[0].ReleaseId[0].ICPN = new ICPN(); } ret.ReleaseList.Release[0].ReleaseId[0].ICPN.IsEan = true; ret.ReleaseList.Release[0].ReleaseId[0].ICPN.IsEanSpecified = true; ret.ReleaseList.Release[0].ReleaseId[0].ICPN.Value = m.EAN; //Ordinal = Convert.ToInt32(rel.ReleaseReference.FirstOrDefault().TrimStart('R')), // ISRC = rel.ReleaseId.FirstOrDefault().ISRC, // Title = rel.ReferenceTitle.TitleText.Value, // Genre = rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().GenreText.Value, // SubGenre = rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().SubGenre.Value if (m.Tracks.Any()) { if (ret.ReleaseList == null) { ret.ReleaseList = new ReleaseList(); } if (ret.ReleaseList.Release == null) { ret.ReleaseList.Release = new Release[m.Tracks.Count]; } for (int i = 0; i < m.Tracks.Count; i++) { var track = m.Tracks[i]; if (ret.ReleaseList.Release.Length <= (i + 1)) { var x = ret.ReleaseList.Release; Array.Resize(ref x, i + 2); ret.ReleaseList.Release = x; ret.ReleaseList.Release[i + 1] = new Release(); } var rel = ret.ReleaseList.Release[i + 1]; if (rel.ReleaseReference == null || rel.ReleaseReference.Length == 0) { rel.ReleaseReference = new string[1]; } rel.ReleaseReference[0] = "R" + track.Ordinal; if (rel.ReleaseId == null || rel.ReleaseId.Length == 0) { rel.ReleaseId = new ReleaseId[1]; } if (rel.ReleaseId[0] == null) { rel.ReleaseId[0] = new ReleaseId(); } rel.ReleaseId[0].ISRC = track.ISRC; if (rel.ReferenceTitle == null) { rel.ReferenceTitle = new ReferenceTitle(); } if (rel.ReferenceTitle.TitleText == null) { rel.ReferenceTitle.TitleText = new TitleText(); } rel.ReferenceTitle.TitleText.Value = track.Title; if (rel.ReleaseDetailsByTerritory == null || rel.ReleaseDetailsByTerritory.Length == 0) { rel.ReleaseDetailsByTerritory = new ReleaseDetailsByTerritory[1]; } if (rel.ReleaseDetailsByTerritory[0] == null) { rel.ReleaseDetailsByTerritory[0] = new ReleaseDetailsByTerritory(); } if (rel.ReleaseDetailsByTerritory[0].Genre == null || rel.ReleaseDetailsByTerritory[0].Genre.Length == 0) { rel.ReleaseDetailsByTerritory[0].Genre = new Genre[1]; } if (rel.ReleaseDetailsByTerritory[0].Genre[0] == null) { rel.ReleaseDetailsByTerritory[0].Genre[0] = new Genre(); } if (rel.ReleaseDetailsByTerritory[0].Genre[0].GenreText == null) { rel.ReleaseDetailsByTerritory[0].Genre[0].GenreText = new Description(); } rel.ReleaseDetailsByTerritory[0].Genre[0].GenreText.Value = track.Genre; if (rel.ReleaseDetailsByTerritory[0].Genre[0].SubGenre == null) { rel.ReleaseDetailsByTerritory[0].Genre[0].SubGenre = new Description(); } rel.ReleaseDetailsByTerritory[0].Genre[0].SubGenre.Value = track.SubGenre; } // TODO - tracks zapisati u soundrecordings } return(ret); }
public IBindableModel GetModelFromXmlObject(IXmlObject xmlObject) { AudioAlbumModel ret = new AudioAlbumModel(); ret.FullFileName = xmlObject.FullFileName; NewReleaseMessage nrm = (NewReleaseMessage)xmlObject; if (nrm != null) { if (nrm.MessageHeader != null) { ret.MessageID = nrm.MessageHeader.MessageId; if (nrm.MessageHeader.MessageSender.PartyId.Length > 0) { ret.SenderPartyID = nrm.MessageHeader.MessageSender.PartyId[0].Value; } if (nrm.MessageHeader.MessageSender.PartyName != null && nrm.MessageHeader.MessageSender.PartyName.FullName != null) { ret.SenderPartyName = nrm.MessageHeader.MessageSender.PartyName.FullName.Value; } if (nrm.MessageHeader.MessageRecipient != null && nrm.MessageHeader.MessageRecipient.Length > 0 && nrm.MessageHeader.MessageRecipient[0].PartyId != null && nrm.MessageHeader.MessageRecipient[0].PartyId.Length > 0) { ret.RecipientPartyID = nrm.MessageHeader.MessageRecipient[0].PartyId[0].Value; } if (nrm.MessageHeader.MessageRecipient != null && nrm.MessageHeader.MessageRecipient.Length > 0 && nrm.MessageHeader.MessageRecipient[0].PartyName != null && nrm.MessageHeader.MessageRecipient[0].PartyName.FullName != null) { ret.RecipientPartyName = nrm.MessageHeader.MessageRecipient[0].PartyName.FullName.Value; } ret.MessageCreatedDateTime = nrm.MessageHeader.MessageCreatedDateTime; ret.UpdateIndicator = nrm.UpdateIndicator; if (nrm.ReleaseList != null && nrm.ReleaseList.Release != null && nrm.ReleaseList.Release.Length > 0 && nrm.ReleaseList.Release[0].ReleaseId != null && nrm.ReleaseList.Release[0].ReleaseId.Length > 0 && nrm.ReleaseList.Release[0].ReleaseId[0].ICPN != null) { ret.EAN = nrm.ReleaseList.Release[0].ReleaseId[0].ICPN.Value; } if (nrm.ReleaseList != null && nrm.ReleaseList.Release != null && nrm.ReleaseList.Release.Any()) { ret.Tracks.RaiseListChangedEvents = false; foreach (var rel in nrm.ReleaseList.Release.Where(x => !x.IsMainRelease)) { var track = new TrackModel() { Ordinal = Convert.ToInt32(rel.ReleaseReference.FirstOrDefault().TrimStart('R')), ISRC = rel.ReleaseId.FirstOrDefault().ISRC, Title = rel.ReferenceTitle.TitleText.Value }; if (rel.ReleaseDetailsByTerritory != null && rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre != null && rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().GenreText != null) { track.Genre = rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().GenreText.Value; } if (rel.ReleaseDetailsByTerritory != null && rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre != null && rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().SubGenre != null) { track.SubGenre = rel.ReleaseDetailsByTerritory.FirstOrDefault().Genre.FirstOrDefault().SubGenre.Value; } ret.Tracks.Add(track); } ret.Tracks.RaiseListChangedEvents = true; ret.Tracks.ResetBindings(); } } } return(ret); }
public ERN_382GenerationFormAudioAlbumMusicOnly(AudioAlbumModel model) : this() { Model.CopyFromSource(model); }
// #region 专辑添加-编辑 public ActionResult AlbumAdd(AudioAlbumModel model, string ReturnUrl, Nullable <int> myid = 0) { #region 获取来路路径 if (System.Web.HttpContext.Current.Request.UrlReferrer != null) { ViewBag.ReturnUrl = System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery; } #endregion ViewBag.Headline = "专辑添加"; //栏目主题 ViewBag.ButtonValue = "添加"; //按钮名称 using (chefuzi_dataEntities myOperating = new chefuzi_dataEntities()) //数据库操作 { if ((myid > 0) && (model.Operate == null)) { int mySelfId = 0; int.TryParse(myid.ToString(), out mySelfId); ViewBag.Headline = "专辑编辑"; ViewBag.ButtonValue = "修改"; model.Operate = "edit"; // #region 取出数据 Child_Audio_Album editRecord = myOperating.Child_Audio_Album.FirstOrDefault(p => p.AlbumId == mySelfId); if (editRecord != null) { model.AlbumId = editRecord.AlbumId; model.AlbumTitle = editRecord.AlbumTitle; model.Anchor = editRecord.Anchor; model.AlbumImage = editRecord.AlbumImage; model.AlbumDescrib = editRecord.AlbumDescrib; model.OrderBy = editRecord.OrderBy; } #endregion } else if (model.Operate == "add") { #region 保存添加 if (ModelState.IsValid) { Child_Audio_Album addRecord = new Child_Audio_Album(); addRecord.ClassId = 0; addRecord.AlbumTitle = model.AlbumTitle; addRecord.Anchor = model.Anchor; addRecord.AlbumImage = model.AlbumImage; addRecord.AlbumDescrib = model.AlbumDescrib; addRecord.AddDate = DateTime.Now; addRecord.AudioCount = 0; addRecord.PlayTimes = 0; addRecord.OrderBy = model.OrderBy; addRecord.Status = 200; // myOperating.Child_Audio_Album.Add(addRecord); myOperating.SaveChanges(); model = null; // return(RedirectToLocal(ReturnUrl)); } else { ModelState.AddModelError("", "输入错误"); } #endregion } else if (model.Operate == "edit") { #region 保存编辑 if (ModelState.IsValid) { Child_Audio_Album editSaveRecord = myOperating.Child_Audio_Album.FirstOrDefault(p => p.AlbumId == model.AlbumId); if (editSaveRecord != null) { editSaveRecord.AlbumTitle = model.AlbumTitle; editSaveRecord.Anchor = model.Anchor; editSaveRecord.AlbumImage = model.AlbumImage; editSaveRecord.AlbumDescrib = model.AlbumDescrib; editSaveRecord.OrderBy = model.OrderBy; // myOperating.SaveChanges(); // return(RedirectToLocal(ReturnUrl)); } } else { ModelState.AddModelError("", "输入错误"); } #endregion } else { model.Operate = "add"; #region 默认值 try { model.OrderBy = myOperating.Child_Audio_Album.Max(p => p.OrderBy) + 1; } catch { model.OrderBy = 0; } if (model.OrderBy == null) { model.OrderBy = 1; } #endregion } } // return(View(model)); }