public ActionResult MeusDados(DadosEstacionamento dadosEstacionamento) { try { ResponseViewModel <DadosEstacionamento> responseViewModel = new ResponseViewModel <DadosEstacionamento>(); if (ModelState.IsValid) { var task = Task.Run(async() => { using (BaseController <DadosEstacionamento> baseController = new BaseController <DadosEstacionamento>()) { var retorno = await baseController.PostWithToken(dadosEstacionamento, "Estacionamentos/EditarFornecedor", await GetToken()); responseViewModel = retorno; } }); } else { ModelState.AddModelError(string.Empty, "Invalid inputs"); return(View(dadosEstacionamento)); } } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View(dadosEstacionamento)); } return(RedirectToAction("MeusDados")); }
public ActionResult MeusDados() { Estacionamento retorno = new Estacionamento(); Usuario usuario = new Usuario(); List <Solicitantes> solicitacoes = new List <Solicitantes>(); List <Solicitantes> solicitacoes2 = new List <Solicitantes>(); ContaDeposito contaDeposito = new ContaDeposito(); var task = Task.Run(async() => { using (BaseController <Estacionamento> bUsuario = new BaseController <Estacionamento>()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Estacionamentos/EstacionamentoPorPessoa?IdPessoa=" + GetIdPessoa(), await GetToken()); retorno = valorRetorno.Data; } using (BaseController <Usuario> bUsuario = new BaseController <Usuario>()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Usuarios/Detalhes/" + GetIdUsuario(), await GetToken()); usuario = valorRetorno.Data; } using (BaseController <List <Solicitantes> > bUsuario = new BaseController <List <Solicitantes> >()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Solicitacao/GetSolicitacoesEmAberto?idUsuario=" + GetIdPessoa(), await GetToken()); solicitacoes = valorRetorno.Data; } using (BaseController <List <Solicitantes> > bUsuario = new BaseController <List <Solicitantes> >()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Solicitacao/GetSolicitacoesParaFinalizar?idUsuario=" + GetIdPessoa(), await GetToken()); solicitacoes2 = valorRetorno.Data; } using (BaseController <ContaDeposito> bUsuario = new BaseController <ContaDeposito>()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Estacionamentos/GetContaDepositoPorPessoa?IdPessoa=" + GetIdPessoa(), await GetToken()); contaDeposito = valorRetorno.Data; } }); task.Wait(); if (null == retorno.EnderecoEstacionamento) { retorno.EnderecoEstacionamento = new Endereco(); } DadosEstacionamento dadosEstacionamento = new DadosEstacionamento { CNPJ = retorno.CNPJ, CPF = retorno.Proprietario.CPF, Email = GetEmail(), InscricaoEstadual = retorno.InscricaoEstadual, Nascimento = retorno.Proprietario.Nascimento, Nickname = usuario.Nome, NomeEstacionamento = retorno.NomeEstacionamento, NomeProprietario = retorno.Proprietario.Nome, RG = retorno.Proprietario.RG, ValorHora = retorno.ValorHora, Agencia = contaDeposito.Agencia, Conta = contaDeposito.Conta, IdBanco = contaDeposito.IdBanco, IdTipoConta = contaDeposito.IdTipoConta, CEPEstacionamento = retorno.EnderecoEstacionamento.CEP, RuaEstacionamento = retorno.EnderecoEstacionamento.Rua, NumeroEstacionamento = retorno.EnderecoEstacionamento.Numero, BairroEstacionamento = retorno.EnderecoEstacionamento.Bairro, ComplementoEstacionamento = retorno.EnderecoEstacionamento.Complemento, IdCidadeEstacionamento = retorno.EnderecoEstacionamento.IdCidade, IdEstadoEstacionamento = retorno.EnderecoEstacionamento.IdEstado, CEP = retorno.Proprietario.EnderecoPessoa.CEP, Bairro = retorno.Proprietario.EnderecoPessoa.Bairro, Complemento = retorno.Proprietario.EnderecoPessoa.Complemento, IdCidade = retorno.Proprietario.EnderecoPessoa.IdCidade, IdEstado = retorno.Proprietario.EnderecoPessoa.IdEstado, Numero = retorno.Proprietario.EnderecoPessoa.Numero, Rua = retorno.Proprietario.EnderecoPessoa.Rua }; ViewBag.InsereAlerta = !retorno.TemEstacionamento; ViewBag.InsereAlerta2 = solicitacoes.Count > 0 && solicitacoes.First().NomeCliente != null ? true : false; ViewBag.InsereAlerta3 = solicitacoes2.Count > 0 && solicitacoes2.First().NomeCliente != null ? true : false; ViewBag.Nickname = retorno.Proprietario.Nome; ViewBag.Cidade = Helpers.GetSelectList("Cidades") as SelectList; ViewBag.Estado = Helpers.GetSelectList("Estados") as SelectList; ViewBag.Banco = Helpers.GetSelectList("Banco", null) as SelectList; ViewBag.TipoConta = Helpers.GetSelectList("TipoConta", null) as SelectList; ViewBag.Level = GetLevel(); ViewBag.Cadastrar = "You need to register an address for your parking. click here."; ViewData["foto"] = usuario.Foto; return(View(dadosEstacionamento)); }
public async Task <ResponseViewModel <Usuario> > EditarFornecedor(DadosEstacionamento editarFornecedor) { try { DadosGeraisEstacionamento dados = new DadosGeraisEstacionamento(); Task.Run(async() => { DadosGeraisEstacionamento retorno = db.Usuarios.Join(db.Estacionamentos, a => a.IdPessoa, b => b.IdPessoa, (a, b) => new { a, b }). Join(db.Pessoas, a2 => a2.a.IdPessoa, c => c.Id, (a2, c) => new { a2, c }). Join(db.Enderecos, a3 => a3.c.IdEndereco, eP => eP.Id, (a3, eP) => new { a3, eP }). Join(db.ContaDepositos, a4 => a4.a3.a2.b.Id, cD => cD.IdEstacionamento, (a4, cD) => new { a4, cD }). Select((x) => new DadosGeraisEstacionamento { usuario = x.a4.a3.a2.a, enderecoUsuario = x.a4.eP, estacionamento = x.a4.a3.a2.b, pessoa = x.a4.a3.c, contaDeposito = x.cD }).FirstOrDefault(x => x.usuario.Login.Equals(editarFornecedor.Email)); dados = retorno; }).Wait(); if (dados == null) { throw new Exception("Data not found. please if you're a user, contact me. it's a bug or yout trying to hack me."); } UsuariosController usuariosController = new UsuariosController(); EstacionamentosController estacionamentosController = new EstacionamentosController(); Usuario usuario = dados.usuario; usuario.Nome = editarFornecedor.Nickname; Estacionamento estacionamento = dados.estacionamento; estacionamento.InscricaoEstadual = editarFornecedor.InscricaoEstadual; estacionamento.ValorHora = editarFornecedor.ValorHora; Endereco endereco = dados.enderecoUsuario; endereco.Bairro = editarFornecedor.Bairro; endereco.CEP = editarFornecedor.CEP; endereco.IdCidade = editarFornecedor.IdCidade; endereco.IdEstado = editarFornecedor.IdEstado; endereco.Rua = editarFornecedor.Rua; endereco.Numero = editarFornecedor.Numero; endereco.Complemento = editarFornecedor.Complemento; ContaDeposito contaDeposito = dados.contaDeposito; contaDeposito.Agencia = editarFornecedor.Agencia; contaDeposito.IdBanco = editarFornecedor.IdBanco; contaDeposito.IdTipoConta = editarFornecedor.IdTipoConta; contaDeposito.Agencia = editarFornecedor.Agencia; contaDeposito.Conta = editarFornecedor.Conta; Task.Run(async() => { db.Entry(dados.usuario).State = EntityState.Detached; db.Entry(dados.enderecoUsuario).State = EntityState.Detached; db.Entry(dados.estacionamento).State = EntityState.Detached; db.Entry(dados.contaDeposito).State = EntityState.Detached; db.Entry(usuario).State = EntityState.Modified; db.Entry(estacionamento).State = EntityState.Modified; db.Entry(endereco).State = EntityState.Modified; db.Entry(contaDeposito).State = EntityState.Modified; await db.SaveChangesAsync(); }).Wait(); ResponseViewModel <Usuario> responseUser = new ResponseViewModel <Usuario> { Mensagem = "Sucessfull registered!", Serializado = true, Sucesso = true, Data = usuario }; return(responseUser); } catch (Exception e) { return(new ResponseViewModel <Usuario>() { Data = null, Serializado = true, Sucesso = false, Mensagem = "Sorry, something went wrong: " + e.Message }); } }