public ActionResult modalExcluirReceita(int?id) { var OTituloReceita = this.OTituloReceitaBL.carregar(id.toInt()); if (OTituloReceita == null) { return(Json(new { flagErro = true, message = "A receita não pode ser localizada." }, JsonRequestBehavior.AllowGet)); } if (FinanceiroHelper.receitasBloqueadas(OTituloReceita.idTipoReceita)) { return(Json(new { flagErro = true, message = "A receita não pode ser removida por esse modulo." }, JsonRequestBehavior.AllowGet)); } if (OTituloReceita.dtQuitacao.HasValue) { return(Json(new { flagErro = true, message = "Não é possível excluir uma receita quitada." }, JsonRequestBehavior.AllowGet)); } if (OTituloReceita.listaTituloReceitaPagamento.Any(x => x.dtPagamento.HasValue)) { return(Json(new { flagErro = true, message = "Não é possível excluir uma receita com baixa em algum pagamento." }, JsonRequestBehavior.AllowGet)); } return(View(OTituloReceita)); }
public ActionResult PublicarAgora(VagaViewModel vaga) { try { vaga.status = 1; vaga.DataEvento = Convert.ToDateTime(vaga.Date); vaga.Numero = Convert.ToInt32(vaga.NumeroString); if (FinanceiroHelper.VerifcaSaldoCliente(vaga.Valor, PixCoreValues.UsuarioLogado)) { var op = SaveVaga(vaga); if (op != null && op.ID > 0) { FinanceiroHelper.LancaTransacoes(op, PixCoreValues.UsuarioLogado); return(Json("ok")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação." + " Entre em contato com nosso suporte técnico.")); } } else { return(Json("Saldo insuficiente.")); } } catch (Exception e) { return(Json(e)); } }
public ActionResult Inserir(CreditoViewModel creditoViewModel) { try { creditoViewModel.Taxa = decimal.Parse(creditoViewModel.TaxaString, CultureInfo.GetCultureInfo("pt-BR")); var naturezas = GetNaturezas(); var empresas = GetEmpresas(); ViewBag.Naturezas = new SelectList(naturezas.Select(n => n.Nome)); ViewBag.Empresas = new SelectList(empresas.Select(e => e.Nome)); if (!string.IsNullOrEmpty(creditoViewModel.Empresa) && !string.IsNullOrEmpty(creditoViewModel.Natureza)) { var empresa = empresas.FirstOrDefault(e => e.Nome.Equals(creditoViewModel.Empresa)); creditoViewModel.EmpresaId = empresa?.Id; creditoViewModel.NaturezaId = naturezas.FirstOrDefault(e => e.Nome.Equals(creditoViewModel.Natureza))?.ID; FinanceiroHelper.InserirSaldo(decimal.Parse(creditoViewModel.Valor, CultureInfo.GetCultureInfo("pt-BR")), "52", creditoViewModel.EmpresaId.ToString(), (int)creditoViewModel.NaturezaId, 1, creditoViewModel.Descricao, PixCoreValues.UsuarioLogado, empresa?.Email); if (creditoViewModel.Taxa > 0) { var taxa = creditoViewModel.Taxa / 100; var valor = decimal.Parse(creditoViewModel.Valor, CultureInfo.GetCultureInfo("pt-BR")) * taxa; FinanceiroHelper.LancaTransacoes(valor * -1, creditoViewModel.EmpresaId.ToString(), 3, creditoViewModel.EmpresaId.ToString(), 3, 8, 1, "Pagamento de taxa.", PixCoreValues.UsuarioLogado); FinanceiroHelper.LancaTransacoes(valor, creditoViewModel.EmpresaId.ToString(), 3, "53", 2, 8, 1, "Pagamento de taxa.", PixCoreValues.UsuarioLogado); } ModelState.Clear(); TempData["Message"] = "Créditos inseridos com sucesso"; return(View("Index")); } TempData["Message"] = "Preencha todos os campos."; return(View("Index")); } catch (Exception e) { TempData["Message"] = "Não foi possível lançar os créditos."; return(View("Index")); } }
private void GeraMultasPorCancelamento(LoginViewModel usuario, OportunidadeViewModel op, object resut) { var profissionais = GetProfissionaisQueFizeramCheckIn(op.ID); foreach (var item in profissionais) { if (Convert.ToBoolean(resut)) { var horas = op.DataCriacao - DateTime.UtcNow; if (horas.TotalHours <= 12) { FinanceiroHelper.LancaTransacoes((op.Valor * -1), usuario.idEmpresa.ToString(), 3, usuario.idEmpresa.ToString(), 3, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); FinanceiroHelper.LancaTransacoes(op.Valor, usuario.idEmpresa.ToString(), 3, item.Id.ToString(), 1, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); } else if (horas.TotalHours > 12 && horas.TotalHours <= 36) { var valor = op.Valor / 2; FinanceiroHelper.LancaTransacoes((valor * -1), usuario.idEmpresa.ToString(), 3, usuario.idEmpresa.ToString(), 3, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); FinanceiroHelper.LancaTransacoes(op.Valor, usuario.idEmpresa.ToString(), 3, item.Id.ToString(), 1, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); } else if (horas.TotalHours > 36 && horas.TotalHours <= 72) { var valor = op.Valor / 5; FinanceiroHelper.LancaTransacoes((valor * -1), usuario.idEmpresa.ToString(), 3, usuario.idEmpresa.ToString(), 3, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); FinanceiroHelper.LancaTransacoes(op.Valor, usuario.idEmpresa.ToString(), 3, item.Id.ToString(), 1, 10, 2, $"Pagamento de multa por cancelamento da oportunidade: { op.ID } - { op.Nome }", usuario, op.ID, Status.Aprovado); } } } }
public ActionResult PublicarMaisTarde(VagaViewModel vaga) { vaga.Numero = Convert.ToInt32(vaga.NumeroString); vaga.status = 2; if (FinanceiroHelper.VerifcaSaldoCliente(vaga.Valor, PixCoreValues.UsuarioLogado)) { var op = SaveVaga(vaga); if (op != null && op.ID > 0) { FinanceiroHelper.LancaTransacoes(op, PixCoreValues.UsuarioLogado); return(RedirectToAction("Gerenciar")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação. Entre em contato" + " com nosso suporte técnico.")); } } else { return(Json("Saldo insuficiente.")); } }
public string Match(UserXOportunidade userXOportunidade) { try { var usuario = PixCoreValues.UsuarioLogado; var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/CanditarOportunidade/" + usuario.idCliente + "/" + usuario.IdUsuario; var pServico = GetProfissionais(new List <int>() { userXOportunidade.UserId }).SingleOrDefault(); var user = GetUsers(new List <int>() { pServico.Profissional.IdUsuario }).SingleOrDefault(); var op = GetOportunidade(userXOportunidade.OportunidadeId); var candidatos = GetProfissionaisByOpt(userXOportunidade.OportunidadeId); var qtdCandAprovados = candidatos.Where(c => c.OportunidadeId.Equals(op.Id) && c.StatusID == 1).Count(); if (op.Qtd > qtdCandAprovados && userXOportunidade.StatusID != 3) { if (!FinanceiroHelper.VerifcaSaldoCliente(op.Valor, PixCoreValues.UsuarioLogado)) { return("Saldo insuficiente para a contratação."); } var empresa = GetEmpresa(usuario.idEmpresa); userXOportunidade.NomeContratado = pServico.Profissional.Nome; userXOportunidade.EmailContratado = pServico.Profissional.Email; userXOportunidade.EmailContratante = empresa.Email; var envio = new { userXOportunidade, }; var helper = new ServiceHelper(); var o = helper.Post <object>(url, envio); if (userXOportunidade.StatusID == 1) //Aprovado { FinanceiroHelper.LancaTransacoes(op.Valor * -1, "52", 3, "52", 3, 2, 2, "Pagando contratado.", PixCoreValues.UsuarioLogado, op.Id); FinanceiroHelper.LancaTransacoes(op.Valor, "52", 3, pServico.Profissional.IdUsuario.ToString(), 1, 2, 1, "Pagando contratado.", PixCoreValues.UsuarioLogado, op.Id, Status.Bloqueado); } return(JsonConvert.SerializeObject(new ProfissionalViewModel(pServico.Profissional.ID, user.Nome, pServico.Servico.Nome, pServico.Profissional.Telefone.Numero, pServico.Profissional.Telefone.ID, pServico.Profissional.DataNascimento.ToShortDateString(), pServico.Profissional.Email, pServico.Profissional.IdUsuario, pServico.Profissional.Endereco) { Valor = op.Valor, Avaliacao = pServico.Profissional.Avaliacao, })); } //Reprovando os demais profissionais var profissionais = candidatos.Where(c => c.OportunidadeId.Equals(op.Id) && c.StatusID == 2); foreach (var item in profissionais) { item.StatusID = 3; var envio = new { userXOportunidade = item, }; var helper = new ServiceHelper(); var o = helper.Post <object>(url, envio); } return("Não é possível aprovar mais profissionais para essa vaga."); } catch (Exception e) { return("Não foi possível completar a operação."); } }