Пример #1
0
        public void loadDataFromDB(ITEMFILTER filter = ITEMFILTER.NONE, String param=null)
        {
            try
            {
                dbengine = DBengineMySql.GetInstance();



                //TODO: CHECK CHANGES???

                dataitems.Clear();

                dbengine.connect("127.0.0.1", "root", "1234", "ebuplayout-dev2");

                _datatable = dbengine.listItems(filter, param);
                if (filter == ITEMFILTER.CATEGORY)
                {
                    for (int i = 0; i < _datatable.Rows.Count; i++)
                    {
                        if (_datatable.Rows[i]["type"].ToString() == "AUDIOFILE")
                        {
                            DataRow data = _datatable.Rows[i];
                            int id = (int)data["iddataitems"];
                            String artist = data["artist"].ToString();
                            String title = data["title"].ToString();
                            String filename = data["file"].ToString();
                            String radiovis1 = data["radiovis1"].ToString();
                            String radiovis2 = data["radiovis2"].ToString();
                            String radiovis3 = data["radiovis3"].ToString();
                            String radiovis4 = data["radiovis4"].ToString();
                            String radiovistxt = data["radiovistxt"].ToString();
                            String category = data["category"].ToString();
                            TimeSpan tmcue = TimeSpan.FromMilliseconds((int)data["tmcue"]);
                            TimeSpan tmnext = TimeSpan.FromMilliseconds((int)data["tmnext"]);
                            if (tmnext == TimeSpan.Zero)
                            {
                                tmnext = TimeSpan.FromMilliseconds((int)data["runtime"]);
                            }

                            DataSongItem song = new DataSongItem(id, artist, title, filename, new TimeMarker(tmcue, tmnext));
                            song.category = category;

                            song.setField("radiovis1", radiovis1);
                            song.setField("radiovis2", radiovis2);
                            song.setField("radiovis3", radiovis3);
                            song.setField("radiovis4", radiovis4);
                            song.setField("radiovistxt", radiovistxt);

                            dataitems.Add(id, song);
                        }
                    }
                }
                else if(filter == ITEMFILTER.CANVASPERIOD){
                    slicecanvas.Clear();
                    for (int i = 0; i < _datatable.Rows.Count; i++)
                    {
                        DataRow data = _datatable.Rows[i];

                        SliceCanvasItem c = new SliceCanvasItem(data["idcanvasperiod_items"].ToString(), (int)data["position"],  data["idslice"].ToString(), data["name"].ToString(), TimeSpan.FromMilliseconds(0));
                        
                        slicecanvas.Add(Int32.Parse(c.idperioditem), c);
                    }
                }
                else if (filter == ITEMFILTER.CANVASSLICE)
                {
                    sliceitems.Clear();
                    for (int i = 0; i < _datatable.Rows.Count; i++)
                    {
                        DataRow data = _datatable.Rows[i];

                        SlotCanvas slot = new SlotCanvas(Int32.Parse(data["idcanvasitem"].ToString()), Int32.Parse(data["idcanvasslice"].ToString()), Int32.Parse(data["clockposition"].ToString()), getSlotCanvasType(data["type"]), data["param1"].ToString(), data["param2"].ToString(), data["param3"].ToString(), data["label"].ToString());

                        sliceitems.Add(slot.id, slot);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            

        }