// GET: MeusDados public ActionResult MeusDados() { ViewBag.Cidade = Helpers.GetSelectList("Cidades", null) as SelectList; ViewBag.Estado = Helpers.GetSelectList("Estados", null) as SelectList; Cliente retorno = new Cliente(); var task = Task.Run(async() => { using (BaseController <Cliente> bUsuario = new BaseController <Cliente>()) { var valorRetorno = await bUsuario.GetObjectAsyncWithToken("Clientes/BuscarCliente/" + GetIdPessoa(), await GetToken()); retorno = valorRetorno.Data; } }); task.Wait(); DadosCliente dadosCliente = new DadosCliente { Nome = retorno.Nome, Bairro = retorno.EnderecoPessoa.Bairro, CEP = retorno.EnderecoPessoa.CEP, Complemento = retorno.EnderecoPessoa.Complemento, CPF = retorno.CPF, Email = this.GetEmail(), IdCidade = retorno.EnderecoPessoa.IdCidade, IdEstado = retorno.EnderecoPessoa.IdEstado, Nascimento = retorno.Nascimento, Nickname = retorno.Nickname, Numero = retorno.EnderecoPessoa.Numero, RG = retorno.RG, Rua = retorno.EnderecoPessoa.Rua }; ViewBag.Cadastrar = "Você precisa cadastrar um carro. clique aqui."; ViewBag.Nickname = retorno.Nome; ViewBag.InsereAlerta = !retorno.TemCarro; ViewBag.InsereAlerta2 = false; ViewBag.InsereAlerta3 = false; ViewBag.Level = 2; return(View(dadosCliente)); }
public async Task <ResponseViewModel <Usuario> > EditarCliente(DadosCliente editarCliente) { try { DadosGeraisCliente dados = new DadosGeraisCliente(); Task.Run(async() => { DadosGeraisCliente retorno = db.Usuarios.Join(db.Clientes, a => a.IdPessoa, b => b.Id, (a, b) => new { a, b }). Join(db.Enderecos, a2 => a2.b.IdEndereco, eP => eP.Id, (a2, eP) => new { a2, eP }). Select((x) => new DadosGeraisCliente { usuario = x.a2.a, cliente = x.a2.b, endereco = x.eP }).FirstOrDefault(x => x.usuario.Login.Equals(editarCliente.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(); ClientesController estacionamentosController = new ClientesController(); Usuario usuario = dados.usuario; usuario.Nome = editarCliente.Nickname; Endereco endereco = dados.endereco; endereco.Bairro = editarCliente.Bairro; endereco.CEP = editarCliente.CEP; endereco.IdCidade = editarCliente.IdCidade; endereco.IdEstado = editarCliente.IdEstado; endereco.Rua = editarCliente.Rua; endereco.Numero = editarCliente.Numero; endereco.Complemento = editarCliente.Complemento; Task.Run(async() => { db.Entry(dados.usuario).State = EntityState.Detached; db.Entry(dados.endereco).State = EntityState.Detached; db.Entry(usuario).State = EntityState.Modified; db.Entry(endereco).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 }); } }
public void EnviaBoletos() { ThreadPool.QueueUserWorkItem(x => { while (true) { try { // Busca os clientes que devem enviar boletos. var clientesEnvioBoleto = this.DbUtils.GetClientesParaEnvio(); foreach (var cliente in clientesEnvioBoleto) { // Se o boleto já foi enviado no dia atual, não deve ser enviado novamente. if (cliente.DtHrUltimoEnvio != null && cliente.DtHrUltimoEnvio.Value.Date.Equals(DateTime.Now.Date)) { continue; } // Verifica se a data de envio já passou e verifica se o boleto não foi enviado no mês atual. if ((cliente.DiaEnvio <= DateTime.Now.Day) && (cliente.DtHrUltimoEnvio == null || cliente.DtHrUltimoEnvio.Value.Month != DateTime.Now.Month)) { // Gera o boleto. using (var cmd = new KingHostCommands()) { var dadosCliente = new DadosCliente() { IdCliente = cliente.CodigoCliente }; var dadosDominio = new DadosDominio() { Id = cliente.CodigoDominio }; var resultBoleto = cmd.CreateNewBoleto( dadosCliente, dadosDominio, DateTime.Now.AddDays(7), cliente.Valor, "Instrução de teste", "Descrição de teste"); // Espera o boleto ser gerado. resultBoleto.Wait(); if (!resultBoleto.Result.Success) { throw new Exception("Algum problema aconteceu ao gerar o boleto."); } // Envia o e-mail. { string subject = string.Format( "Boleto para pagamento da hospedagem do domínio: {0}", cliente.Dominio); string body = string.Format(@" Prezado(a) {0}, <br><br> Seguem os dados para pagamento de sua fatura. Boleto bancário disponível para impressão em:<br> <a href='{1}'>{1}</a> <br><br> VALOR A PAGAR: R$ {2}<br> DOMÍNIO: {3} <br><br> Atenciosamente,<br> Financeiro Agência WD7 <br><br> [email protected]<br> www.agenciawd7.com.br", cliente.Nome, resultBoleto.Result.Body.Url, cliente.Valor, cliente.Dominio); string to = string.Format("{0}; [email protected]", cliente.Email); Email.Send(to, subject, body); } // Atualiza a data de envio. this.DbUtils.AtualizaDataEnvio(cliente.IdBoleto); // Salva no histórico que o boleto foi enviado. this.DbUtils.InsereHistorico(cliente.IdBoleto, resultBoleto.Result.Body); } } } Thread.Sleep(600000); } catch (Exception ex) { this.SaveError(ex); Thread.Sleep(600000); } } }); }
public void Create(DadosCliente model) { model.Iddadoscliente = List.Count + 1; List.Add(model); }
private void prvInsertClientes(DadosCliente cliente) { syncCliente = new SyncCliente(); syncCliente.puvInsertCliente(cliente); }