public void MakeReservation(int performanceId, DateTime date, int ticketQuantity, out int reservationId) { CustomPrincipal principal = Thread.CurrentPrincipal as CustomPrincipal; reservationId = -1; if (principal.IsInRole("Korisnik") || principal.IsInRole("SuperKorisnik")) { Console.WriteLine("\nMaking reservation..."); Reservation reservation = null; string clientUsername = GetClientUserName(); for (int i = 0; i < Database.users.Count(); ++i) { if (Database.users[i].Username.Equals(clientUsername)) { if (Database.reservations.Count() > 0) { reservation = new Reservation(Database.reservations.Count(), performanceId, date, ticketQuantity); reservationId = Database.reservations.Count(); } else { reservation = new Reservation(0, performanceId, date, ticketQuantity); reservationId = 0; } Database.users[i].Reservations.Add(reservation); try { Audit.AddToBaseSuccess(clientUsername, "reservation."); } catch (Exception e) { Console.WriteLine(e.Message); } } } Database.reservations.Add(reservation); Database.WriteReservations(); Database.WriteUsers(); } else { try { Audit.AuthorizationFailed(GetClientUserName(), "Make Reservation", $"Make Reservation can be used only by user in the Korisnik or SuperKorisnik group."); } catch (Exception e) { Console.WriteLine(e.Message); } ErrorMessage("Korisnik or SuperKorisnik", "Make Reservation"); } }
public void AddPerformance(string name, DateTime date, int room, double price, out int idPerformance) { CustomPrincipal principal = Thread.CurrentPrincipal as CustomPrincipal; idPerformance = -1; if (principal.IsInRole("Admin")) { string userName = GetClientUserName(); Console.WriteLine("\nAdding performance..."); Performance performance = null; if (Database.performances.Count() > 0) { performance = new Performance(Database.performances.Count(), name, date, room, price); idPerformance = Database.performances.Count(); } else { performance = new Performance(0, name, date, room, price); idPerformance = 0; } Database.performances.Add(performance); try { Audit.AddToBaseSuccess(userName, "performance."); } catch (Exception e) { Console.WriteLine(e.Message); } Database.WritePerformances(); } else { try { Audit.AuthorizationFailed(GetClientUserName(), "Add Performance", $"Add Performance can be used only by user in the Admin group."); } catch (Exception e) { Console.WriteLine(e.Message); } ErrorMessage("Admin", "Add Performance"); } }