// GET: Movimentacoes/Create
        public ActionResult Create()
        {
            Movimentacoes movimento = new Movimentacoes();

            movimento.horaEntrada = DateTime.Now.TimeOfDay;
            return(View(movimento));
        }
        private Movimentacoes calculaValorHora(Movimentacoes movimentacao, Precos precos)
        {
            movimentacao.duracao = movimentacao.horaSaida.Subtract(movimentacao.horaEntrada);
            int tempoCobrado = 0;


            //No texto do teste, para periodo menor que 1 hora e maior que 10 minutos cobra o mesmo valor da hora adicional.
            //Soma valor para periodo menor que 1 hora e maior que 10 minutos.
            if (movimentacao.duracao.Hours == 0 && movimentacao.duracao.Minutes >= 10)
            {
                tempoCobrado            += 1;
                movimentacao.valorPagar += precos.valorHoraAdicional;
                movimentacao.preco       = precos.valorHoraAdicional;
            }
            else if (movimentacao.duracao.Hours >= 1)
            {
                movimentacao.valorPagar += precos.valorHora;
                movimentacao.preco       = precos.valorHora;
                tempoCobrado            += 1;
                if (movimentacao.duracao.Minutes > 10)
                {
                    //repete para calculo das horas adicionais
                    for (int i = 1; i <= movimentacao.duracao.Hours; i++)
                    {
                        tempoCobrado            += 1;
                        movimentacao.valorPagar += precos.valorHoraAdicional;
                    }
                }
            }

            movimentacao.tempoCobrado = tempoCobrado.ToString();

            return(movimentacao);
        }
        // GET: Movimentacoes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Movimentacoes movimentacoes = db.Movimentacoes.Find(id);

            if (movimentacoes == null)
            {
                return(HttpNotFound());
            }

            var result = db.Precos.Where(p => movimentacoes.dataEntrada.Date >= p.dataIncial && movimentacoes.dataEntrada.Date <= p.dataFinal).First();

            //var result = from p in Precos where p.dataIncial >= movimentacoes.dataEntrada && p.dataFinal <= movimentacoes.dataEntrada;

            if (result == null)
            {
                return(RedirectToAction("Index"));
            }
            movimentacoes.horaSaida = DateTime.Now.TimeOfDay;
            movimentacoes           = calculaValorHora(movimentacoes, result);

            return(View(movimentacoes));
        }
Exemplo n.º 4
0
        private void btn_retirada_Click(object sender, System.EventArgs e)
        {
            Movimentacoes mov = new Movimentacoes();

            mov.Show();
            this.Hide();
        }
Exemplo n.º 5
0
        public async Task <long> Create(MovimentacaoPost movimentacaoPost, string usuarioId)
        {
            movimentacaoPost.Data = movimentacaoPost.Data == null ? DateTime.Now : movimentacaoPost.Data;
            var tags = await _tagsService.GetTagsByUsuario(usuarioId);

            var tagList = tags.Where(x => movimentacaoPost.Tags.Contains(x.Id))
                          .Select(x => x.Id).ToList();

            var detalhes = new List <Detalhes>();

            foreach (var detalhe in movimentacaoPost.Detalhes)
            {
                detalhes.Add(new Detalhes()
                {
                    Nome  = detalhe.Detalhe,
                    Valor = detalhe.Valor,
                    Tags  = tags.Where(x => detalhe.Tags.Contains(x.Id)).Select(x => new Tags {
                        TagId = x.Id
                    }).ToList()
                });
            }
            var movimentacao = new Movimentacoes
            {
                TipoMovimentacaoId = (long)movimentacaoPost.TipoMovimentacao,
                Data      = Convert.ToDateTime(movimentacaoPost.Data),
                Nome      = movimentacaoPost.Nome,
                Valor     = movimentacaoPost.Valor,
                UsuarioId = usuarioId,
                Detalhes  = detalhes
            };

            return(await _movimentacaoRepository.Create(movimentacao, tagList));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Movimentacoes movimentacoes = db.Movimentacoes.Find(id);

            db.Movimentacoes.Remove(movimentacoes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 7
0
 public void DeveChamarApiExternaERetornarObjetosPagamentos()
 {
     using (var httpClient = new HttpClient())
     {
         var movimentacoes = new Movimentacoes(httpClient, "https://my-json-server.typicode.com/cairano/backend-test", "recebimentos", "pagamentos");
         var lancamentos   = movimentacoes.ListarPagamentos();
         Assert.NotEmpty(lancamentos);
     }
 }
Exemplo n.º 8
0
 private static List <Lancamento> RecuperarLancamentosApi()
 {
     using (var httpClient = new HttpClient())
     {
         var movimentacoes = new Movimentacoes(httpClient, @"https://my-json-server.typicode.com/cairano/backend-test", "pagamentos", "recebimentos");
         var lancamentos   = new List <Lancamento>();
         lancamentos.AddRange(movimentacoes.ListarPagamentos());
         lancamentos.AddRange(movimentacoes.ListarRecebimentos());
         return(lancamentos);
     }
 }
 public ActionResult Edit([Bind(Include = "id,placa,dataEntrada,horaEntrada,dataSaida,horaSaida,duracao,tempoCobrado,preco,valorPagar,status")] Movimentacoes movimentacoes)
 {
     if (ModelState.IsValid)
     {
         movimentacoes.status          = true;
         db.Entry(movimentacoes).State = EntityState.Modified;
         db.SaveChanges();
         TempData["sucesso"] = "Saída efetuada com sucesso";
         return(RedirectToAction("Index"));
     }
     return(View(movimentacoes));
 }
Exemplo n.º 10
0
        public async Task <long> Create(Movimentacoes movimentacoes, List <long> tags)
        {
            var dbTags = _GastosContext.Tags.Where(x => tags.Contains(x.TagId)).ToList();

            foreach (var detalhe in movimentacoes.Detalhes)
            {
                detalhe.Tags = _GastosContext.Tags.Where(x => detalhe.Tags.Select(y => y.TagId).ToList().Contains(x.TagId)).ToList();
            }
            movimentacoes.Tags.AddRange(dbTags);
            _GastosContext.Movimentacoes.Add(movimentacoes);
            _ = await _GastosContext.SaveChangesAsync();

            return(movimentacoes.MovimentacaoId);
        }
        // GET: Movimentacoes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Movimentacoes movimentacoes = db.Movimentacoes.Find(id);

            if (movimentacoes == null)
            {
                return(HttpNotFound());
            }
            return(View(movimentacoes));
        }
        public ActionResult Create([Bind(Include = "id,placa,horaEntrada")] Movimentacoes movimentacoes)
        {
            if (ModelState.IsValid)
            {
                movimentacoes.dataEntrada = DateTime.Now;
                movimentacoes.dataSaida   = DateTime.Now;

                db.Movimentacoes.Add(movimentacoes);
                db.SaveChanges();
                TempData["sucesso"] = "Entrada efetuada com sucesso";
                return(RedirectToAction("Index"));
            }

            return(View(movimentacoes));
        }
 public void PostMovimentacoes(Movimentacoes movimentacao)
 {
     cmd = new SqlCommand("insert into Movimentacao values('" + movimentacao.Descricao + "', " + movimentacao.Valor +
                          ", '" + movimentacao.Data + "', '" + movimentacao.Observacoes + "', " + movimentacao.Categoria_id + ", " +
                          movimentacao.TipoMovimentacao_id + ", " + movimentacao.Repeticao_id + ", " + movimentacao.Usuario_id + ", " + movimentacao.Confirmado + ")", conn);
     try
     {
         conn.Open();
         cmd.ExecuteNonQuery();
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         conn.Close();
     }
 }
 public Movimentacoes GetMovimentacoesById(int id)
 {
     cmd = new SqlCommand("Select Movimentacao.id, Movimentacao.descricao, Movimentacao.valor, Movimentacao.data, Movimentacao.observacoes, Movimentacao.confirmado," +
                          " TipoMovimentacao.descricao as tipoMovimentacao, Categoria.descricao as categoria, Repeticao.descricao as repeticao, Usuario.nome as usuario" +
                          " From Movimentacao" +
                          " inner join TipoMovimentacao on tipoMovimentacao.id = Movimentacao.tipoMovimentacao_id" +
                          " inner join Categoria on categoria.id = movimentacao.categoria_id" +
                          " inner join Repeticao on repeticao.id = movimentacao.repeticao_id" +
                          " inner join Usuario on usuario.id = movimentacao.usuario_id" +
                          " where Movimentacao.id = " + id, conn);
     adapter = new SqlDataAdapter(cmd);
     dt      = new DataTable();
     try
     {
         conn.Open();
         adapter.Fill(dt);
         foreach (DataRow item in dt.Rows)
         {
             movimentacao                  = new Movimentacoes();
             movimentacao.Id               = Convert.ToInt32(item["id"]);
             movimentacao.Descricao        = item["descricao"].ToString();
             movimentacao.Valor            = Convert.ToDecimal(item["valor"]);
             movimentacao.Data             = Convert.ToDateTime(item["data"]);
             movimentacao.Observacoes      = item["observacoes"].ToString();
             movimentacao.Categoria        = item["categoria"].ToString();
             movimentacao.TipoMovimentacao = item["tipoMovimentacao"].ToString();
             movimentacao.Repeticao        = item["repeticao"].ToString();
             movimentacao.Usuario          = item["usuario"].ToString();
             movimentacao.Confirmado       = Convert.ToInt32(item["confirmado"]);
             movimentacaoList.Add(movimentacao);
         }
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         conn.Close();
     }
     return(movimentacao);
 }
 public void PutMovimentacoes(Movimentacoes movimentacao, int id)
 {
     cmd = new SqlCommand("Update Movimentacao set descricao = '" + movimentacao.Descricao + "', valor =" + movimentacao.Valor +
                          ", data = '" + movimentacao.Data + "', observacoes = '" + movimentacao.Observacoes + "', categoria_id = " + movimentacao.Categoria_id +
                          ", tipoMovimentacao_id = " + movimentacao.TipoMovimentacao_id + ", repeticao_id = " + movimentacao.Repeticao_id + ", usuario_id = " + movimentacao.Usuario_id +
                          ", confirmado = " + movimentacao.Confirmado + " where id = " + id, conn);
     try
     {
         conn.Open();
         cmd.ExecuteNonQuery();
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         conn.Close();
     }
 }
        async Task ExecuteLoadMovimentacoesCommand()
        {
            IsBusy = true;

            try
            {
                Movimentacoes.Clear();
                var movimentacaoes = await DataStore.GetMovimentacoesAsync(true);

                foreach (var movimentacao in movimentacaoes)
                {
                    Movimentacoes.Add(movimentacao);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemplo n.º 17
0
 public void Creditar(double valor)
 {
     Movimentacoes.Add(new Movimentacao(TipoMovimentacaoEnum.Credito, valor));
 }
Exemplo n.º 18
0
 public void AddMovimentacoes(Movimentacoes newMovimentacoes)
 {
     throw new System.NotImplementedException();
 }