private ActionResult Salvar(PosicaoVM posicaoVM) { try { if (!ModelState.IsValid) { throw new Exception("O modelo não é válido."); } var posicao = Mapper.Map <PosicaoVM, Posicao>(posicaoVM); logic.Save(posicao); return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(posicaoVM)); } }
public void CalcularAmigosProximos() { _serviceAmigoProximo.DeleteAll(); var todosAmigos = FindAll(x => x.Ativo, i => i.AmigosQueEstaoProximos).ToList(); foreach (var x in todosAmigos) { var amigoAtual = new AmigoVM(x); PosicaoVM posicaoAmigoAtual = new PosicaoVM(); posicaoAmigoAtual.PosicaoX = amigoAtual.PosicaoX; posicaoAmigoAtual.PosicaoY = amigoAtual.PosicaoY; List <AmigoVM> ListaAmigosDistanciasACalcular = new List <AmigoVM>(); var amigosSemOAtual = FindAll(n => n.Ativo && n.ID != amigoAtual.ID); foreach (var h in amigosSemOAtual) { var amigoTerceiro = new AmigoVM(h); PosicaoVM posicaoAmigosTerceiros = new PosicaoVM(); posicaoAmigosTerceiros.PosicaoX = amigoTerceiro.PosicaoX; posicaoAmigosTerceiros.PosicaoY = amigoTerceiro.PosicaoY; amigoTerceiro.Distance = Math.Sqrt((Math.Pow(amigoAtual.PosicaoX - amigoTerceiro.PosicaoX, 2) + Math.Pow(amigoAtual.PosicaoY - amigoTerceiro.PosicaoY, 2))); CalculoHistorico calHistorico = new CalculoHistorico(); calHistorico.Acao = "Calculo de disntância"; calHistorico.Descricao = string.Format("Calculo de distancia entre o amigo {0} e amigo {1}, resultado: {2}", amigoAtual.Nome, amigoTerceiro.Nome, amigoTerceiro.Distance); calHistorico.AmigoID = amigoAtual.ID.Value; calHistorico.AmigoCalculadoID = amigoTerceiro.ID.Value; calHistorico.Data = DateTime.Now; x.CalculoHistorico.Add(calHistorico); ListaAmigosDistanciasACalcular.Add(amigoTerceiro); } Update(x); ListaAmigosDistanciasACalcular = ListaAmigosDistanciasACalcular.OrderBy(o => o.Distance).ToList(); if (ListaAmigosDistanciasACalcular.Count > 0) { int tamanho = ListaAmigosDistanciasACalcular.Count < 3 ? ListaAmigosDistanciasACalcular.Count : 3; ListaAmigosDistanciasACalcular = ListaAmigosDistanciasACalcular.GetRange(0, tamanho); var listAmigosProximos = new List <AmigoProximo.Domain.Entities.AmigoProximo>(); ListaAmigosDistanciasACalcular.ForEach(f => { AmigoProximo.Domain.Entities.AmigoProximo apx = new Domain.Entities.AmigoProximo(); apx.AmigoID = amigoAtual.ID.Value; apx.AmigoQueEstaoProximoID = f.ID.Value; listAmigosProximos.Add(apx); }); foreach (var item in listAmigosProximos) { var amigoProximo = new AmigoProximo.Domain.Entities.AmigoProximo(); amigoProximo.AmigoID = item.AmigoID; amigoProximo.AmigoQueEstaoProximoID = item.AmigoQueEstaoProximoID; _serviceAmigoProximo.Insert(amigoProximo); } } } }
public ActionResult Editar(PosicaoVM posicaoVM) { return(Salvar(posicaoVM)); }
public IActionResult PosicaoCreateOrUpdate(PosicaoVM posicaoVM) { _posicaoBU.Save(posicaoVM.Codigo, posicaoVM.Descricao, posicaoVM.Goleiro, posicaoVM.Tecnico); return(Ok()); }