public Playlist GetSomething(string some) { List<Playlist> list = new List<Playlist>(); string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); path = Path.Combine(path, "AudioStreamer"); if (Directory.Exists(path)) { var l = Directory.GetFileSystemEntries(path, "*.xml"); foreach (var s in l) { var x = s.Substring(s.LastIndexOf("\\")+1, s.Length - s.LastIndexOf("\\") - 5); Playlist p = new Playlist { FriendlyName = x, Path = s, Songs = new List<Song>()}; DataSet d = new DataSet(); DataTable Playlist = new DataTable(); d.ReadXml(s); if (d.Tables.Contains("BasePlaylist")) { Playlist = d.Tables["BasePlaylist"]; } Playlist.PrimaryKey = new[] { Playlist.Columns["Path"] }; int track; foreach (DataRow row in Playlist.Rows) { p.Songs.Add(new Song { Album = row["Album"].ToString(), Artist = row["Artist"].ToString(), Genre = row["Genre"].ToString(), StringLength = row["Length"].ToString(), Path = row["Path"].ToString().Replace("\\", "|"), Title = row["Title"].ToString(), Track = int.TryParse(row["Track"].ToString(), out track) ? track : 0 }); } list.Add(p); } } list.First().Path = list.First().Path.Replace("\\","|"); return list.First(); }
public ActionResult Edit(SequenceGroup sequenceGroup) { ViewBag.HaveEditPrevTraceCode = CurrentUser.Permissions.Where(p => p.PermissionCode == "Url_SequenceGroup_EditPrevTraceCode").Count() > 0; if (ModelState.IsValid) { bool noenError = true; if (!ViewBag.HaveEditPrevTraceCode && !string.IsNullOrWhiteSpace(sequenceGroup.PreviousTraceCode)) { SaveErrorMessage("您没有修改前个Van号的权限。"); noenError = false; } if (sequenceGroup.IsActive && string.IsNullOrWhiteSpace(sequenceGroup.PreviousTraceCode)) { SaveErrorMessage("排序组有效的情况下,前面Van号不能为空。"); noenError = false; } IList<OrderSeq> orderSeqs = new List<OrderSeq>(); if (!string.IsNullOrWhiteSpace(sequenceGroup.PreviousTraceCode)) { orderSeqs = this.genericMgr.FindAll<OrderSeq>("select o from OrderSeq as o where o.ProductLine=? and o.TraceCode=?", new object[] { sequenceGroup.ProductLine, sequenceGroup.PreviousTraceCode }); if (orderSeqs == null || orderSeqs.Count == 0) { SaveErrorMessage(string.Format("生产线{0}前面Van号{1}找不到有效的数据。", sequenceGroup.ProductLine, sequenceGroup.PreviousTraceCode)); noenError = false; } } if (!string.IsNullOrWhiteSpace(sequenceGroup.OpReference)) { try { sequenceGroup.OpReference.Split('|'); } catch (Exception) { SaveErrorMessage(string.Format("工位{0}填写有误,正确的格式为{1}。", sequenceGroup.OpReference, Resources.SCM.SequenceGroup.SequenceGroup_OpRefRemark)); noenError = false; } } if (noenError) { var dbSsequenceGroup = base.genericMgr.FindById<SequenceGroup>(sequenceGroup.Code); //dbSsequenceGroup.SequenceBatch = sequenceGroup.SequenceBatch; //dbSsequenceGroup.OpReference = sequenceGroup.OpReference; //dbSsequenceGroup.IsActive = sequenceGroup.IsActive; //if (!string.IsNullOrWhiteSpace(sequenceGroup.PreviousTraceCode)) //{ // dbSsequenceGroup.PreviousTraceCode = sequenceGroup.PreviousTraceCode; // dbSsequenceGroup.PreviousOrderNo = orderSeqs.First().OrderNo; // dbSsequenceGroup.PreviousSeq = orderSeqs.First().Sequence; // dbSsequenceGroup.PreviousSubSeq = orderSeqs.First().SubSequence; //} //base.genericMgr.Update(dbSsequenceGroup); string updateSql = "update SCM_SeqGroup set Version=Version+1,IsActive=?,SeqBatch=? "; IList<object> parems = new List<object>(); parems.Add(sequenceGroup.IsActive); parems.Add(sequenceGroup.SequenceBatch); if (!string.IsNullOrWhiteSpace(sequenceGroup.OpReference)) { updateSql += " ,OpRef=? "; parems.Add(sequenceGroup.OpReference); } if (!string.IsNullOrWhiteSpace(sequenceGroup.PreviousTraceCode)) { updateSql += ",PrevTraceCode=?,PrevOrderNo=?,PrevSeq=?,PrevSubSeq=? "; parems.Add(sequenceGroup.PreviousTraceCode); parems.Add(orderSeqs.First().OrderNo); parems.Add(orderSeqs.First().Sequence); parems.Add(orderSeqs.First().SubSequence); } updateSql += " where Code=? and Version=? "; parems.Add(sequenceGroup.Code); parems.Add(sequenceGroup.Version); this.genericMgr.UpdateWithNativeQuery(updateSql, parems.ToArray()); SaveSuccessMessage(Resources.SCM.SequenceGroup.SequenceGroup_Updated); return View(dbSsequenceGroup); } } return View(sequenceGroup); }