예제 #1
0
 protected virtual void RaisedChoosed(Telecast epg, Channel ch)
 {
     if (Choosed != null)
     {
         Choosed(epg, ch);
     }
 }
예제 #2
0
        private void FeelEpgForChannel(Channel channel, TreeNode parent)
        {
            var res = _proxy.Device.RecordsProvider.GetListOfEpg(channel.epg_id);

            if (res.Count == 0)
            {
                var curepg = new Telecast
                {
                    name      = "Весь эфир",
                    StartTime = DateTime.Now,
                    EndTime   = DateTime.Today.AddDays(1).AddTicks(-1),
                    epg_id    = 0
                };
                TreeNode node = new TreeNode(String.Format("{0} - {1} {2}", curepg.StartTime.ToShortTimeString(), curepg.EndTime.ToShortTimeString(), curepg.name))
                {
                    Tag = curepg
                };

                treeView1.Invoke(new MethodInvoker(() => parent.Nodes.Add(node)));
            }
            else
            {
                foreach (var curepg in res.Where(e => e.EndTime >= DateTime.Now))
                {
                    TreeNode node = new TreeNode(String.Format("{0} - {1} {2}", curepg.StartTime.ToShortTimeString(), curepg.EndTime.ToShortTimeString(), curepg.name))
                    {
                        Tag = curepg
                    };
                    parent.Nodes.Add(node);
                }
            }
            treeView1.Invoke(new MethodInvoker(parent.Toggle));
        }
예제 #3
0
        private void FeelEpgForChannel(Channel channel, TreeNode parent)
        {
            var res = _proxy.Device.RecordsProvider.GetListOfEpg(channel.epg_id);
            if (res.Count == 0) 
            {

                var curepg = new Telecast
                                    {
                                        name = "Весь эфир",
                                        StartTime = DateTime.Now,
                                        EndTime = DateTime.Today.AddDays(1).AddTicks(-1),
                                        epg_id = 0
                                    };
                TreeNode node = new TreeNode(String.Format("{0} - {1} {2}", curepg.StartTime.ToShortTimeString(), curepg.EndTime.ToShortTimeString(), curepg.name))
                                    {Tag = curepg};

                treeView1.Invoke(new MethodInvoker(() => parent.Nodes.Add(node)));
            }
            else
            {
                foreach (var curepg in res.Where(e => e.EndTime >= DateTime.Now))
                {
                    TreeNode node = new TreeNode(String.Format("{0} - {1} {2}", curepg.StartTime.ToShortTimeString(), curepg.EndTime.ToShortTimeString(), curepg.name))
                                        {Tag = curepg};
                    parent.Nodes.Add(node);
                }
            }
            treeView1.Invoke(new MethodInvoker(parent.Toggle));
        }
예제 #4
0
 protected virtual void RaisedChoosed(Telecast epg, Channel ch)
 {
     if (Choosed != null)
     {
         Choosed(epg, ch);
     }
 }
예제 #5
0
        private void FrmOnChoosed(Telecast epg, Channel ch)
        {
            Records rec = new Records("http://127.0.0.1:" + _app.Device.Web.Port, _app.Device.Records.RecordsPath)
            {
                Name      = string.Format("{0}", epg.name),
                Id        = Guid.NewGuid().ToString(),
                Start     = epg.StartTime,
                End       = epg.EndTime,
                Status    = RecordStatus.Init,
                TorrentId = ch.id
            };

            _app.Device.Records.Add(rec);
        }
예제 #6
0
파일: Program.cs 프로젝트: AlisaKoval/Lab6
        static async Task Main(string[] args)
        {
            Telecast[] table = new Telecast[50];
            Log[]      log   = new Log[50];
            int        l     = 0;

            DateTime time1    = DateTime.Now;
            DateTime time2    = DateTime.Now;
            TimeSpan interval = time2 - time1;

            string PathTextFile = @"C:\Users\alisa\source\repos\Lab6\lab.dat";

            int i = 0;

            using (StreamReader readTextFile = new StreamReader(PathTextFile))
            {
                while (readTextFile.Peek() > -1)
                {
                    string telecast = await readTextFile.ReadLineAsync();

                    string key = await readTextFile.ReadLineAsync();

                    int    top      = Convert.ToInt32(await readTextFile.ReadLineAsync());
                    string typeText = await readTextFile.ReadLineAsync();

                    Type type;
                    type = Type.А;
                    if (typeText == "A" || typeText == "А")
                    {
                        type = Type.А;
                    }
                    else if (typeText == "И")
                    {
                        type = Type.И;
                    }
                    else if (typeText == "T" || typeText == "Т")
                    {
                        type = Type.Т;
                    }
                    Telecast newTelecast = new Telecast();
                    newTelecast.telecast = telecast;
                    newTelecast.key      = key;
                    newTelecast.top      = top;
                    newTelecast.type     = type;
                    table[i]             = newTelecast;
                    i++;
                }
            }



            bool errorOption = true;

            do
            {
                Console.WriteLine("1 - Просмотр таблицы\n2 - Добавить запись\n3 - Удалить запись\n4 - Обновить запись\n5 - Поиск записей\n6 - Просмотреть лог\n7 - Выход");
                int option = int.Parse(Console.ReadLine());

                switch (option)
                {
                case 1:
                    for (int k = 0; k < i; k++)
                    {
                        table[k].Print();
                    }
                    break;

                case 2:
                    Console.WriteLine("Введите название передачи");
                    string telecast = Console.ReadLine();
                    Console.WriteLine("Введите имя ведущего");
                    string key      = Console.ReadLine();
                    bool   errorTop = false;
                    int    top      = 0;
                    do
                    {
                        Console.WriteLine("Введите рейтинг");
                        try
                        {
                            top      = int.Parse(Console.ReadLine());
                            errorTop = false;
                        }
                        catch
                        {
                            Console.WriteLine("Введите верный рейтинг");
                            errorTop = true;
                        }
                    }while (errorTop);
                    Console.WriteLine("Введите тип передачи(И-Игровая, А - Аналитическая, Т - Ток-шоу)");
                    bool errorType = false;
                    Type type      = Type.А;
                    do
                    {
                        string s_type = Console.ReadLine();
                        if (s_type == "И")
                        {
                            type      = Type.И;
                            errorType = false;
                        }
                        else if (s_type == "Т")
                        {
                            type      = Type.Т;
                            errorType = false;
                        }
                        else if (s_type == "А")
                        {
                            type      = Type.А;
                            errorType = false;
                        }
                        else
                        {
                            Console.WriteLine("Введите верный тип : А или И или Т");
                            errorType = true;
                        }
                    }while (errorType);
                    Telecast newTelecast = new Telecast();
                    newTelecast.telecast = telecast;
                    newTelecast.key      = key;
                    newTelecast.top      = top;
                    newTelecast.type     = type;
                    table[i]             = newTelecast;
                    i++;

                    Log ADD = new Log();
                    ADD.time      = DateTime.Now;
                    ADD.operation = "Добавлена запись";
                    ADD.name      = telecast;
                    log[l]        = ADD;
                    l++;

                    time1 = DateTime.Now;
                    TimeSpan interval2 = time1 - time2;
                    if (interval < interval2)
                    {
                        interval = interval2;
                    }
                    time2 = ADD.time;
                    break;

                case 3:
                    Console.WriteLine("Введите номер записи, которую нужно удалить");
                    bool errorDelete = false;
                    do
                    {
                        try
                        {
                            int iForDelete = int.Parse(Console.ReadLine());
                            if (iForDelete < table.Length && iForDelete > 0)
                            {
                                Log DELETE = new Log();
                                DELETE.time      = DateTime.Now;
                                DELETE.operation = "Запись удалена";
                                DELETE.name      = table[iForDelete - 1].telecast;
                                log[l]           = DELETE;
                                l++;
                                for (int k = iForDelete - 1; k < table.Length - 1; k++)
                                {
                                    table[k] = table[k + 1];
                                }
                                i--;
                                interval2 = time1 - time2;
                                if (interval < interval2)
                                {
                                    interval = interval2;
                                }
                                time2       = DELETE.time;
                                errorDelete = false;
                            }
                            else
                            {
                                Console.WriteLine("Введите верный номер строки");
                                errorDelete = true;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Введите верный номер строки");
                            errorDelete = true;
                        }
                    }while (errorDelete);
                    break;

                case 4:
                    Console.WriteLine("Введите номер строки для обновления");
                    bool errorEdit = false;
                    int  iForEdit  = 0;
                    do
                    {
                        try
                        {
                            iForEdit = int.Parse(Console.ReadLine());
                            if (iForEdit < table.Length && iForEdit > 0)
                            {
                                errorEdit = false;
                            }
                            else
                            {
                                Console.WriteLine("Введите верный номер строки");
                                errorEdit = true;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Введите верный номер строки");
                            errorEdit = true;
                        }
                    }while (errorEdit);
                    Console.WriteLine("Введите название передачи");
                    string oldTelecast = Console.ReadLine();
                    Console.WriteLine("Введите имя ведущего");
                    string oldKey = Console.ReadLine();
                    int    oldTop = 0;
                    do
                    {
                        Console.WriteLine("Введите рейтинг");
                        try
                        {
                            oldTop   = int.Parse(Console.ReadLine());
                            errorTop = false;
                        }
                        catch
                        {
                            Console.WriteLine("Введите верный рейтинг");
                            errorTop = true;
                        }
                    }while (errorTop);
                    Console.WriteLine("Введите тип передачи(И-Игровая, А - Аналитическая, Т - Ток-шоу)");
                    errorType = false;
                    Type oldType = Type.А;
                    do
                    {
                        string s_type = Console.ReadLine();
                        if (s_type == "И")
                        {
                            oldType   = Type.И;
                            errorType = false;
                        }
                        else if (s_type == "Т")
                        {
                            oldType   = Type.Т;
                            errorType = false;
                        }
                        else if (s_type == "А")
                        {
                            oldType   = Type.А;
                            errorType = false;
                        }
                        else
                        {
                            Console.WriteLine("Введите верный тип : А или И или Т");
                            errorType = true;
                        }
                    }while (errorType);
                    Telecast EditTelecast = new Telecast();
                    EditTelecast.telecast = oldTelecast;
                    EditTelecast.key      = oldKey;
                    EditTelecast.top      = oldTop;
                    EditTelecast.type     = oldType;
                    table[iForEdit - 1]   = EditTelecast;


                    Log UPDATE = new Log();
                    UPDATE.time      = DateTime.Now;
                    UPDATE.operation = "Измненена запись";
                    UPDATE.name      = oldTelecast;
                    log[l]           = UPDATE;
                    l++;

                    time1     = UPDATE.time;
                    interval2 = time1 - time2;
                    if (interval < interval2)
                    {
                        interval = interval2;
                    }
                    time2 = UPDATE.time;
                    break;

                case 5:
                    Console.WriteLine("Выберите пункт:");
                    int  iOfChoise   = 0;
                    bool errorChoise = false;
                    Console.WriteLine("1 - Вывести игровые передачи \n2 - Вывести Аналитические передачи \n3 - Вывести ток-шоу");
                    do
                    {
                        try
                        {
                            iOfChoise = int.Parse(Console.ReadLine());
                            if (iOfChoise == 1)
                            {
                                for (int t = 0; t < i; t++)
                                {
                                    if (table[t].type == Type.И)
                                    {
                                        table[t].Print();
                                    }
                                }
                                errorChoise = false;
                            }
                            else if (iOfChoise == 2)
                            {
                                for (int t = 0; t < i; t++)
                                {
                                    if (table[t].type == Type.А)
                                    {
                                        table[t].Print();
                                    }
                                }
                                errorChoise = false;
                            }
                            else if (iOfChoise == 3)
                            {
                                for (int t = 0; t < i; t++)
                                {
                                    if (table[t].type == Type.Т)
                                    {
                                        table[t].Print();
                                    }
                                }
                                errorChoise = false;
                            }
                            else
                            {
                                errorChoise = true;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Введите верный пункт");
                            errorChoise = true;
                        }
                    }while (errorChoise);
                    break;

                case 6:
                    for (int k = 0; k < l; k++)
                    {
                        log[k].Print();
                    }
                    Console.WriteLine();
                    Console.WriteLine("{0} - Самый долгий период бездействия пользователя", interval);
                    break;

                case 7:
                    errorOption = false;
                    using (StreamWriter sw = new StreamWriter(PathTextFile, false))
                    {
                        for (int r = 0; r < i; r++)
                        {
                            await sw.WriteLineAsync(table[r].telecast + "\n" + table[r].key + "\n" + table[r].top + "\n" + table[r].type);
                        }
                        sw.Close();
                    }
                    break;

                default:
                    Console.WriteLine("Введите верную операцию");
                    errorOption = true;
                    break;
                }
            }while (errorOption);
        }
예제 #7
0
 private void FrmOnChoosed(Telecast epg, Channel ch)
 {
     Records rec = new Records("http://127.0.0.1:" + _app.Device.Web.Port, _app.Device.Records.RecordsPath)
     {
         Name = string.Format("{0}", epg.name),
         Id = Guid.NewGuid().ToString(),
         Start = epg.StartTime,
         End = epg.EndTime,
         Status = RecordStatus.Init,
         TorrentId = ch.id
     };
     _app.Device.Records.Add(rec);
 }