public JsonResult ReprovarSolicitacao(string id) { try { int valor = int.Parse(id); Solicitantes retorno = new Solicitantes(); var task = Task.Run(async() => { using (BaseController <Solicitantes> bUsuario = new BaseController <Solicitantes>()) { var valorRetorno = await bUsuario.PostWithToken("", "Solicitacao/ReprovarSolicitacao?IdSolicitacao=" + valor, await GetToken()); retorno = valorRetorno.Data; } }); task.Wait(); return(Json(retorno, JsonRequestBehavior.AllowGet)); } catch (Exception e) { ResponseViewModel <EnderecoEstacionamento> responseViewModel = new ResponseViewModel <EnderecoEstacionamento> { Data = null, Mensagem = "There was an error processing your request." + e.Message, Serializado = true, Sucesso = false }; return(Json(responseViewModel, JsonRequestBehavior.AllowGet)); } }
public async Task <ResponseViewModel <List <Solicitantes> > > GetSolicitacoesEmAberto(string idUsuario) { try { int valor = int.Parse(idUsuario); List <Solicitantes> solicitacao = new List <Solicitantes>(); solicitacao = await db.Solicitacoes.Include("Cliente").Include("Estacionamento").Include("Estacionamento.Proprietario") .Where(x => x.Estacionamento.IdPessoa.Equals(valor) && x.Status.Equals(2)) .Select(cl => new Solicitantes { InsereAlerta = !cl.Estacionamento.TemEstacionamento, Nickname = cl.Estacionamento.Proprietario.Nome, NomeCliente = cl.Cliente.Nome, IdCliente = cl.IdCliente, IdSolicitacao = cl.Id, Status = cl.Status, PeriodoDe = null, PeriodoAte = null }).ToListAsync(); foreach (var item in solicitacao) { Carro carro = CarroCliente(item.IdCliente); item.Carro = carro.Modelo; item.PlacaCarro = carro.Placa; } if (solicitacao.Count == 0) { Estacionamento estacionamento = db.Estacionamentos.Include("Proprietario").FirstOrDefault(x => x.IdPessoa == valor); Solicitantes solicitantes = new Solicitantes { InsereAlerta = !estacionamento.TemEstacionamento, Nickname = estacionamento.Proprietario.Nome }; solicitacao.Add(solicitantes); } ResponseViewModel <List <Solicitantes> > response = new ResponseViewModel <List <Solicitantes> > { Data = solicitacao, Mensagem = "Dados retornados com sucesso!", Serializado = true, Sucesso = true }; return(response); } catch (Exception e) { return(new ResponseViewModel <List <Solicitantes> >() { Data = null, Serializado = true, Sucesso = false, Mensagem = "Não foi possivel atender a sua solicitação: " + e.Message }); } }
public async Task <ResponseViewModel <Solicitantes> > AprovarSolicitacao(int IdSolicitacao) { try { Solicitacao solicitacao = db.Solicitacoes.Include("Estacionamento").Include("Estacionamento.Proprietario").FirstOrDefault(x => x.Id == IdSolicitacao); solicitacao.Status = 0; solicitacao.DataEntrada = DateTime.Now; db.Entry <Solicitacao>(solicitacao).State = EntityState.Modified; db.SaveChanges(); Solicitantes solicitantes = new Solicitantes { Nickname = solicitacao.Estacionamento.Proprietario.Nome, InsereAlerta = !solicitacao.Estacionamento.TemEstacionamento }; ResponseViewModel <Solicitantes> response = new ResponseViewModel <Solicitantes> { Data = solicitantes, Mensagem = "Dados retornados com sucesso!", Serializado = true, Sucesso = true }; return(response); } catch (Exception e) { return(new ResponseViewModel <Solicitantes>() { Data = null, Serializado = true, Sucesso = false, Mensagem = "Não foi possivel atender a sua solicitação: " + e.Message }); } }
public async Task <ResponseViewModel <Solicitantes> > FinalizarSolicitacao(int IdSolicitacao) { try { Solicitacao solicitacao = db.Solicitacoes.Include("Cliente").Include("Estacionamento").Include("Estacionamento.Proprietario").FirstOrDefault(x => x.Id == IdSolicitacao); Cliente cliente = solicitacao.Cliente; string tempo = ""; solicitacao.Status = 1; solicitacao.DataSaida = DateTime.Now; var diferenca = (Convert.ToDateTime(solicitacao.DataSaida) - Convert.ToDateTime(solicitacao.DataEntrada)); var minutosTotais = Convert.ToInt32((int)diferenca.TotalMinutes); var valorMinuto = solicitacao.Estacionamento.ValorHora / 60.0; solicitacao.ValorTotal = valorMinuto * minutosTotais; solicitacao.ValorTotalEstacionamento = valorMinuto * minutosTotais * 0.9; solicitacao.ValorGanho = valorMinuto * minutosTotais * 0.1; cliente.Saldo -= solicitacao.ValorTotal; db.Entry <Cliente>(cliente).State = EntityState.Modified; db.SaveChanges(); var dias = diferenca.Days; var horas = diferenca.Hours; var minutos = diferenca.Minutes; var segundos = diferenca.Seconds; if (dias > 0) { tempo = dias + " dia(s), "; } if (horas > 0) { tempo += horas + " hora(s), "; } tempo += minutos + " minuto(s) e " + segundos + " segundo(s)"; solicitacao.TempoEstacionamento = tempo; db.Entry <Solicitacao>(solicitacao).State = EntityState.Modified; db.SaveChanges(); Solicitantes solicitantes = new Solicitantes { Nickname = solicitacao.Estacionamento.Proprietario.Nome, InsereAlerta = !solicitacao.Estacionamento.TemEstacionamento }; ResponseViewModel <Solicitantes> response = new ResponseViewModel <Solicitantes> { Data = solicitantes, Mensagem = "Dados retornados com sucesso!", Serializado = true, Sucesso = true }; return(response); } catch (Exception e) { return(new ResponseViewModel <Solicitantes>() { Data = null, Serializado = true, Sucesso = false, Mensagem = "Não foi possivel atender a sua solicitação: " + e.Message }); } }