public IActionResult Withdraw() { var user = HttpContext.Session.GetObjectFromJson <User>("User"); if (user != null) { ViewData["Saldo"] = user.AccountBalance; var bills = HttpContext.Session.GetObjectFromJson <CaixaModel>("Notas"); var caixaModel = new CaixaModel { N100 = bills.N100, N50 = bills.N50, N20 = bills.N20, N10 = bills.N10, N5 = bills.N5, N2 = bills.N2, User = user }; return(View(caixaModel)); } else { return(RedirectToAction("Index")); } }
protected void btnFiltrar_Click(object sender, EventArgs e) { CaixaModel oCaixa = new CaixaModel(); oCaixa.Data = DateTime.Parse(cmbMes.SelectedValue); oCaixa.DataFim = DateTime.Parse(cmbMes.SelectedValue).AddMonths(1); List <CaixaModel> oList = new List <CaixaModel>(); oList = new CaixaNegocios().Listar(oCaixa); decimal R_Venda = 0; decimal R_Atendimento = 0; decimal D_Compra = 0; decimal D_Atendimento = 0; decimal D_Funcionario = 0; foreach (CaixaModel c in oList) { switch (c.Origem) { case 1: R_Venda += (decimal)c.Valor; break; case 2: R_Atendimento += (decimal)c.Valor; break; case 3: D_Compra += (decimal)c.Valor; break; case 4: D_Atendimento += (decimal)c.Valor; break; case 5: D_Funcionario += (decimal)c.Valor; break; } } ReceitaVendas.Text = R_Venda.ToString("0.00"); ReceitaAtendimentos.Text = R_Atendimento.ToString("0.00"); DespesaCompras.Text = D_Compra.ToString("0.00"); DespesaAtendimentos.Text = D_Atendimento.ToString("0.00"); DespesaSalarios.Text = D_Funcionario.ToString("0.00"); if (oList.Count > 0) { Rpt.DataSource = oList; Rpt.DataBind(); } }
public IHttpActionResult SalvaCaixa(CaixaModel model) { var retorno = _fluxoCaixaService.SalvaCaixa(model); if (!retorno.Status) { return(new InvalidListMessageResult(retorno.Message)); } return(Ok(retorno)); }
public IActionResult Index(string login, string psw) { var findUser = repo.FindUser(login); if (findUser == null) { @ViewData["LoginError"] = "Usuário não encontrado"; return(View()); } else if (findUser.Login == login && findUser.Password == psw) { var resultN = Caixa.GeraNotas(); var caixaModel = new CaixaModel { N100 = resultN.Item1, N50 = resultN.Item2, N20 = resultN.Item3, N10 = resultN.Item4, N5 = resultN.Item5, N2 = resultN.Item6 }; HttpContext.Session.SetObjectAsJson("Notas", caixaModel); var log = new LogModel { UserId = findUser.Id, Details = "Usuário acessou o sistema", Date = DateTime.Now }; repo.SaveLog(log); var user = new User { AccountBalance = findUser.AccountBalance, Id = findUser.Id, Login = findUser.Login, Password = findUser.Password }; caixaModel.User = user; HttpContext.Session.SetObjectAsJson("User", user); return(Redirect("Home/Options")); } else { ViewData["LoginError"] = "Senha incorreta"; return(View()); } }
public IActionResult Deposit() { var bills = HttpContext.Session.GetObjectFromJson <CaixaModel>("Notas"); var user = HttpContext.Session.GetObjectFromJson <User>("User"); if (user != null) { ViewData["Saldo"] = user.AccountBalance; var caixaModel = new CaixaModel(); return(View(caixaModel)); } else { return(RedirectToAction("Index")); } }
public IActionResult DepositAjax(double value) { var bills = HttpContext.Session.GetObjectFromJson <CaixaModel>("Notas"); var user = HttpContext.Session.GetObjectFromJson <User>("User"); var result = Caixa.Deposit(value, user.AccountBalance, bills); var possib = result.Item2; var caixaModel = new CaixaModel { N100 = result.Item3.Item1, N50 = result.Item3.Item2, N20 = result.Item3.Item3, N10 = result.Item3.Item4, N5 = result.Item3.Item5, N2 = result.Item3.Item6, Deposit = result.Item3.Item7, User = user }; if (Convert.ToString(value) == String.Empty || value <= 0) { caixaModel.Deposit = "Valor inválido"; return(Json(caixaModel)); } else if (possib) { var log = new LogModel { UserId = user.Id, Details = string.Format("Valor depositado R$ {0}", value), Date = DateTime.Now }; repo.SaveLog(log); repo.Update(user.Id, result.Item1); user.AccountBalance = result.Item1; } ViewData["Saldo"] = user.AccountBalance; HttpContext.Session.SetObjectAsJson("Notas", caixaModel); HttpContext.Session.SetObjectAsJson("User", user); return(Json(caixaModel)); }
public IActionResult WithdrawAjax(double valor) { var bills = HttpContext.Session.GetObjectFromJson <CaixaModel>("Notas"); var user = HttpContext.Session.GetObjectFromJson <User>("User"); var result = Caixa.CaixaEletronico(valor, bills, user.AccountBalance); var caixaModel = new CaixaModel { N100 = result.Item2.Item1, N50 = result.Item2.Item2, N20 = result.Item2.Item3, N10 = result.Item2.Item4, N5 = result.Item2.Item5, N2 = result.Item2.Item6, Resultado = result.Item2.Item7, User = user }; if (Convert.ToString(valor) == String.Empty || valor <= 0) { caixaModel.Resultado = "Valor inválido"; return(Json(caixaModel)); } else { user.AccountBalance = result.Item1; repo.Update(user.Id, user.AccountBalance); HttpContext.Session.SetObjectAsJson("Notas", caixaModel); HttpContext.Session.SetObjectAsJson("User", user); ViewData["Saldo"] = user.AccountBalance; var log = new LogModel { UserId = user.Id, Details = string.Format("Valor sacado R$ {0}", valor), Date = DateTime.Now }; repo.SaveLog(log); return(Json(caixaModel)); } }
public static Tuple <double, Tuple <int, int, int, int, int, int, string> > CaixaEletronico(double valor, CaixaModel not, double saldo) { int n100 = not.N100, n50 = not.N50, n20 = not.N20, n10 = not.N10, n5 = not.N5, n2 = not.N2; int n100t = 0, n50t = 0, n20t = 0, n10t = 0, n5t = 0, n2t = 0; string notas = ""; bool suficiente = true; int somaNotas = (100 * n100) + (50 * n50) + (20 * n20) + (10 * n10) + (5 * n5) + (2 * n2); if (valor > somaNotas) { suficiente = false; } else { while (valor % 5 != 0 && n2 > 0 && saldo > 0) { valor = valor - 2; saldo -= 2; n2t++; } if (valor % 5 != 0 || saldo - valor < 0) { suficiente = false; } else { while (valor > 0) { if (valor % 100 == 0 && n100 > 0 && saldo - 100 >= 0) { saldo -= 100; valor = valor - 100; n100t++; } else if (valor % 50 == 0 && n50 > 0 && saldo - 50 >= 0) { saldo -= 50; valor = valor - 50; n50t++; } else if (valor % 20 == 0 && n20 > 0 && saldo - 20 >= 0) { saldo -= 20; valor = valor - 20; n20t++; } else if (valor % 10 == 0 && n10 > 0 && saldo - 10 >= 0) { saldo -= 10; valor = valor - 10; n10t++; } else if (valor % 5 == 0 && n5 > 0 && saldo - 5 >= 0) { saldo -= 5; valor = valor - 5; n5t++; } else if (valor % 2 == 0 && n2 > 0 && saldo - 2 >= 0) { saldo -= 2; valor = valor - 2; n2t++; } else { suficiente = false; break; } } } } if (suficiente) { n100 -= n100t; n50 -= n50t; n20 -= n20t; n10 -= n10t; n5 -= n5t; n2 -= n2t; notas = "Notas sacadas: Notas 100: " + n100t + " / Notas 50: " + n50t + " / Notas 20: " + n20t + " / Notas 10: " + n10t + " / Notas 5: " + n5t + " / Notas 2: " + n2t; } else { notas = "Notas insuficientes :("; } var ret = new Tuple <int, int, int, int, int, int, string>(n100, n50, n20, n10, n5, n2, notas); var retorno = new Tuple <double, Tuple <int, int, int, int, int, int, string> >(saldo, ret); return(retorno); }
public static Tuple <double, bool, Tuple <int, int, int, int, int, int, string> > Deposit(double value, double balance, CaixaModel bills) { int n100 = bills.N100, n50 = bills.N50, n20 = bills.N20, n10 = bills.N10, n5 = bills.N5, n2 = bills.N2; int n100t = 0, n50t = 0, n20t = 0, n10t = 0, n5t = 0, n2t = 0; string depo = ""; bool possib = true; if (value % 5 != 0) { while (value % 5 != 0 && value > 0) { value -= 2; balance += 2; n2t += 1; if (value < 0) { possib = false; break; } } } if (value - 2 > 0) { while (value > 0) { if (value % 100 == 0) { value -= 100; balance += 100; n100t += 1; } else if (value % 50 == 0) { value -= 50; balance += 50; n50t += 1; } else if (value % 20 == 0) { value -= 20; balance += 20; n20t += 1; } else if (value % 10 == 0) { value -= 10; balance += 10; n10t += 1; } else if (value % 5 == 0) { value -= 5; balance += 5; n5t += 1; } else if (value % 2 == 0) { value -= 2; balance += 2; n2t += 1; } else { possib = false; } } } if (possib) { n100 += n100t; n50 += n50t; n20 += n20t; n10 += n10t; n5 += n5t; n2 += n2t; depo = "Deposito efetuado com sucesso!"; } else { depo = "Depósito inválido :("; } var ret = new Tuple <int, int, int, int, int, int, string>(n100, n50, n20, n10, n5, n2, depo); var retorno = new Tuple <double, bool, Tuple <int, int, int, int, int, int, string> >(balance, possib, ret); return(retorno); }
public Result <bool> SalvaCaixa(CaixaModel model) { return(AsyncContext.Run(() => _apiClient.PostWithReturnAsync <CaixaModel, Result <bool> >($"{apiRoute}SalvaCaixa", model))); }