public bool Aplicar(GDASession sessao, IContainerCalculo container, IEnumerable <IProdutoCalculo> produtos, TipoValor tipo, decimal valorAplicar) { if (valorAplicar == 0 || !produtos.Any() || !PermiteAplicar()) { return(false); } produtos.InicializarParaCalculo(sessao, container); Remover( sessao, produtos.Where(produto => PermitirRemocaoCalculoProduto(produto)), produto => { } ); decimal totalAtual = CalcularTotalAtual(sessao, produtos); decimal valor = CalcularValorAplicar(tipo, valorAplicar, totalAtual); decimal percentualAplicar = CalcularPercentualTotalAplicar(totalAtual, valor); decimal valorAplicado = Aplicar(sessao, produtos, percentualAplicar); var produtoValorResidual = this.ObterProdutoValorResidual(produtos); var valorResidual = this.ObterValorResidual(sessao, produtos, tipo, valorAplicar, valorAplicado); this.AplicarValorResidual(sessao, produtoValorResidual, valorResidual); return(true); }
public Valor(int id, TipoValor tipo, string identificador, string comentario) { _id = id; _tipo = tipo; _identificador = identificador; _comentario = comentario; }
/// <summary> /// Obtener todos los valores que pertenecen a una inconsistencia en un deposito. /// </summary> /// <param name="i">Inconsistencia en un deposito para la cual se obtiene la lista de valores</param> public void obtenerValoresInconsistencia(ref InconsistenciaDeposito i) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectInconsistenciaDepositoValores"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@inconsistencia", i.Id, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; string identificador = (string)datareader["Identificador"]; TipoValor tipo = (TipoValor)datareader["Tipo"]; string comentario = (string)datareader["Comentario"]; Valor valor = new Valor(id, tipo, identificador, comentario); i.agregarValor(valor); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
protected virtual decimal CalcularValorAplicar(TipoValor tipo, decimal valorAplicar, decimal totalAtual) { if (tipo == TipoValor.Percentual) { return(Math.Round(totalAtual * valorAplicar / 100, 2)); } return(valorAplicar); }
private static Int32 GetTipoUnidadeUsuario() { TipoValor tipo = _unitOfw.TipoValorRepository.Get(y => y.Nome == "Usuario").FirstOrDefault(); if (tipo != null) { return(tipo.Id); } return(0); }
/// <summary> /// Inserta un registro en GEN_Valores /// </summary> /// <param name="oValor"></param> /// <returns></returns> public TipoValor Insert(TipoValor oTipoValor) { SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CONEXION"].ConnectionString); oConn.Open(); SqlTransaction oTran = oConn.BeginTransaction(); try { using (SqlCommand oComm = new SqlCommand()) { oComm.Connection = (oTran != null) ? oTran.Connection : oConn; oComm.Transaction = oTran; oComm.CommandType = CommandType.StoredProcedure; oComm.CommandText = ObjectName + "_Insert"; oComm.Parameters.Add(new SqlParameter("@IdValores", SqlDbType.Int, 0, ParameterDirection.InputOutput, false, 0, 0, null, DataRowVersion.Original, oTipoValor.IdValores)); oComm.Parameters.Add(new SqlParameter("@Campo", SqlDbType.NVarChar, 100, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Campo)); oComm.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.NVarChar, 200, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Descripcion)); oComm.Parameters.Add(new SqlParameter("@Valor", SqlDbType.Decimal, 50, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Valor)); oComm.Parameters.Add(new SqlParameter("@ClaveEntidad", SqlDbType.VarChar, 100, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.ClaveEntidad)); oComm.Parameters.Add(new SqlParameter("@FechaAlta", SqlDbType.DateTime, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oTipoValor.FechaAlta)); oComm.Parameters.Add(new SqlParameter("@UsuarioAlta", SqlDbType.VarChar, 100, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oTipoValor.UsuarioAlta)); oComm.Parameters.Add(new SqlParameter("@RowId", SqlDbType.Timestamp, 8, ParameterDirection.InputOutput, false, 0, 0, null, DataRowVersion.Original, oTipoValor.RowId)); int rowsAffected = oComm.ExecuteNonQuery(); if (rowsAffected == 0) { throw new Exception("No se insertó ningún registro. Por favor, reintente la operación."); } oTipoValor.IdValores = (int)oComm.Parameters["@IdValor"].Value; oTipoValor.RowId = (Byte[])oComm.Parameters["@Rowid"].Value; oTran.Commit(); } } catch (Exception e) { oTran.Rollback(); } finally { oConn.Close(); oTran.Dispose(); } return(oTipoValor); }
/// <summary> /// /// </summary> /// <param name="oTipoValorFilter"></param> /// <returns></returns> public List <TipoValor> GetValoresByFilter(TipoValorFilter oTipoValorFilter) { using (ValoresDataAccess oValoresDataAccess = new ValoresDataAccess()) { DataSet ds = oValoresDataAccess.GetListByFilter(oTipoValorFilter); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { return(TipoValor.GetFromDS(ds)); } } return(null); }
public static String converterTipoValor(TipoValor valor) { switch (valor) { case TipoValor.Continuo: return(CONTINUO); case TipoValor.Discreto: return(DISCRETO); default: return(SEM_VALOR); } }
public List <StatementDetail> ObtenerDetallePosiciones(string pTipoRegistro) { List <StatementDetail> lstDetalle = new List <StatementDetail>(); DataTable dt = new DataTable(); string nombreSP = "PA_STATEMENT_CObtenerPosicionesStatement"; List <SQLParametro> lstParametros = new List <SQLParametro>(); SQLParametro parametro = new SQLParametro(); parametro.NombreParametro = "@pDetalle"; parametro.ValorParametro = 1; //0 Encabezado, 1 Detalle parametro.TipoParametro = SqlDbType.Int; parametro.LongitudParametro = 0; lstParametros.Add(parametro); parametro = new SQLParametro(); parametro.NombreParametro = "@pTipoRegistro"; parametro.ValorParametro = pTipoRegistro; parametro.TipoParametro = SqlDbType.VarChar; parametro.LongitudParametro = 1; lstParametros.Add(parametro); dt = conexion.EjecutarComando(nombreSP, lstParametros); if (dt != null && dt.Rows.Count > 0) { StatementDetail stDetail = new StatementDetail(); int tipoRegistro = 0; int posicion = 0; string campo = string.Empty; int longitud = 0; string tipoValorAux = string.Empty; TipoValor tipoValor = TipoValor.Numerico; foreach (DataRow dr in dt.Rows) { stDetail = new StatementDetail(); int.TryParse(dr["TipoRegistro"].ToString(), out tipoRegistro); int.TryParse(dr["Posicion"].ToString(), out posicion); campo = dr["Campo"].ToString(); int.TryParse(dr["Longitud"].ToString(), out longitud); tipoValorAux = dr["TipoValor"].ToString(); Enum.TryParse <TipoValor>(tipoValorAux, out tipoValor); stDetail.TipoRegistro = tipoRegistro; stDetail.Posicion = posicion; stDetail.Campo = campo; stDetail.Longitud = longitud; stDetail.TipoValor = tipoValor; lstDetalle.Add(stDetail); } } return(lstDetalle); }
/// <summary> /// Obtiene un registro de GEN_Valores por un id /// </summary> /// <param name="oTipoValor"></param> /// <returns></returns> public DataSet GetByID(TipoValor oTipoValor) { // Creo la conexión y la transacción SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CONEXION"].ConnectionString); oConn.Open(); SqlTransaction oTran = oConn.BeginTransaction(); DataSet ds = new DataSet(); try { using (SqlDataAdapter adapter = new SqlDataAdapter()) { using (SqlCommand oComm = new SqlCommand()) { oComm.Connection = oTran != null ? oTran.Connection : oConn; oComm.Transaction = oTran; oComm.CommandType = CommandType.StoredProcedure; oComm.CommandText = ObjectName + "_GetByID"; oComm.Parameters.Add(new SqlParameter("@IdValores", SqlDbType.Int, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.IdValores)); oComm.Parameters.Add(new SqlParameter("@RowId", SqlDbType.Timestamp, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oTipoValor.RowId)); adapter.SelectCommand = oComm; adapter.Fill(ds); oTran.Commit(); } } } catch (Exception e) { oTran.Rollback(); throw e; } finally { oConn.Close(); oTran.Dispose(); } return(ds); }
public CupomFiscal(string linha) : base(linha) { tipoRegistro = TipoRegistro.E14_CupomFiscal; numeroContadorDocumentoEmitido = LerInteiro6Digitos(47); coo = LerInteiro6Digitos(53); dataInicioEmissao = LerData(59).Value; subtotal = LerDecimal(67, 81, 2); descontoSubtotal = LerDecimal(81, 94, 2); tipoDescontoSubtotal = LerTipoValor(94); acrescimoSubtotal = LerDecimal(95, 108, 2); tipoAcrescimoSubtotal = LerTipoValor(108); valorTotalLiquido = LerDecimal(109, 123, 2); indicadorCancelamento = LerBooleano(123); cancelamentoAcrescimoSubtotal = LerDecimal(124, 137, 2); ordemPrimeiroAcrescimo = LerTipoAplicacao(137); nomeAdquirente = Ler(138, 138 + 40); cpfCnpjAdquirente = Ler(178, 178 + 14); }
/// <summary> /// Clic en el botón de aceptar. /// </summary> private void btnAceptar_Click(object sender, EventArgs e) { if (txtIdentificador.Text.Equals(string.Empty) || cboTipo.SelectedItem == null) { return; } frmMantenimientoInconsistenciasDepositos padre = (frmMantenimientoInconsistenciasDepositos)this.Owner; TipoValor tipo = (TipoValor)cboTipo.SelectedIndex; string identificador = txtIdentificador.Text; string comentario = txtComentario.Text; Valor valor = new Valor(tipo, identificador, comentario); padre.agregarValor(valor); this.Close(); }
/// <summary> /// Actualiza un registro en GEN_Valores /// </summary> /// <param name="oTipoValor"></param> /// <returns></returns> public TipoValor Update(TipoValor oTipoValor) { SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CONEXION"].ConnectionString); oConn.Open(); SqlTransaction oTran = oConn.BeginTransaction(); try { using (SqlCommand oComm = new SqlCommand()) { oComm.Connection = (oTran != null) ? oTran.Connection : oConn; oComm.Transaction = oTran; oComm.CommandType = CommandType.StoredProcedure; oComm.CommandText = ObjectName + "_Update"; oComm.Parameters.Add(new SqlParameter("@IdValores", SqlDbType.Int, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.IdValores)); oComm.Parameters.Add(new SqlParameter("@Campo", SqlDbType.NVarChar, 100, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Campo)); oComm.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.NVarChar, 200, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Descripcion)); oComm.Parameters.Add(new SqlParameter("@Valor", SqlDbType.Decimal, 50, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.Valor)); oComm.Parameters.Add(new SqlParameter("@ClaveEntidad", SqlDbType.VarChar, 100, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Original, oTipoValor.ClaveEntidad)); oComm.Parameters.Add(new SqlParameter("@RowId", SqlDbType.Timestamp, 8, ParameterDirection.InputOutput, false, 0, 0, null, DataRowVersion.Original, oTipoValor.RowId)); int rowsAffected = oComm.ExecuteNonQuery(); oTipoValor.RowId = (Byte[])oComm.Parameters["@Rowid"].Value; oTran.Commit(); } } catch (Exception e) { oTran.Rollback(); } finally { oConn.Close(); oTran.Dispose(); } return(oTipoValor); }
public InstrucoesDoTitulo(double multa, int multaApos, double juros, TipoDesconto tipoDesconto, double valorDesconto, DateTime?dataLimiteDesconto, double valorAbatimento, TipoProtesto tipoProtesto, int protestarApos, int baixarApos, TipoPagamento tipoPagamento, int quantidadePagamentosPossiveis, TipoValor tipoValor, double percentualMinimo, double percentualMaximo) { Multa = multa; MultaApos = multaApos; Juros = juros; TipoDesconto = tipoDesconto; ValorDesconto = valorDesconto; DataLimiteDesconto = dataLimiteDesconto; ValorAbatimento = valorAbatimento; TipoProtesto = tipoProtesto; ProtestarApos = protestarApos; BaixarApos = baixarApos; TipoPagamento = tipoPagamento; QuantidadePagamentosPossiveis = quantidadePagamentosPossiveis; TipoValor = tipoValor; PercentualMinimo = percentualMinimo; PercentualMaximo = percentualMaximo; Validar(); }
private TipoValor InterpretarValores(string tipo, List <double> valores, List <ValorNumerico> listaAlvo) { TipoValor retorno = TipoValor.SemValor; if (tipo.ToLower() == DISCRETO) { retorno = TipoValor.Discreto; foreach (double v in valores) { listaAlvo.Add(new ValorNumerico(v)); } } else { if (tipo.ToLower() == CONTINUO) { retorno = TipoValor.Continuo; if (valores.Count == NR_CONTINUOS) { foreach (double v in valores) { listaAlvo.Add(new ValorNumerico(v)); } } else { throw new ArgumentException("Tipo de domínio para contínuos inválido"); } } else { throw new ArgumentException("Tipo de valor inválido."); } } return(retorno); }
public bool Aplicar(GDASession sessao, IContainerCalculo container, IEnumerable <IProdutoCalculo> produtos, TipoValor tipo, decimal valorAplicar) { return(false); }
public static string[] DespesasGerais(string tipoDespesa, TipoValor tipoValor) => new string[] { "DespesasGerais", tipoDespesa, tipoValor.ToString() };
public static string[] PendenciasCompras(TipoValor tipoValor, string codigoAcao) => new string[] { "PendênciaCompra", "Default", tipoValor.ToString(), codigoAcao };
public static string[] Despesas(string tipoDespesa, TipoValor tipoValor, string codigoAcao) => new string[] { "Despesas", tipoDespesa, tipoValor.ToString(), codigoAcao };
private decimal ObterValorResidual(GDASession sessao, IEnumerable <IProdutoCalculo> produtos, TipoValor tipo, decimal valorAplicar, decimal valorAplicado) { decimal totalAtual = 0; decimal valor = 0; foreach (var produto in produtos) { totalAtual += BaseCalculoTotalResidualProduto(produto); totalAtual += CalcularTotalBeneficiamentosProduto(produto); } valor = this.CalcularValorAplicar(tipo, valorAplicar, totalAtual); return(valor - valorAplicado); }
public static string[] Margens(TipoValor tipoValor, string codigoAcao) => new string[] { "ChamadaMargem", "Default", tipoValor.ToString(), codigoAcao };
private bool Aplicar(GDASession sessao, IDescontoAcrescimoStrategy estrategia, IContainerCalculo container, IEnumerable <IProdutoCalculo> produtos, TipoValor tipoValor, decimal valor) { return(estrategia.Aplicar(sessao, container, produtos, tipoValor, valor)); }
protected override decimal CalcularValorAplicar(TipoValor tipo, decimal valorAplicar, decimal totalAtual) { var percentualCalculo = (100 - valorAplicar) / 100; return(Math.Round(totalAtual / percentualCalculo - totalAtual, 2)); }
public static string[] Emolumentos(ContaCorrentes.Descricoes.EmolumentoTipo tipo, TipoValor tipoValor, string codigoAcao) => new string[] { "Emolumentos", tipo.ToString().ToUpper(), tipoValor.ToString(), codigoAcao };
public BoletoNet.Boleto ImprimirBoletoBancario(LancamentoCobranca cobranca, ContaFinanceira contaFinanceira, DateTime?dtVencimento, TipoValor tipoValorJuros, decimal?juros, TipoValor tipoValorMulta, decimal?multa, List <ParametroBoletoBancario> listaParametroBoletoBancario, TipoOcorrenciaCNAB tipoOcorrenciaCNAB) { return(_lancamentoCobrancaServico.ImprimirBoletoBancario(cobranca, contaFinanceira, dtVencimento, tipoValorJuros, juros, tipoValorMulta, multa, listaParametroBoletoBancario, tipoOcorrenciaCNAB)); }
public static string[] Operacoes(TipoValor tipoValor, string codigoAcao) => new string[] { "Operações", "Default", tipoValor.ToString(), codigoAcao };
public GeracaoCNABLancamentoCobrancaViewModel GerarBoletosBancariosHtml(List <LancamentoCobranca> lancamentos, DateTime?dtVencimento, TipoValor tipoValorJuros, decimal?juros, TipoValor tipoValorMulta, decimal?multa, TipoOcorrenciaCNAB tipoOcorrenciaCNAB) { var geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel(); using (TransactionScope scope = new TransactionScope()) { var listaBoletoBancario = new List <BoletoBancario>(); var listaBoletos = new Boletos(); var contaFinanceiraLancamento = lancamentos?.FirstOrDefault()?.ContaFinanceira ?? new ContaFinanceira(); var contaFinanceira = _contaFinanceiraServico.BuscarPorId(contaFinanceiraLancamento.Id); var listaParametroBoletoBancario = _parametroBoletoBancarioServico.Buscar()?.ToList() ?? new List <ParametroBoletoBancario>(); foreach (var item in lancamentos) { if (item.Cliente.Pessoa.Enderecos == null || !item.Cliente.Pessoa.Enderecos.Any()) { throw new BusinessRuleException($"O cadastro de [{item.Cliente.Pessoa.Nome}], não possui Endereço. É necessário esta informação para prosseguir!"); } var boleto = ImprimirBoletoBancario(item, contaFinanceira, dtVencimento, tipoValorJuros, juros, tipoValorMulta, multa, listaParametroBoletoBancario, tipoOcorrenciaCNAB); var boletoBancario = new BoletoBancario() { CodigoBanco = Convert.ToInt16(contaFinanceira.Banco.CodigoBanco), Boleto = boleto, MostrarCodigoCarteira = true, TextoAbaixoDoBoleto = $"UNIDADE: {item.Unidade.Nome} - {item.Unidade?.Endereco?.Logradouro}" + $"<br/>REF: {(item.DataCompetencia == null ? item.DataVencimento.ToString("yyyyMM") : item.DataCompetencia.Value.ToString("yyyyMM"))}" + $"{(item.TipoServico == TipoServico.Mensalista ? $"<br/>CONTRATO: {item.NumerosContratos}" : string.Empty)}" }; boletoBancario.Boleto.Valida(); boletoBancario.MostrarComprovanteEntrega = false; boletoBancario.FormatoCarne = true; boletoBancario.GeraImagemCodigoBarras(boleto); listaBoletos.Add(boleto); listaBoletoBancario.Add(boletoBancario); item.PossueCnab = true; item.StatusLancamentoCobranca = StatusLancamentoCobranca.EmAberto; } var objCedente = new Cedente( contaFinanceira.Cpf, contaFinanceira.Descricao, contaFinanceira.Agencia, contaFinanceira.Conta, contaFinanceira.DigitoConta ) { CodigoTransmissao = $"{contaFinanceira.Agencia}0{contaFinanceira.Convenio.Truncate(7).PadLeft(7, '0')}0{contaFinanceira.Conta.Truncate(7).PadLeft(7, '0')}", Convenio = Convert.ToInt64(contaFinanceira.Convenio), ContaBancaria = new ContaBancaria(contaFinanceira.Agencia, contaFinanceira.DigitoAgencia ?? string.Empty, contaFinanceira.Conta, contaFinanceira.DigitoConta), Nome = contaFinanceira.Empresa?.RazaoSocial }; var aqvRemessa = new ArquivoRemessa(BoletoNet.TipoArquivo.CNAB400); var banco = new BoletoNet.Banco(Convert.ToInt32(contaFinanceira.Banco.CodigoBanco)); using (var mem = new MemoryStream()) { if (listaBoletos.Any()) { aqvRemessa.GerarArquivoRemessa(contaFinanceira.Convenio, banco, objCedente, listaBoletos, mem, Convert.ToInt32(contaFinanceira.CodigoTransmissao)); } var pdfBytes = new BoletoBancario().MontaBytesListaBoletosPDF(listaBoletoBancario, "Boletos Gerados", null, "Boletos Gerados"); geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel { BoletosHtml = listaBoletoBancario?.Select(x => x.MontaHtmlEmbedded())?.ToList() ?? new List <string>(), ArquivoRemessaMemoryStream = mem, DadosPDF = pdfBytes }; } } _lancamentoCobrancaServico.UpdateDetalhesCNAB(lancamentos); return(geracaoCnab); }
public static string[] Transferencias(TipoValor tipoValor) => new string[] { "Transferências", "Default", tipoValor.ToString() };