示例#1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ChannelName,Established")] TVChannel tVChannel)
        {
            if (id != tVChannel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tVChannel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TVChannelExists(tVChannel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tVChannel));
        }
示例#2
0
        public static void SeedTVChannelPackages(ISPContext context)
        {
            Random rand = new Random();

            Dictionary <string, double> tvChannelPackagesPrice = new Dictionary <string, double>
            {
                { "Развлекательный", 5 },
                { "Познавательный", 5 },
                { "Кино и сериалы", 4 },
                { "Общественный", 2 },
                { "Музыкальный", 3 },
                { "Спортивный", 5 },
                { "Новостной", 2 },
                { "Детский", 2 },
                { "Религиозный", 10 },
                { "Взрослый", 10 }
            };

            Dictionary <string, string[]> tvChannelsInPackages = new Dictionary <string, string[]>
            {
                { "Развлекательный", new string[] { "ТНТ", "СТС", "ТНТ4", "РЕН ТВ", "Пятница", "2х2", "Че", "ТЕТ", "Paramount Comedy", "НЛО ТВ", "СТС love", "Сарафан ТВ", "ТНТ", "RTVI", "Ю", "QTV", "Вопросы и ответы", "Fashion TV", "Парк Развлечений", "Zoom", "Бигуди", "World Fashion Channel", "ВТВ", "Юмор Box", "STV", "Живи!", "Тонус ТВ", "Телеканал Деда Мороза", "K1", "К2", "Pro Все", "Maxxi-TV", } },
                { "Познавательный", new string[] { "Discovery Channel", "Discovery Science", "National Geographic", "Nat Geo Wild", "Оружие", "Охотник и рыболов", "Наука 2.0", "Galaxy TV", "Viasat History", "Охота и Рыбалка", "Animal Planel", "Viasat Explorer", "Моя планета", "History Channel", "Первый автомобильный", "Техно 24", "ID Xtra", "История", "TLC", "Авто Плюс", "Viasat Nature", "Travel Channel", "Совершенно секретно", "365 дней", "Драйв ТВ", "Усадьба", "Кухня ТВ", "Телепутешествия", "English Club TV", "Россия К", "24 ДОК", "Russian Travel Guide", "Кто есть кто", "Бобёр ТВ", "CBS Reality", "Da Vinci Learning", "Нано ТВ", "Психология 21", "Zooпарк", "Еда ТВ", "Живая Планета", "Мега", "Загородная жизнь", "DTV", "Домашние животные", "Здоровое ТВ", "Outdoor Channel", "Зоо ТВ", "Мама", "Трофей", "Морской", "Food Network" } },
                { "Кино и сериалы", new string[] { "TV 1000 Action", "Кинохит", "Кинопремьера", "Русский Детектив", "Дом Кино", "ТВ 3", "TV 1000", "НТС", "Родное Кино", "Кинопоказ", "Наше Новое Кино", "Кинокомедия", "TV 1000 Русское Кино", "Наше любимое кино", "Киномикс", "Киносвидание", "FOX", "XXI", "SONY SCI-FI", "Иллюзион+", "Мужское Кино", "Еврокино", "Русский Иллюзион", "Enter-фильм", "FOX Life", "AMEDIA 2", "Киносерия", "HBO 2", "Paramount Channel", "Русский бестселлер", "CBS Drama", "Комедия", "SET", "Zee TV", "Индийское Кино", "Киносемья", "AMC" } },
                { "Общественный", new string[] { "Россия 1", "НТВ", "1+1", "СТБ", "2+2", "ICTV", "Интер", "Звезда", "Новый канал", "Украина", "5 канал", "Россия-РТР", "ТВЦ", "Первый канал (Европа)", "UA:Перший", "НТВ Мир", "Ретро ТВ", "Домашний", "Ностальгия", "TVCI", "Первый канал (СНГ)", "CBS 2 New York", "Интер+", "Мир", "Первый канал", "ОТР", "Время", "Беларусь 24", "Белсат ТВ", "Tonis", "Dobro TV", "Подмосковье", "Страна", "Первый канал (Евразия)", "1+1 Internation", "Красная линия", "Унiан", "Вместе РФ" } },
                { "Музыкальный", new string[] { "Europa Plus TV", "RU TV", "MTV Dance", "ТНТ-Music", "Муз ТВ", "VH1 Classic", "Шансон ТВ", "Scuzz", "Музыка Первого", "MTV Hits", "Bridge TV", "Dange TV", "M1", "EU Music", "Kerrang!", "MTV Russia", "Ля-минор", "VH1", "MTV Rocks", "Music Box UA", "Rusong TV", "MCM Top", "Mezzo", "Первый Музыкальный канал", "A-One", "4 Fun TV", "M2", "O-TV", "Music Box Ru", "Music Box Tv", "VOX Old's Cool TV", "Eska ROCK TV", "ESKA Party TV", "ESKA Best Music TV", "ESKA TV", "WAWA TV", "Retro Music TV", "Bridge TV Classic", "Bridge TV Dance", "Bridge HD" } },
                { "Спортивный", new string[] { "НТВ+ Наш футбол", "Футбол 1", "Матч! Арена", "Eurosport", "Футбол 2", "Eurosport 2", "Матч! Наш Спорт", "Матч! Игра", "ViasatSport", "КХЛ", "Сетанта Спорт", "Матч! Боец", "Sky Sports F1", "Viasat Sport Baltic", "Матч! Планета", "Беларусь 5", "Sky Sports 1", "Спорт 1", "BT Sport 1", "Viasat Hockey", "Сопрт 2", "SkySports 3", "NBA TV", "Premier Sports", "Sky Sports 2", "BT Sport 2", "ESPN America", "Motors TV", "Футбол", "Sky Sports 4", "Extreme Sports", "Sky Sports 5", "Viasat Motor", "Русский Экстрим", "TV3 Sport 2", "Viasat Golf", "Bein Sport 7", "Bein Sport 6", "Bein Sport 8", "Viasat Fotboll", "Eurosport British", "Eurosport 2 British", "Arena Sport 1", "Movistar F1", "Movistar MotoGP", "Arena Sport 2", "Sport TV 1", "BT Sport ESPN", "Nova Sport", "Arena Sport 3" } },
                { "Новостной", new string[] { "Россия 24", "Life News", "Дождь", "112 Украина", "5 канал", "РБК", "24", "EuroNews", "CNN International", "BBC World News", "Business", "Мир 24", "News One", "100% News" } },
                { "Детский", new string[] { "Мульт", "Disney Channel", "ПЛЮСПЛЮС", "Nickelodeon", "Карусель", "nick jr.", "Cartoon Network", "JimJam", "Детский", "Мультимания", "Детский Мир", "Пиксель", "Малятко TV", "Улыбка Ребенка", "Gulli", "Boomerang", "Радость моя", "TiJi", "Ani", "Рыжий", "Любимое ТВ" } },
                { "Религиозный", new string[] { "Союз", "Спас ТВ", "CNL" } },
                { "Взрослый", new string[] { "Platinum TV", "Brazzers TV Europe", "Satisfaction HD", "FrenchLoverTV", "XXL", "Exotica TV", "Hustler TV", "Русская ноь", "Redlight Premium", "O-la-la", "SCT", "CentoXCento TV", "Sext6Senso", "Dorcel TV", "Ночной клуб", "Искушения", "Private TV", "Nuart TV", "FAP TV amateur", "Husler Blue", "Daring TV", "Playboy TV", "FAP TV 2", "Эгоист ТВ", "Free-X TV", "FAP TV 4", "FAP TV 3", "FAP TV teens", "FAP TV Legal Porno", "FAP TV compilation", "FAP TV older", "FAP TV anal", "Brazzers TV", "FAP TV parody", "Phoenix Marie TV", "FAP TV pissing", "FAP TV lesbian", "FAP TV BBW", "FAP TV teaching", "Jasmin TV" } },
            };

            foreach (var tvChannelsInPackage in tvChannelsInPackages)
            {
                var tvChannelPackage = new TVChannelPackage()
                {
                    Name     = tvChannelsInPackage.Key,
                    Price    = tvChannelsInPackage.Value.Count() * (tvChannelPackagesPrice[tvChannelsInPackage.Key] / 2),
                    Channels = new List <TVChannel>()
                };

                foreach (var tvChannelInPackage in tvChannelsInPackage.Value)
                {
                    var tvChannel = new TVChannel()
                    {
                        Name   = tvChannelInPackage,
                        Price  = tvChannelPackagesPrice[tvChannelsInPackage.Key],
                        IsIPTV = rand.NextDouble() > 0.5,
                        IsTV   = rand.NextDouble() > 0.25
                    };
                    tvChannel.IsCanceled = (!tvChannel.IsTV && !tvChannel.IsIPTV ? true : false);
                    tvChannelPackage.Channels.Add(tvChannel);
                }

                context.TVChannelPackages.Add(tvChannelPackage);
            }

            context.SaveChanges();
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            TVChannel tVChannel = db.TVChannels.Find(id);

            db.TVChannels.Remove(tVChannel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "ID,Name")] TVChannel tVChannel)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tVChannel).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tVChannel));
 }
示例#5
0
        public ActionResult Edit(TVChannel tvChannel)
        {
            if (!ModelState.IsValid)
            {
                return(View(tvChannel));
            }

            actions.Edit(tvChannel);
            return(RedirectToAction("Index"));
        }
示例#6
0
        public ActionResult Create([Bind(Include = "ID,Name")] TVChannel tVChannel)
        {
            if (ModelState.IsValid)
            {
                db.TVChannels.Add(tVChannel);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tVChannel));
        }
示例#7
0
        public void RemoveChannelFromPackage(Guid tvChannelPackageId, Guid tvChannelId)
        {
            TVChannelPackage tvChannelPackage = Get(tvChannelPackageId);

            if (tvChannelPackage.Channels.Count(item => item.Id == tvChannelId) != 0)
            {
                TVChannel tvChannel = tvChannelRepository.Get(tvChannelId);
                tvChannelPackage.Channels.Remove(tvChannel);
                Edit(tvChannelPackage);
            }
        }
示例#8
0
        public void AddChannelToPackage(Guid tvChannelPackageId, Guid tvChannelId)
        {
            TVChannelPackage tvChannelPackage = Get(tvChannelPackageId);

            if (tvChannelPackage.Channels.Count(item => item.Id == tvChannelId) == 0)
            {
                TVChannel tvChannel = tvChannelRepository.Get(tvChannelId);
                tvChannelPackage.Channels.Add(tvChannel);
                Edit(tvChannelPackage);
            }
        }
示例#9
0
        public async Task <IActionResult> Create([Bind("Id,ChannelName,Established")] TVChannel tVChannel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tVChannel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tVChannel));
        }
示例#10
0
        public Dictionary <string, TVChannel> GetAllChannels()
        {
            List <Channel> channels = storeManager.GetChannelsInFirstLineup();
            Dictionary <string, TVChannel> output = new Dictionary <string, TVChannel>();

            foreach (Channel c in channels)
            {
                TVChannel tvc = Conversion.TVChannelFromChannel(c);
                output.Add(tvc.Id, tvc);
            }

            return(output);
        }
示例#11
0
        // GET: TVChannel/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TVChannel tVChannel = db.TVChannels.Find(id);

            if (tVChannel == null)
            {
                return(HttpNotFound());
            }
            return(View(tVChannel));
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            TVChannel = await _context.TVChannel.FirstOrDefaultAsync(m => m.Id == id);

            if (TVChannel == null)
            {
                return(NotFound());
            }
            return(Page());
        }
示例#13
0
        public static void showProgram(TVChannel tvChannel)
        {
            if (tv == null)
            {
                return;
            }

            tvScreen = tvChannel.sprite;

            if (tvChannel.overlay != null)
            {
                tvOverlay = tvChannel.overlay;
            }

            Game1.drawObjectDialogue(Game1.parseText(tvChannel.text));
            Game1.afterDialogues = new Game1.afterFadeFunction(tvChannel.afterDialogues);
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            TVChannel = await _context.TVChannel.FindAsync(id);

            if (TVChannel != null)
            {
                _context.TVChannel.Remove(TVChannel);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#15
0
        /// <summary>
        /// Create new TVChannelContract and user change balance
        /// </summary>
        public void Create(string userId, Guid contractAddressId, Guid tvChannelId)
        {
            User            user            = (userRepository as UserRepository).GetById(userId);
            ContractAddress contractAddress = contractAddressRepository.Get(contractAddressId);
            TVChannel       tvChannel       = tvChannelRepository.Get(tvChannelId);

            TVChannelContract tvChannelContract = new TVChannelContract()
            {
                Number            = repository.Count().ToString(),
                DoS               = DateTime.UtcNow,
                SubscriberId      = user.Id,
                ContractAddressId = contractAddress.Id,
                TVChannelId       = tvChannel.Id,
            };

            Create(tvChannelContract);
        }
示例#16
0
        /// <summary>
        /// Create new TVChannelContract and user change balance
        /// </summary>
        public override void Create(TVChannelContract item)
        {
            TVChannel tvChannel = tvChannelRepository.Get(item.TVChannelId);

            double monthPrice = CalculatePrice(tvChannel.Price);
            double price      = CalculatePrice(monthPrice);
            User   user       = (userRepository as UserRepository).GetById(item.SubscriberId);

            if (user.Balance < price)
            {
                throw new Exception();
            }

            base.Create(item);

            user.Balance -= price;
            userRepository.Edit(user);
        }
示例#17
0
        public override ValidationResult Validate(object value,
                                                  System.Globalization.CultureInfo cultureInfo)
        {
            TVChannel course = (value as BindingGroup).Items[0] as TVChannel;

            if (String.IsNullOrEmpty(course.Name))
            {
                return(new ValidationResult(false, "Channel name can't be empty"));
            }
            //using (DbConnect db = new DbConnect())
            //{
            //    var d = db.GetChannels().FirstOrDefault(c => c.Name == course.Name && c.Id != course.Id);
            //    if (d != null)
            //    {
            //        return new ValidationResult(false, "Can't insert duplicate value");
            //    }
            //}

            return(ValidationResult.ValidResult);
        }
示例#18
0
        public TVChannelDetails(TVChannel tvChannel)
        {
            Id         = tvChannel.Id;
            Name       = tvChannel.Name;
            IsTV       = tvChannel.IsTV;
            IsIPTV     = tvChannel.IsIPTV;
            Price      = tvChannel.Price;
            IsCanceled = tvChannel.IsCanceled;

            Contracts         = tvChannel.Contracts.Count(tvChannelContract => tvChannelContract.IsCanceled == false);
            ContractsCanceled = tvChannel.Contracts.Count(tvChannelContract => tvChannelContract.IsCanceled == true);
            ContractsTotal    = Contracts + ContractsTotal;

            Packages = tvChannel.Packages.Select(tvChannelPackage => tvChannelPackage.Name).ToArray();

            ContractsInPackage         = 0;
            ContractsCanceledInPackage = 0;
            foreach (var tvChannelPackage in tvChannel.Packages)
            {
                ContractsInPackage         += tvChannelPackage.Contracts.Count(tvChannelPackageContract => tvChannelPackageContract.IsCanceled == false);
                ContractsCanceledInPackage += tvChannelPackage.Contracts.Count(tvChannelPackageContract => tvChannelPackageContract.IsCanceled == true);
            }
            ContractsTotalInPackage = ContractsInPackage + ContractsCanceledInPackage;
        }
示例#19
0
        public List <TVChannel> SearchByCategory(string searchCategory, List <TVChannel> tvChannels)
        {
            List <TVChannel> searchResults = new List <TVChannel>();
            //List<Program> programs = new List<Program>();
            TVChannel tempTvChannel = new TVChannel();

            foreach (TVChannel channel in tvChannels)
            {
                foreach (var program in channel.TVPrograms)
                {
                    foreach (Category c in program.Categories)
                    {
                        if (c.Name == searchCategory)
                        {
                            if (tempTvChannel.Name != channel.Name)
                            {
                                tempTvChannel = channel;

                                tempTvChannel.TVPrograms = new List <Program>
                                {
                                    program
                                };
                            }
                            else
                            {
                                tempTvChannel.TVPrograms.Add(program);
                            }
                            //programs.Add(program);
                        }
                    }
                }
                //channel.TVPrograms = programs;
                searchResults.Add(tempTvChannel);
            }
            return(searchResults);
        }
示例#20
0
        /// <summary>
        /// Check can user subscribe to this tariff plan
        /// </summary>
        public bool CanSubscribe(Guid contractAddressId, Guid tvChannelId)
        {
            ContractAddress contractAddress = contractAddressRepository.Get(contractAddressId);
            IEnumerable <TVChannelPackageContract> tvChannelPackageContracts = contractAddress.TVChannelPackageContracts.Where(item => !item.IsCanceled).ToArray();

            foreach (TVChannelPackageContract tvChannelPackageContract in tvChannelPackageContracts)
            {
                if (tvChannelPackageContract.TVChannelPackage.Channels.Count(item => item.Id == tvChannelId) != 0)
                {
                    return(false);
                }
            }

            if (contractAddress.TVChannelContracts.Count(item => item.TVChannelId == tvChannelId && !item.IsCanceled) != 0)
            {
                return(false);
            }

            User      user      = (userRepository as UserRepository).GetById(contractAddress.SubscriberId);
            TVChannel tvChannel = tvChannelRepository.Get(tvChannelId);
            double    price     = CalculatePrice(tvChannel.Price);

            return(user.Balance >= price);
        }
示例#21
0
        public ActionResult Create()
        {
            TVChannel tvChannel = new TVChannel();

            return(View(tvChannel));
        }
示例#22
0
        public ActionResult Edit(Guid id)
        {
            TVChannel tvChannel = actions.Get(id);

            return(View(tvChannel));
        }
示例#23
0
 public static void addChannel(TVChannel tvChannel)
 {
     channels.AddOrReplace(tvChannel.id, tvChannel);
 }