public ActionResult <Amigo> Cadastrar(AmigoVM model) { try { _amigoService.Cadastrar(model); return(Ok("Amigo cadastrado com sucesso.")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult Delete(Guid id, AmigoVM amigoVM) { try { _business.Deletar(Mapper.Map <Amigo>(amigoVM)); return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError("", "Não foi possivel deletar este amigo, verifique se ele não tem emprestimos em aberto."); ModelState.AddModelError("", e.Message); return(View(Mapper.Map <AmigoVM>(_business.Recuperar(id)))); } }
public void ExcluirAmigo(AmigoVM model) { try { var amigoBD = _service.Find(x => x.ID == model.ID); amigoBD.Ativo = false; Update(amigoBD); } catch (Exception) { throw; } }
public double CalcularDistanciaEntreAmigos(AmigoVM amVM1, AmigoVM amVM2) { double resultado = Math.Sqrt((Math.Pow(amVM1.PosicaoX - amVM2.PosicaoX, 2) + Math.Pow(amVM1.PosicaoY - amVM2.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}", amVM1.Nome, amVM2.Nome, resultado); calHistorico.AmigoID = amVM1.ID.Value; calHistorico.AmigoCalculadoID = amVM2.ID.Value; calHistorico.Data = DateTime.Now; _service.Insert(calHistorico); return(resultado); }
public List <AmigoVM> ObterAmigos() { var listRetorno = new List <AmigoVM>(); _service.FindAll(x => x.Ativo, i => i.AmigosQueEstaoProximos).ToList().ForEach(a => { var amigo = new AmigoVM(a); var amigosproximos = _serviceAmigoProximo.FindAll(x => x.AmigoID == amigo.ID); amigosproximos.ToList().ForEach(d => amigo.AmigosProximos.Add(new AmigoProximoVM(d))); listRetorno.Add(amigo); }); return(listRetorno); }
// <summary> /// Cadastrar Amigo /// </summary> /// <param name="AmigoVM">AmigoVM</param> /// <returns></returns> public void Cadastrar(AmigoVM model) { try { Amigo amigo = new Amigo() { Nome = model.Nome }; _amigoRepository.Add(amigo); } catch (Exception ex) { GlobalException.ReturnException(ex); } }
public IHttpActionResult ExcluirAmigo(AmigoVM model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _amigoService.ExcluirAmigo(model); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult Edit(Guid id, AmigoVM amigoVM) { try { if (!ModelState.IsValid) { return(View(amigoVM)); } _business.Alterar(Mapper.Map <Amigo>(amigoVM)); return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError("", "Não foi possivel alterar este amigo"); ModelState.AddModelError("", e.Message); return(View(amigoVM)); } }
public async Task <ActionResult> Create(AmigoVM amigoVM) { try { if (!ModelState.IsValid) { return(View(amigoVM)); } var user = new ApplicationUser { UserName = amigoVM.Email, Email = amigoVM.Email }; var senhaPadrao = WebConfigurationManager.AppSettings["SenhaPadrao"]; var result = await UserManager.CreateAsync(user, senhaPadrao); if (result.Succeeded) { _business.Salvar(Mapper.Map <Amigo>(amigoVM)); } else { if (result.Errors.First().Contains("already taken")) { ModelState.AddModelError("", "Email já esta sendo usado."); } else { ModelState.AddModelError("", result.Errors.First()); } return(View(amigoVM)); } return(RedirectToAction("Index")); } catch (Exception e) { return(View(amigoVM)); } }
public void CadastrarAmigo(AmigoVM model) { try { model.Ativo = true; var amigo = AmigoVM.ConvertModel(model); var amigoMesmaPosicao = Find(x => x.PosicaoX == model.PosicaoX && x.PosicaoY == model.PosicaoY); if (amigoMesmaPosicao != null) { throw new Exception("Já existe um amigo nessa posição, escolha outra"); } _service.Insert(amigo); CalcularAmigosProximos(); } catch (Exception ex) { throw ex; } }
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 InserirAmigos() { InitializeComponent(); BindingContext = new AmigoVM(this); }