public static bool DodajEmisijuDnevnomRasporedu(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored, Dan i) { if (ProvjeriPripadnostEmisijeProgramu(tvProgram, emisija) == false) { return(false); } var daniEmisije = emisija.Dani.Count > 0; //ako ima dane, a trenutni dan nije taj dan if (daniEmisije && !emisija.Dani.Contains(i)) { Console.WriteLine("Emisija se ne izvodi u odabranom danu"); return(false); } //prioritet emisije 1. ( emisija ima i dan i pocetak emitiranja if (DodajPrioritetne(tvProgram, emisija, raspored, out var dodajEmisijuDnevnomRasporedu)) { return(dodajEmisijuDnevnomRasporedu); } //za sve ostale if (DodajPreostale(tvProgram, emisija, raspored)) { return(true); } return(false); }
public Countdown() { timer = new Timer(); timer.Interval = 2000; tvProgram = new TvProgram(); timer.Elapsed += Tick; }
private static bool DodajPreostale(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored) { var krajPrograma = tvProgram.KrajPrograma - emisija.TrajanjeEmisije + new TimeSpan(24, 0, 0); for (var j = tvProgram.PocetakPrograma; j <= krajPrograma; j += new TimeSpan(0, 1, 0)) { if (emisija.PocetakEmitiranjaEmisije + emisija.TrajanjeEmisije > tvProgram.KrajPrograma) { continue; } if (!ProvjeriPreklapanja(j, emisija.TrajanjeEmisije, raspored.DohvatiDjecu().Select(c => (EmisijaRasporeda)c).ToList())) { continue; } var trazenaEmisija = new EmisijaRasporeda { IdEmisije = emisija.Id, PocetakEmisije = j, KrajEmisije = j + emisija.TrajanjeEmisije, NazivEmisije = emisija.NazivEmisije, VrstaEmisije = emisija.VrstaEmisije, UnikatniID = UcitaniPodaci.EmisijaUnikatniID, OsobeUloge = DohvatiSveOsobeUloge(emisija) }; raspored.Dodaj(trazenaEmisija); DohvatiSveOsobeUloge(emisija); UcitaniPodaci.EmisijaUnikatniID++; return(true); } return(false); }
private void CreateChannelBreaks(Channel channel) { TvBreak currentBreak = null; foreach (BaseActivity activity in channel.Activities) { if (activity is TvProgram) { TvProgram program = activity as TvProgram; AddBreakToChannelIfNotEmpty(currentBreak, channel); currentBreak = new TvBreak() { StartTime = program.EndTime, }; } else { if (currentBreak == null) { currentBreak = new TvBreak() { StartTime = activity.StartTime, }; } currentBreak.Activities.Add(activity); if (activity is AdvertisementInstance) { currentBreak.AddAdvertisement(activity as AdvertisementInstance); } } } AddBreakToChannelIfNotEmpty(currentBreak, channel); }
public static void IspisiSve() { Osoba.Ispis(); VrstaEmisije.Ispis(); Uloga.Ispis(); TvProgram.Ispis(); //Emisija.Ispis(); }
public override bool Matches(TvProgram program) { if (program.Type != TvProgram.ProgramType.Film) { return(false); } return(program.Genre == GenreName); }
public override bool Matches(TvProgram program) { if (program.Type != TvProgram.ProgramType.Film) { return(false); } return(program.IsItalian); }
public async Task <ActionResult> DeleteConfirmed(int id) { TvProgram tvProgram = await dbContext.TvPrograms.FindAsync(id); dbContext.TvPrograms.Remove(tvProgram); await dbContext.SaveChangesAsync(); return(RedirectToAction("Index")); }
private static void DodajPrioritetne(List <Emisija> emisije, TvProgram tvProgram, Dan i) { emisije.AddRange(tvProgram.Emisije.Where(e => e.Dani.Count >= 1 && e.Dani.Contains(i) && e.PocetakEmitiranjaEmisije != null) .OrderBy(a => a.PocetakEmitiranjaEmisije) .OrderBy(d => d.Dani.Count) .ThenBy(p => p.PocetakEmitiranjaEmisije)); emisije.AddRange(tvProgram.Emisije.Where(e => e.Dani.Count >= 1 && e.Dani.Contains(i) && e.PocetakEmitiranjaEmisije == null)); }
public void DeleteReservation(TvProgram program) { using (TvContext context = new TvContext()) { TvProgram old = context.Programs.First(p => p.ProgramId == program.ProgramId); context.Entry(old).State = System.Data.Entity.EntityState.Modified; context.Entry(old).Entity.Reserved = null; context.Entry(old).Entity.ReservedRoomId = null; context.SaveChanges(); } }
public static bool ProvjeriPripadnostEmisijeProgramu(TvProgram tvProgram, Emisija emisija) { if (tvProgram.Emisije.Count(e => e.Id == emisija.Id) < 1) { Console.WriteLine("Tražena emisija ne pripada odabranom programu"); return(false); } else { return(true); } }
public void DeleteProgram(TvProgram program) { if (program != null) { using (TvContext context = new TvContext()) { TvProgram p = context.Programs.Find(program.ProgramId); context.Entry(p).State = System.Data.Entity.EntityState.Deleted; context.Programs.Remove(p); context.SaveChanges(); } } }
private void AnalyzeProgram(string line) { string[] fields = line.Split(' '); TvProgram program = new TvProgram() { Span = new TimeSpan(0, 0, Convert.ToInt32(fields[1])), StartTime = currentChannel.EndTime, }; program.EndTime = currentChannel.EndTime = currentChannel.EndTime.Add(program.Span); currentChannel.Programs.Add(program); currentChannel.Activities.Add(program); }
private void Tick(object sender, ElapsedEventArgs args) { TvProgram newProgram = TvProgramManager.GetNextProgram(new TimeSpan(0, 15, 0)); if (newProgram != null && newProgram.ProgramId != tvProgram.ProgramId) { tvProgram = newProgram; ProgramIncoming?.Invoke(this, new TvProgramIncomingEventArgs() { TVProgram = tvProgram }); } }
public async Task <ActionResult> Create([Bind(Include = "ID,Title,Details,Broadcasting,Duration,TvChannelID")] TvProgram tvProgram) { if (ModelState.IsValid) { dbContext.TvPrograms.Add(tvProgram); await dbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.TvChannelID = new SelectList(dbContext.TvChannels, "ID", "Name", tvProgram.TvChannelID); return(View(tvProgram)); }
public async Task <ActionResult> Edit([Bind(Include = "ID,Title,Details,Broadcasting,EndTime,TvChannelID ,Duration, IsInFocus")] TvProgram tvProgram) //public async Task<ActionResult> Edit([Bind(Include = "ID,Title,Details, IsInFocus")] TvProgram tvProgram) { if (ModelState.IsValid) { dbContext.Entry(tvProgram).State = EntityState.Modified; await dbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.TvChannelID = new SelectList(dbContext.TvChannels, "ID", "Name", tvProgram.TvChannelID); return(View(tvProgram)); }
// GET: TvProgram/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TvProgram tvProgram = await dbContext.TvPrograms.FindAsync(id); if (tvProgram == null) { return(HttpNotFound()); } return(View(tvProgram)); }
public override bool Matches(TvProgram program) { if (program.Type != TvProgram.ProgramType.SerieTv) { return(false); } return(program.IsItalian); // var movie = program as Movie; // if (movie == null) return false; // if (program.Cast == null) return false; // return Utils.IsItalianCast(program.Cast); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TvProgram tvProgram = await dbContext.TvPrograms.FindAsync(id); if (tvProgram == null) { return(HttpNotFound()); } ViewBag.TvChannelID = new SelectList(dbContext.TvChannels, "ID", "Name", tvProgram.TvChannelID); return(View(tvProgram)); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } TvProgram = await _context.TvPrograms.FirstOrDefaultAsync(m => m.Id == id); if (TvProgram == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } TvProgram = await _context.TvPrograms.FindAsync(id); if (TvProgram != null) { _context.TvPrograms.Remove(TvProgram); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task UpdateTvProgramAsync(TvProgram tvProgram) { var entity = await _context.TvPrograms .Include(x => x.DefaultSchedules) .SingleOrDefaultAsync(x => x.Id == tvProgram.Id); if (entity == null) { throw new NotFoundException(nameof(TvProgram), tvProgram.Id); } // TODO: _context.Entry(entity).State = EntityState.Modified; entity.Name = tvProgram.Name; entity.DefaultSchedules = tvProgram.DefaultSchedules; await _context.SaveChangesAsync(); }
//TV program lefoglalása. /// <summary> /// TV program lefoglalása egy adott szobához /// </summary> /// <param name="program">Foglalandó műsor</param> /// <param name="room">Lefoglaló szoba</param> public static void ReserveTvProgram(TvProgram program, Room room) { using (TvContext context = new TvContext()) { try { TvProgram prg = context.Programs.Find(program.ProgramId); Room r = context.Rooms.Find(room.RoomId); prg.Reserved = r; context.SaveChanges(); } catch (Exception) { MessageBox.Show("Nem sikerült a foglalás.\nHiba lépett fel. Frissítsen és próbálja újra.", "Hiba.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void AddTvProgramToList(TvProgram program) { ListViewItem item = new ListViewItem(); item.Tag = program; item.SubItems.Add(program.TvChannel); item.SubItems.Add(program.StartTime.ToString("yyyy.MM.dd")); item.SubItems.Add(program.StartTime.ToString("HH:mm:ss")); item.SubItems.Add(program.AgeLimit.ToString()); item.SubItems.Add(program.EndTime.ToString("HH:mm:ss")); if (program.ReservedRoomId != null) { item.SubItems.Add(program.ReservedRoomId.ToString()); } item.Text = program.Title; programList.Items.Add(item); }
public List <TvProgram> GenerateRandomPrograms(string channel, DateTime day, string showNamesFile) { List <TvProgram> programs = new List <TvProgram>(); try { List <string> names = new List <string>(); using (StreamReader sr = new StreamReader(showNamesFile, Encoding.UTF8)) { while (!sr.EndOfStream) { names.Add(sr.ReadLine()); } } DateTime[] times = WatchTimeGenerator(new DateTime(day.Year, day.Month, day.Day, 0, 0, 0)); while (times[0].Hour != 23 && times[0].Minute != 59 && times[0].Second != 59) { TvProgram newProgram = new TvProgram(); newProgram.TvChannel = channel; newProgram.Title = names[r.Next(names.Count)]; newProgram.AgeLimit = AgeLimitGenerator(); newProgram.Genre = GenreGenerator(); newProgram.StartTime = times[0]; newProgram.EndTime = times[1]; times = WatchTimeGenerator(times[1]); programs.Add(newProgram); //Console.WriteLine(newProgram.Title); //Console.WriteLine(newProgram.StartTime); //Console.WriteLine(newProgram.EndTime); } } catch (FileNotFoundException) { MessageBox.Show("A műsorokat tartalmazó fájl nem létezik."); } catch (Exception) { MessageBox.Show("Sikertelen a generálás."); } return(programs); }
public static bool UcitajDatoteke(string[] args) { Console.WriteLine("Započinjem s učitavanjem podataka..."); var pocetnaProvjeraDatoteka = ProvjeraDatotekeSingleton.GetInstance.ProvjeriDatoteke(args.ToList()); Console.WriteLine(); if (pocetnaProvjeraDatoteka) { var listaArgumenata = args.ToList(); UcitaniPodaci.UcitajOsobe(listaArgumenata); UcitaniPodaci.UcitajUloge(listaArgumenata); UcitaniPodaci.UcitajVrste(listaArgumenata); UcitaniPodaci.UcitajPrograme(listaArgumenata); UcitaniPodaci.UcitajEmisije(listaArgumenata); TvProgram.DodajPopunjenjePrograme(); DnevniRaspored.KreirajRaspored(); } return(pocetnaProvjeraDatoteka); }
private static bool DodajPrioritetne(TvProgram tvProgram, Emisija emisija, DnevniRaspored raspored, out bool dodajEmisijuDnevnomRasporedu) { if (emisija.PocetakEmitiranjaEmisije != null) { //ako emisija traje duže od samog programa if (emisija.PocetakEmitiranjaEmisije + emisija.TrajanjeEmisije > tvProgram.KrajPrograma) { dodajEmisijuDnevnomRasporedu = false; return(true); } if (!ProvjeriPreklapanja(emisija.PocetakEmitiranjaEmisije.Value, emisija.TrajanjeEmisije, raspored.DohvatiDjecu().Select(c => (EmisijaRasporeda)c).ToList())) { dodajEmisijuDnevnomRasporedu = false; return(true); } var trazenaEmisija = new EmisijaRasporeda { IdEmisije = emisija.Id, PocetakEmisije = emisija.PocetakEmitiranjaEmisije.Value, KrajEmisije = emisija.PocetakEmitiranjaEmisije.Value + emisija.TrajanjeEmisije, NazivEmisije = emisija.NazivEmisije, VrstaEmisije = emisija.VrstaEmisije, UnikatniID = UcitaniPodaci.EmisijaUnikatniID, OsobeUloge = DohvatiSveOsobeUloge(emisija) }; DohvatiSveOsobeUloge(emisija); raspored.Dodaj(trazenaEmisija); UcitaniPodaci.EmisijaUnikatniID++; { dodajEmisijuDnevnomRasporedu = true; return(true); } } dodajEmisijuDnevnomRasporedu = false; return(false); }
public bool ValidateProgram(TvProgram program) { if (program.Title == "") { throw new TvProgramCreateEditException("Kötelező címet megadni.", TvProgramCreateEditExceptionDetails.EmptyField); } if (program.TvChannel == "") { throw new TvProgramCreateEditException("Kötelező TV csatornát megadni.", TvProgramCreateEditExceptionDetails.EmptyField); } if (program.Genre == 0) { throw new TvProgramCreateEditException("Kötelező legalább egy műfajt megadni.", TvProgramCreateEditExceptionDetails.EmptyField); } if (program.StartTime > program.EndTime) { throw new TvProgramCreateEditException("Nem kezdődhet később a műsor, mint ahogy vége van.", TvProgramCreateEditExceptionDetails.WrongDateRange); } using (TvContext context = new TvContext()) { var collision = from p in context.Programs where p.TvChannel == program.TvChannel && System.Data.Entity.Core.Objects.EntityFunctions.DiffDays(p.StartTime, program.StartTime) == 0 && p.StartTime <= program.StartTime && p.EndTime > program.StartTime && p.ProgramId != program.ProgramId select p; if (collision.Count() > 0) { throw new TvProgramCreateEditException($"Ebben az időpontban már van felvéve Tv műsor\n{program.Title} {program.StartTime.TimeOfDay} - {program.EndTime.TimeOfDay}", TvProgramCreateEditExceptionDetails.Collision); } return(true); } }
public void AddTvProgram(TvProgram program) { if (this.ValidateProgram(program)) { using (TvContext context = new TvContext()) { if (program.ProgramId != 0) { TvProgram old = context.Programs.First(p => p.ProgramId == program.ProgramId); context.Entry(old).State = System.Data.Entity.EntityState.Modified; context.Entry(old).CurrentValues.SetValues(program); //Console.WriteLine(context.Entry(old).Entity.Title); context.SaveChanges(); } else { context.Programs.Add(program); context.SaveChanges(); } } } }
public VrsteEmisijaPoTjednu(TvProgram program, int vrstaEmisije) { Program = program; VrstaEmisije = vrstaEmisije; }