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();
        }
Ejemplo n.º 2
0
        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);
        }