public async Task <IActionResult> Edit(int id, [Bind("CachorroId,Nome,DonoId")] Cao cao) { if (id != cao.CachorroId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cao); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CaoExists(cao.CachorroId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DonoId"] = new SelectList(_context.Dono, "DonoId", "DonoId", cao.DonoId); return(View(cao)); }
public async Task <IActionResult> Edit(int id, [Bind("CaoId,Nome,Idade,Raca")] Cao cao) { if (id != cao.CaoId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cao); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CaoExists(cao.CaoId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(IndexAdmin))); } return(View(cao)); }
public void Verificar_se_o_cao_esta_comendo() { // Arrange Cao caoGenerico = new Cao(); // Act caoGenerico.Nome = "Totó"; // Assert Assert.Equal("Totó começou a comer", caoGenerico.Comer()); }
public void Verificar_latido_cachorro() { // Arrange Cao caoGenerico = new Cao(); // Act var latido = caoGenerico.Latir(); // Assert Assert.Equal("Au, au au", latido); }
public async Task <IActionResult> Create([Bind("CachorroId,Nome,DonoId")] Cao cao) { if (ModelState.IsValid) { _context.Add(cao); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["DonoId"] = new SelectList(_context.Dono, "DonoId", "DonoId", cao.DonoId); return(View(cao)); }
public void Verificar_se_o_cao_foi_passear() { // Arrange Cao caoGenerico = new Cao(); // Act var foiPassear = false; // Assert Assert.Equal($"Sinto muito, mas o {caoGenerico.Nome} não poderá passear, pois está chovendo", caoGenerico.Passear(true)); Assert.Equal($"{caoGenerico.Nome} foi passear", caoGenerico.Passear(false)); }
public async Task <IActionResult> Create([Bind("CaoId,Nome,Idade,Raca, DataDeEntrada")] Cao cao) { if (ModelState.IsValid) { _context.Add(cao); await _context.SaveChangesAsync(); SetSuccessMessage("Cão criado com sucesso"); return(RedirectToAction(nameof(IndexAdmin))); } return(View(cao)); }
/// <summary> /// Adicionar um cao /// </summary> /// <param name="c">Cao a adicionar</param> /// <returns>verdade se adicionou o cao ou falso se falhar</returns> public static bool AddCao(Cao c) { foreach (Cao cao in caes) { //verifica se o cao já existe if (cao.Id == c.Id) { return(false); } } caes.Add(c); return(true); }
static void Main(string[] args) { #region Cao Cao c = new Cao("Bolinhas", "terrier", "macho", DateTime.Today, "médio", "meigo"); Cao c2 = new Cao("Pateco", "labrador", "macho", DateTime.Today, "médio", "brincalhao"); try { if (RegrasCao.InsereCao(c) == true && RegrasCao.InsereCao(c2) == true) { Console.WriteLine("ID: " + c.Id + "\n"); Console.WriteLine("ID: " + c2.Id + "\n"); } else { Console.WriteLine("Insucesso"); } } catch (Excecao e) { Console.WriteLine(e.Message); } //Console.WriteLine(c.ToString()); //Console.WriteLine(c2.ToString()); //RegrasParque.ProcuraCao(2); RegrasCao.RegistarCao(@"C:\Users\BOUCAA\Documents\Visual Studio 2019\GITHUB\TP_LP2_4459_6163\DAL\Ficheiros\caes.bin"); RegrasCao.MostrarCao(@"C:\Users\BOUCAA\Documents\Visual Studio 2019\GITHUB\TP_LP2_4459_6163\DAL\Ficheiros\caes.bin"); Console.WriteLine(RegrasCao.ShowCaes()); //RegrasParque.RegistarCaoTxt(); #endregion #region Boletim Sanitario Vacina v = new Vacina("gripe", "imunologica"); RegrasBoletim.InsereVacina(v); ArrayList aux = new ArrayList(); aux.Add(v); //Vacinas disponiveis RegrasBoletim.ProcuraTodasVacinas(); BoletimSanitario b = new BoletimSanitario(c); RegrasBoletim.InsereBoletim(b); RegrasBoletim.InsereTratamentoBoletim(b, aux); #endregion Console.ReadKey(); }
public async Task <IActionResult> deletarCao(int idCao) { Usuario proprietario = await _context.Usuario.FirstOrDefaultAsync(user => user.Id == PegarIdUsuarioToken()); Cao cao = await _context.Cao.FirstOrDefaultAsync(it => it.Id == idCao); if (cao.Proprietario != proprietario) { BadRequest("O usuário logado não pode deletar este cão."); } _context.Remove(cao); await _context.SaveChangesAsync(); return(Ok()); }
static void Main(string[] args) { //Interface Covariance IMessageRecieved <object> objMessageRX = new DataTX <string>(); //Interface Contravariance IMessageSend <string> objMessageSend = new DataTX <object>(); //Delegate Covariance Func1 <Cao> delegateCao = new Func1 <Cao>(CreateCaoInstance); Cao objCao = delegateCao(); Console.WriteLine("Convariance:" + objCao); Func1 <Animal> delegateAnimal = delegateCao; Animal objAnimal = delegateAnimal(); Console.WriteLine("Covariance:" + objAnimal); //Delegate Contravariance Action1 <Animal> act1 = new Action1 <Animal>(DisplayCaoInstance); act1(new Animal()); Action1 <Cao> cao1 = act1; cao1(new Cao()); //Icomparer Contravariance BaseComparer <Manager> objComparer = new BaseComparer <Manager>(); List <Manager> managerList = new List <Manager>(); managerList.Add(new Manager("Damasceno", 1)); managerList.Add(new Manager("Vitor", 2)); managerList.Sort(objComparer); List <Employee> employeeList = new List <Employee>(); employeeList.Add(new Employee("Damasceno", 1)); employeeList.Add(new Employee("Vitor", 2)); //employeeList.Sort(objComparer); managerList.ForEach(e => Console.WriteLine(e.ID + " " + e.Name)); Console.ReadKey(); }
public async Task <IActionResult> alterarCao(int idCao, Cao caoAtualiado) { Cao cao = await _context.Cao.FirstOrDefaultAsync(c => c.Id == idCao); //busca o peso PesoCao pesoCao = await _context.PesoCao.FirstOrDefaultAsync(pc => pc.Id == caoAtualiado.PesoId); cao.Nome = caoAtualiado.Nome; cao.Raca = caoAtualiado.Raca; cao.DataNascimento = caoAtualiado.DataNascimento; cao.Porte = caoAtualiado.Porte; cao.PesoId = caoAtualiado.PesoId; cao.Peso = pesoCao; _context.Update(cao); await _context.SaveChangesAsync(); return(Ok()); }
//Deverá somente mandar os ids dos cães nas solicitações public async Task <IActionResult> AdicionarCaoServico(int idCao) { CaoServico novoCaoServico = new CaoServico(); Usuario Proprietario = await _context.Usuario.FirstOrDefaultAsync(u => u.Id == PegarIdUsuarioToken()); //Buscar o cão passado no JSON Cao cao = await _context.Cao.Include(prop => prop.Proprietario) .FirstOrDefaultAsync(cao => cao.Id == idCao); //Pegar o id do proprietário responsável pelo cão int idProprietario = cao.Proprietario.Id; if (Proprietario.TipoConta != TipoConta.Proprietario) { return(BadRequest("Este usuário não tem permissão para esta ação.")); } if (Proprietario.Id != idProprietario) { return(BadRequest("O cão não pertence a " + Proprietario.Nome)); } //Pegar o último serviço solicitado pelo Proprietário, para associar o cão a este serviço Servico servico = await _context.Servico .Include(usua => usua.Usuarios) .Where(id => id.ProprietarioId == PegarIdUsuarioToken()) .OrderBy(it => it.Id) .LastAsync(); //O servico a qual o cão está sendo associado será o serviço buscado acima novoCaoServico.Servico = servico; novoCaoServico.Cao = cao; await _context.CaesServico.AddAsync(novoCaoServico); await _context.SaveChangesAsync(); return(Ok("Cão adicionado ao servico com sucesso.")); }
public void Verificar_getters_e_setters() { // Arrange Cao caoGenerico = new Cao(); // Act caoGenerico.Nome = "Rufus"; caoGenerico.Id = 1; caoGenerico.Porte = "médio"; caoGenerico.CorPelo = "preto"; caoGenerico.NomeDono = "Robson"; // Assert Assert.Equal("Robson", caoGenerico.NomeDono); Assert.Equal("Rufus", caoGenerico.Nome); Assert.Equal(1, caoGenerico.Id); Assert.Equal("médio", caoGenerico.Porte); Assert.Equal("preto", caoGenerico.CorPelo); Assert.NotEqual(3, caoGenerico.Id); Assert.NotEqual("Pedro", caoGenerico.NomeDono); }
public async Task <IActionResult> cadastrarCaoAsync(Cao novoCao) { //Busca o usuário de acordo com o token Usuario usuario = await _context.Usuario.FirstOrDefaultAsync(prop => prop.Id == PegarIdUsuarioToken()); if (usuario.TipoConta == TipoConta.DogWalker) { return(BadRequest("Um Dog Walker não pode ter cães.")); } //Busca o peso de acordo com o Id int idPesoCao = novoCao.PesoId; PesoCao pesoCao = await _context.PesoCao.FirstOrDefaultAsync(pesoId => pesoId.Id == idPesoCao); novoCao.Proprietario = usuario; novoCao.Peso = pesoCao; await _context.Cao.AddAsync(novoCao); await _context.SaveChangesAsync(); return(Ok("Cão cadastrado com sucesso!")); }
/// <summary> /// AI计算从一个点开始走的期望 /// </summary> /// <param name="Game">游戏句柄</param> /// <param name="Player">玩家句柄</param> /// <param name="Block">起点的格子</param> /// <param name="Banned">被禁止投出的骰子点数(用于唐寅的技能【浪子】)</param> /// <param name="IncludePassMoney">计算是否包括经过奖励(用于计算前进收益)</param> /// <returns></returns> public static int StartFromExpect(PGame Game, PPlayer Player, PBlock Block, int Banned = 0, bool IncludePassMoney = true) { PBlock CurrentBlock = Block; if (!Player.NoLadder) { CurrentBlock = CurrentBlock.NextBlock; } if (Player.Traffic != null && Player.Traffic.Model is P_ChiihTuu) { CurrentBlock = CurrentBlock.NextBlock; } if (Player.NoLadder) { return(Expect(Game, Player, CurrentBlock)); } int Expectation = 0; int NewtonTargetStep = (Player.General is P_Newton ? P_Newton.Grx_Next(Game, Block).Value : 0); for (int i = 6; i >= 1; --i) { if (Banned == i) { continue; } int SingleExpect = Expect(Game, Player, CurrentBlock); if (NewtonTargetStep > 0) { SingleExpect = Math.Max(SingleExpect, Expect(Game, Player, Game.Map.NextStepBlock(CurrentBlock, NewtonTargetStep))); } Expectation += SingleExpect; if (IncludePassMoney) { if (CurrentBlock.GetMoneyPassSolid != 0) { int Disaster = Block.GetMoneyPassSolid; if (Disaster < 0 && -Disaster <= 1000 && Player.Traffic != null && Player.Traffic.Model is P_NanManHsiang) { Disaster = 0; } else if (Disaster < 0 && Player.Defensor != null && Player.Defensor.Model is P_YinYangChing) { Disaster = 0; } Expectation += i * Disaster; } if (CurrentBlock.GetMoneyPassPercent != 0) { int Disaster = PMath.Percent(Player.Money, CurrentBlock.GetMoneyPassPercent); if (Disaster < 0 && -Disaster <= 1000 && Player.Traffic != null && Player.Traffic.Model is P_NanManHsiang) { Disaster = 0; } else if (Disaster < 0 && Player.Defensor != null && Player.Defensor.Model is P_YinYangChing) { Disaster = 0; } Expectation += i * Disaster; } if (CurrentBlock.GetCardPass != 0) { Expectation += i * 2000 * CurrentBlock.GetCardPass; } if (CurrentBlock.BusinessType.Equals(PBusinessType.Altar) && CurrentBlock.Lord != null && CurrentBlock.Lord.TeamIndex != Player.TeamIndex) { Expectation -= 1000; } } CurrentBlock = Block.NextBlock; } Player.Area.AmbushCardArea.CardList.ForEach((PCard Card) => { if (Card.Model is P_TsaaoMuChiehPing Cao) { Expectation += Cao.AIExpect(Game, Player, Block); } }); return(Expectation / (Banned > 0 ? 5 : 6)); }
public ModelDonoCao AcaoOperacao(Operacao.Acao tipoenum, string nomeDono, string Nomecao, string RacaCao) { try { Operacao.Acao _valor = tipoenum; if (_valor == Operacao.Acao.sel) { using (var context = new ApplicationDBContext()) { var idDonoFG = context.tblDono.First(a => a.Nome == nomeDono).IdDono; var IdCaoFG = context.tblCao.First(a => a.IdCao == idDonoFG).IdCao; Dono dono = context.tblDono.First(a => a.IdDono == idDonoFG); Cao cao = context.tblCao.First(a => a.IdCao == IdCaoFG); mdc.NomeDono = dono.Nome; mdc.NomeCao = cao.Nome; mdc.RacaCao = cao.Raca; return(mdc); } } else if (_valor == Operacao.Acao.edit) { using (var context = new ApplicationDBContext()) { var dono = context.tblDono.First(a => a.Nome == nomeDono); var iddono = dono.IdDono; var cao = context.tblCao.First(a => a.IdCao == iddono); dono.Nome = nomeDono; cao.Nome = Nomecao; cao.Raca = RacaCao; context.Update(dono); context.Update(cao); context.SaveChanges(); return(null); } } else if (_valor == Operacao.Acao.del) { using (var context = new ApplicationDBContext()) { var dono = context.tblDono.First(a => a.Nome == nomeDono); var iddono = dono.IdDono; var cao = context.tblCao.First(a => a.IdCao == iddono); var relacaoDono_Cao = context.tblDono_Cao.First(a => a.IdDono == iddono); context.Remove(relacaoDono_Cao); context.Remove(dono); context.Remove(cao); context.SaveChanges(); return(null); } } else if (_valor == Operacao.Acao.add) { Dono d = new Dono(); Cao c = new Cao(); Relacao_Dono_Cao rdc = new Relacao_Dono_Cao(); using (var context = new ApplicationDBContext()) { d.Nome = nomeDono; c.Nome = Nomecao; c.Raca = RacaCao; context.Add(d); context.Add(c); context.SaveChanges(); var idDonoFG = context.tblDono.First(a => a.Nome == nomeDono).IdDono; int idCaoFG = context.tblCao.First(a => a.Nome == nomeDono).IdCao; rdc.IdDono = idDonoFG; rdc.IdCao = idCaoFG; context.Add(rdc); context.SaveChanges(); return(null); } } return(null); } catch (Exception ex) { Console.WriteLine("AcaoOperacao" + ex.Message);; return(null); } }
/// <summary> /// Regra negocio para inserir um cao /// </summary> /// <param name="c">cão a inserir</param> /// <returns>adiciona o cao e retorna verdadeiro, caso contrario retorna falso</returns> public static bool InsereCao(Cao c) { return(DadosCao.AddCao(c)); }