public async Task <Sheriff> UpdateSheriff(Sheriff sheriff) { _db.Sheriff.Update(sheriff); await _db.SaveChangesAsync(); return(sheriff); }
public async Task<Sheriff> UpdateSheriff(Sheriff sheriff, bool canEditIdir) { var savedSheriff = await Db.Sheriff.FindAsync(sheriff.Id); savedSheriff.ThrowBusinessExceptionIfNull($"{nameof(Sheriff)} with the id: {sheriff.Id} could not be found. "); if (sheriff.BadgeNumber != savedSheriff.BadgeNumber) await CheckForBlankOrDuplicateBadgeNumber(sheriff.BadgeNumber); if (canEditIdir && savedSheriff.IdirName != sheriff.IdirName) { await CheckForBlankOrDuplicateIdirName(sheriff.IdirName, sheriff.Id); sheriff.IdirName = sheriff.IdirName.ToLower(); sheriff.IdirId = null; } else { sheriff.IdirName = savedSheriff.IdirName; sheriff.IdirId = savedSheriff.IdirId; } Db.Entry(savedSheriff).CurrentValues.SetValues(sheriff); Db.Entry(savedSheriff).Property(x => x.HomeLocationId).IsModified = false; Db.Entry(savedSheriff).Property(x => x.IsEnabled).IsModified = false; Db.Entry(savedSheriff).Property(x => x.Photo).IsModified = false; Db.Entry(savedSheriff).Property(x => x.LastPhotoUpdate).IsModified = false; Db.Entry(savedSheriff).Property(x => x.KeyCloakId).IsModified = false; Db.Entry(savedSheriff).Property(x => x.LastLogin).IsModified = false; await Db.SaveChangesAsync(); return sheriff; }
static Hero PlayerSetup() { Console.WriteLine("What is your name?"); string name = Console.ReadLine(); string choice = "0"; while (choice != "1" && choice != "2" && choice != "3") { Console.WriteLine("Please type the number of the hero you would ike to be?\n1. Cowboy\n2. Gunslinger\n3. Sheriff"); choice = Console.ReadLine(); } switch (choice) { case ("1"): Cowboy cowboy = new Cowboy(name); return(cowboy); case ("2"): // Change Ninja to another class of hero. Gunslinger gunslinger = new Gunslinger(name); return(gunslinger); case ("3"): // Change Ninja to another class of hero. Sheriff sheriff = new Sheriff(name); return(sheriff); } return(null); }
static void Main(string[] args) { //Private Static void method //IntroductionIntoTheStory(); //instance of public class sheriff and gunfighter Sheriff Columbia = new Sheriff(); Sheriff Orangeburg = new Sheriff(); Gunfighters ColumbiaGF = new Gunfighters(); Gunfighters OrangeburgGF = new Gunfighters(); }
private void OnRoundScored(object sender, EventArgs e) { if (!AllScored()) { return; } var roundScore = CalculateRoundScore(); Sheriff.UpdateScoring(roundScore); }
public async Task<Sheriff> AddSheriff(Sheriff sheriff) { await CheckForBlankOrDuplicateIdirName(sheriff.IdirName); await CheckForBlankOrDuplicateBadgeNumber(sheriff.BadgeNumber); sheriff.IdirName = sheriff.IdirName.ToLower(); sheriff.AwayLocation = null; sheriff.ActingRank = null; sheriff.Training = null; sheriff.Leave = null; sheriff.HomeLocation = await Db.Location.FindAsync(sheriff.HomeLocationId); sheriff.IsEnabled = true; await Db.Sheriff.AddAsync(sheriff); await Db.SaveChangesAsync(); return sheriff; }
private async Task <Guid> CreateSheriff(int locationId) { var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", HomeLocationId = locationId, IsEnabled = true }; await Db.Sheriff.AddAsync(newSheriff); await Db.SaveChangesAsync(); return(newSheriff.Id); }
public async Task CreateSheriffSameIdir() { var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", BadgeNumber = "556", Email = "*****@*****.**", Gender = Gender.Female, IdirId = new Guid(), IdirName = "ted@fakeidir", HomeLocationId = null }; var sheriffDto = newSheriff.Adapt <SheriffWithIdirDto>(); //Debug.Write(JsonConvert.SerializeObject(sheriffDto)); var response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(await _controller.AddSheriff(sheriffDto)); var sheriffResponse = response.Adapt <Sheriff>(); Assert.NotNull(await Db.Sheriff.FindAsync(sheriffResponse.Id)); newSheriff.BadgeNumber = "554"; sheriffDto = newSheriff.Adapt <SheriffWithIdirDto>(); //Debug.Write(JsonConvert.SerializeObject(sheriffDto)); BusinessLayerException ble = null; try { response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue( await _controller.AddSheriff(sheriffDto)); sheriffResponse = response.Adapt <Sheriff>(); } catch (Exception e) { Assert.True(e is BusinessLayerException); ble = (BusinessLayerException)e; } Assert.Contains("has IDIR name", ble.Message); }
/// <summary> /// Returns a list of Player objects after asking the user for their name and assignming them a ROLE. /// </summary> public List <Player> getPlayerNamesAndAssignRandomRoles(int totalPlayers) { List <Player> registeredPlayers = new List <Player>(); Random roleRandomGenerator = new Random(); int count = 1; while (count <= totalPlayers) { Console.WriteLine("Name for Player " + count + ":"); ROLE currentRole = getRandomAvailableRole(roleRandomGenerator); Player p = null; if (currentRole == ROLE.Civilian) { p = new Player(Console.ReadLine(), ROLE.Civilian); } else if (currentRole == ROLE.Doctor) { p = new Doctor(Console.ReadLine()); } else if (currentRole == ROLE.Mafia) { p = new MafiaMember(Console.ReadLine()); } else if (currentRole == ROLE.Sheriff) { p = new Sheriff(Console.ReadLine()); } registeredPlayers.Add(p); count++; Prompt.postRegistrationInformation(p.name, currentRole.ToString()); } return(registeredPlayers); }
public static void clearAndReloadRoles() { Jester.clearAndReload(); Mayor.clearAndReload(); Engineer.clearAndReload(); Sheriff.clearAndReload(); Lighter.clearAndReload(); Godfather.clearAndReload(); Mafioso.clearAndReload(); Janitor.clearAndReload(); Detective.clearAndReload(); TimeMaster.clearAndReload(); Medic.clearAndReload(); Shifter.clearAndReload(); Swapper.clearAndReload(); Lovers.clearAndReload(); Seer.clearAndReload(); Morphling.clearAndReload(); Camouflager.clearAndReload(); Spy.clearAndReload(); Child.clearAndReload(); }
public async Task CreateSheriff() { var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", BadgeNumber = "555", Email = "*****@*****.**", Gender = Gender.Female, IdirId = new Guid(), IdirName = "ted@fakeidir", HomeLocationId = null }; var sheriffDto = newSheriff.Adapt <SheriffWithIdirDto>(); //Debug.Write(JsonConvert.SerializeObject(sheriffDto)); var response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(await _controller.AddSheriff(sheriffDto)); var sheriffResponse = response.Adapt <Sheriff>(); Assert.NotNull(await Db.Sheriff.FindAsync(sheriffResponse.Id)); }
private async Task <Sheriff> CreateSheriffUsingDbContext() { var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", BadgeNumber = "555", Email = "*****@*****.**", Gender = Gender.Female, IdirId = new Guid(), IdirName = "ted@fakeidir", HomeLocation = new Location { Name = "Teds Place", AgencyId = "5555555435353535353535353" }, }; await Db.Sheriff.AddAsync(newSheriff); await Db.SaveChangesAsync(); Detach(); return(newSheriff); }
public async Task AddUpdateRemoveDutySlots() { var location = new Location { Id = 1, AgencyId = "5555", Name = "dfd" }; await Db.Location.AddAsync(location); var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", HomeLocationId = location.Id, IsEnabled = true }; await Db.Sheriff.AddAsync(newSheriff); await Db.SaveChangesAsync(); var startDate = DateTimeOffset.UtcNow.AddYears(5); var duty = new Duty { Id = 1, LocationId = 1, StartDate = startDate, EndDate = startDate.AddDays(5), Timezone = "America/Vancouver" }; await Db.Duty.AddAsync(duty); await Db.SaveChangesAsync(); var controllerResult = await _controller.GetDuties(location.Id, startDate, startDate.AddDays(5)); var getDuties = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult); Assert.NotEmpty(getDuties); var updateDuty = getDuties.FirstOrDefault(d => d.Id == 1) !.Adapt <UpdateDutyDto>(); updateDuty.DutySlots = new List <UpdateDutySlotDto> { //Add. new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id }, //Add. new UpdateDutySlotDto { StartDate = startDate.AddDays(5), EndDate = startDate.AddDays(10), SheriffId = newSheriff.Id }, }; var controllerResult2 = await _controller.UpdateDuties(new List <UpdateDutyDto> { updateDuty }); var updateDuty2 = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult2); updateDuty.DutySlots = new List <UpdateDutySlotDto> { //Update new UpdateDutySlotDto { Id = updateDuty2.First().DutySlots.First().Id, StartDate = startDate.AddDays(10), EndDate = startDate.AddDays(15), SheriffId = newSheriff.Id }, //Add new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id }, //Implicit remove of one. }; var controllerResult3 = await _controller.UpdateDuties(new List <UpdateDutyDto> { updateDuty }); HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult3); }
// Methods private static IEnumerable <string> GetResults(Role role) { switch (role) { case Vigilante _: case Veteran _: case Mafioso _: // case Pirate _: case Ambusher _: return(new[] { Vigilante.GetName(), Veteran.GetName(), Mafioso.GetName(), Ambusher.GetName() }); case Medium _: case Janitor _: case Retributionist _: // case Necromancer _: case Trapper _: return(new[] { Medium.GetName(), Janitor.GetName(), Retributionist.GetName(), Trapper.GetName() }); case Survivor _: case VampireHunter _: case Amnesiac _: // case Medusa _: case Psychic _: return(new[] { Survivor.GetName(), VampireHunter.GetName(), Amnesiac.GetName(), Psychic.GetName() }); case Spy _: case Blackmailer _: case Jailor _: case GuardianAngel _: return(new[] { Spy.GetName(), Blackmailer.GetName(), Jailor.GetName(), GuardianAngel.GetName() }); case Sheriff _: case Executioner _: case Werewolf _: // case Poisoner _: return(new[] { Sheriff.GetName(), Executioner.GetName(), Werewolf.GetName() }); case Framer _: case Vampire _: case Jester _: // case HexMaster _: return(new[] { Framer.GetName(), Vampire.GetName(), Jester.GetName() }); case Lookout _: case Forger _: // case Juggernaut _: // case CovenLeader _: return(new[] { Lookout.GetName(), Forger.GetName() }); case Escort _: case Transporter _: case Consort _: case Hypnotist _: return(new[] { Escort.GetName(), Transporter.GetName(), Consort.GetName(), Hypnotist.GetName() }); case Doctor _: case Disguiser _: case SerialKiller _: // case PotionMaster _: return(new[] { Doctor.GetName(), Disguiser.GetName(), SerialKiller.GetName() }); case Investigator _: case Consigliere _: case Mayor _: case Tracker _: // case Plaguebearer _: return(new[] { Investigator.GetName(), Consigliere.GetName(), Mayor.GetName(), Tracker.GetName() }); case Bodyguard _: case Godfather _: case Arsonist _: case Crusader _: return(new[] { Bodyguard.GetName(), Godfather.GetName(), Arsonist.GetName(), Crusader.GetName() }); } return(new string[] { }); }
private static string ConflictingSheriffAndDutySlot(Sheriff sheriff, DutySlot dutySlot) => $"Conflict - {nameof(Sheriff)}: {sheriff?.LastName}, {sheriff?.FirstName} - Existing {nameof(DutySlot)} conflicts: {dutySlot.StartDate.ConvertToTimezone(dutySlot.Timezone).PrintFormatDateTime(dutySlot.Timezone)} to {dutySlot.EndDate.ConvertToTimezone(dutySlot.Timezone).PrintFormatDateTime(dutySlot.Timezone)}";
public async Task DutySlotOverlap() { var location = new Location { Id = 1, AgencyId = "5555", Name = "dfd" }; await Db.Location.AddAsync(location); var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", HomeLocationId = location.Id, IsEnabled = true }; await Db.Sheriff.AddAsync(newSheriff); await Db.SaveChangesAsync(); var startDate = DateTimeOffset.UtcNow.AddYears(5); var duty = new Duty { Id = 1, LocationId = 1, StartDate = startDate, EndDate = startDate.AddDays(5), Timezone = "America/Vancouver" }; var duty2 = new Duty { Id = 2, LocationId = 1, StartDate = startDate, EndDate = startDate.AddDays(5), Timezone = "America/Vancouver" }; await Db.Duty.AddAsync(duty); await Db.Duty.AddAsync(duty2); await Db.SaveChangesAsync(); var controllerResult = await _controller.GetDuties(location.Id, startDate, startDate.AddDays(5)); var getDuties = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult); Assert.NotNull(getDuties); Assert.NotNull(getDuties.FirstOrDefault(d => d.Id == 1)); Assert.NotNull(getDuties.FirstOrDefault(d => d.Id == 2)); var updateDuty = getDuties.FirstOrDefault(d => d.Id == 1) !.Adapt <UpdateDutyDto>(); updateDuty.DutySlots = new List <UpdateDutySlotDto> { new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id } }; var controllerResult2 = await _controller.UpdateDuties(new List <UpdateDutyDto> { updateDuty }); HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult2); var updateDuty2 = getDuties.FirstOrDefault(d => d.Id == 2) !.Adapt <UpdateDutyDto>(); updateDuty2.DutySlots = new List <UpdateDutySlotDto> { new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id } }; //Should conflict. await Assert.ThrowsAsync <BusinessLayerException>(async() => await _controller.UpdateDuties(new List <UpdateDutyDto> { updateDuty2 })); }
private static string ConflictingSheriffAndSchedule(Sheriff sheriff, Shift shift) { shift.Timezone.GetTimezone().ThrowBusinessExceptionIfNull("Shift - Timezone was invalid."); return($"{sheriff.LastName}, {sheriff.FirstName} has a shift {shift.StartDate.ConvertToTimezone(shift.Timezone).PrintFormatDate()} {shift.StartDate.ConvertToTimezone(shift.Timezone).PrintFormatTime(shift.Timezone)} to {shift.EndDate.ConvertToTimezone(shift.Timezone).PrintFormatTime(shift.Timezone)}"); }
// Use this for initialization void Start() { sheriffScript = GetComponent <Sheriff>(); }
// Methods private static string GetResult(Role role) { switch (role) { case Investigator _: return($"{role.Owner.Data.PlayerName} gathers information about people. They must be an {Investigator.GetName()}."); case Lookout _: return($"{role.Owner.Data.PlayerName} watches who visits people at night. They must be a {Lookout.GetName()}."); case Psychic _: return($"{role.Owner.Data.PlayerName} has the sight. They must be a {Psychic.GetName()}."); case Sheriff _: return($"{role.Owner.Data.PlayerName} is a protector of the {Faction.Crew.Name}. They must be a {Sheriff.GetName()}."); case Spy _: return($"{role.Owner.Data.PlayerName} secretly watches who someone visits. They must be a {Spy.GetName()}."); case Tracker _: return($"{role.Owner.Data.PlayerName} is a skilled in the art of tracking. They must be a {Tracker.GetName()}."); case Jailor _: return($"{role.Owner.Data.PlayerName} detains people at night. They must be a {Jailor.GetName()}."); case VampireHunter _: return($"{role.Owner.Data.PlayerName} tracks Vampires. They must be a {VampireHunter.GetName()}!"); case Veteran _: return($"{role.Owner.Data.PlayerName} is a paranoid war hero. They must be a {Veteran.GetName()}."); case Vigilante _: return($"{role.Owner.Data.PlayerName} will bend the law to enact justice. They must be a {Vigilante.GetName()}."); case Bodyguard _: return($"{role.Owner.Data.PlayerName} is a trained protector. They must be a {Bodyguard.GetName()}."); case Doctor _: return($"{role.Owner.Data.PlayerName} is a professional surgeon. They must be a {Doctor.GetName()}."); case Crusader _: return($"{role.Owner.Data.PlayerName} is a divine protector. They must be a {Crusader.GetName()}."); case Trapper _: return($"{role.Owner.Data.PlayerName} is waiting for a big catch. They must be a {Trapper.GetName()}."); case Escort _: return($"{role.Owner.Data.PlayerName} is a beautiful person working for the {Faction.Crew.Name}. They must be an {Escort.GetName()}."); case Mayor _: return($"{role.Owner.Data.PlayerName} is the leader of the {Faction.Crew.Name}. They must be the {Mayor.GetName()}."); case Medium _: return($"{role.Owner.Data.PlayerName} speaks with the dead. They must be a {Medium.GetName()}."); case Retributionist _: return($"{role.Owner.Data.PlayerName} wields mystical powers. They must be a {Retributionist.GetName()}."); case Transporter _: return($"{role.Owner.Data.PlayerName} specializes in transportation. They must be a {Transporter.GetName()}."); case Disguiser _: return($"{role.Owner.Data.PlayerName} makes other people appear to be someone they're not. They must be a {Disguiser.GetName()}"); case Forger _: return($"{role.Owner.Data.PlayerName} is good at forging documents. They must be a {Forger.GetName()}."); case Framer _: return($"{role.Owner.Data.PlayerName} has a desire to deceive. They must be a {Framer.GetName()}!"); case Hypnotist _: return($"{role.Owner.Data.PlayerName} is skilled at disrupting others. They must be a {Hypnotist.GetName()}."); case Janitor _: return($"{role.Owner.Data.PlayerName} cleans up dead bodies. They must be a {Janitor.GetName()}."); case Ambusher _: return($"{role.Owner.Data.PlayerName} lies in wait. They must be an {Ambusher.GetName()}."); case Godfather _: return($"{role.Owner.Data.PlayerName} is the leader of the {Faction.Mafia.Name}. They must be the {Godfather.GetName()}."); case Mafioso _: return($"{role.Owner.Data.PlayerName} does the {Godfather.GetName()}'s dirty work. They must be a {Mafioso.GetName()}."); case Blackmailer _: return($"{role.Owner.Data.PlayerName} uses information to silence people. They must be a {Blackmailer.GetName()}."); case Consigliere _: return($"{role.Owner.Data.PlayerName} gathers information for the {Faction.Mafia.Name}. They must be a {Consigliere.GetName()}."); case Consort _: return($"{role.Owner.Data.PlayerName} is a beautiful person working for the {Faction.Mafia.Name}. They must be a {Consort.GetName()}."); case Amnesiac _: return($"{role.Owner.Data.PlayerName} does not remember their role. They must be an {Amnesiac.GetName()}."); case GuardianAngel _: return($"{role.Owner.Data.PlayerName} is watching over someone. They must be a {GuardianAngel.GetName()}."); case Survivor _: return($"{role.Owner.Data.PlayerName} simply wants to live. They must be a {Survivor.GetName()}."); case Vampire _: return($"{role.Owner.Data.PlayerName} drinks blood. They must be a {Vampire.GetName()}!"); case Executioner _: return($"{role.Owner.Data.PlayerName} wants someone to be lynched at any cost. They must be an {Executioner.GetName()}."); case Jester _: return($"{role.Owner.Data.PlayerName} wants to be lynched. They must be a {Jester.GetName()}."); case Witch _: return($"{role.Owner.Data.PlayerName} casts spells on people. They must be a {Witch.GetName()}."); case Arsonist _: return($"{role.Owner.Data.PlayerName} likes to watch things burn. They must be an {Arsonist.GetName()}."); case SerialKiller _: return($"{role.Owner.Data.PlayerName} wants to kill everyone. They must be a {SerialKiller.GetName()}"); case Werewolf _: return($"{role.Owner.Data.PlayerName} howls at the moon. They must be a {Werewolf.GetName()}."); default: return("No special role found."); } }
private static string PrintSheriffEventConflict <T>(Sheriff sheriff, DateTimeOffset start, DateTimeOffset end, string timezone) { timezone.GetTimezone().ThrowBusinessExceptionIfNull("SheriffEvent - Timezone was invalid."); return($"{sheriff.LastName}, {sheriff.FirstName} has {typeof(T).Name.Replace("Sheriff", "").ConvertCamelCaseToMultiWord()} {start.ConvertToTimezone(timezone).PrintFormatDateTime(timezone)} to {end.ConvertToTimezone(timezone).PrintFormatDateTime(timezone)}"); }
public async Task DutySlotOverlapSelf() { var location = new Location { Id = 1, AgencyId = "5555", Name = "dfd" }; await Db.Location.AddAsync(location); var newSheriff = new Sheriff { FirstName = "Ted", LastName = "Tums", HomeLocationId = location.Id, IsEnabled = true }; await Db.Sheriff.AddAsync(newSheriff); await Db.SaveChangesAsync(); var startDate = DateTimeOffset.UtcNow.AddYears(5); var addDuty = new AddDutyDto { LocationId = 1, StartDate = startDate, EndDate = startDate.AddDays(5), Timezone = "America/Vancouver" }; HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(await _controller.AddDuty(addDuty)); var controllerResult = await _controller.GetDuties(location.Id, startDate, startDate.AddDays(5)); var getDuties = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult); Assert.Single(getDuties); var duty = getDuties.First().Adapt <UpdateDutyDto>(); duty.DutySlots = new List <UpdateDutySlotDto>() { new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id }, new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id } }; //Should throw self conflicting exception. await Assert.ThrowsAsync <BusinessLayerException>(async() => await _controller.UpdateDuties(new List <UpdateDutyDto> { duty })); duty.DutySlots = new List <UpdateDutySlotDto>() { new UpdateDutySlotDto { StartDate = startDate, EndDate = startDate.AddDays(5), SheriffId = newSheriff.Id }, new UpdateDutySlotDto { StartDate = startDate.AddDays(5), EndDate = startDate.AddDays(6), SheriffId = newSheriff.Id } }; //Shouldn't overlap. var controllerResult2 = await _controller.UpdateDuties(new List <UpdateDutyDto> { duty }); var getDuties2 = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult2); }