calculationlibrary 0.2.7 copy "calculationlibrary: ^0.2.7" to clipboard
calculationlibrary: ^0.2.7 copied to clipboard

Financial Calculation Library

Calculation Library #

Uma biblioteca Dart para cálculos matemáticos.

Instalação #

Para usar esta biblioteca em seu projeto Dart, rode este comando dart pub add calculationlibrary

Isso adicionará uma linha como esta ao pubspec.yaml:

dependencies:
  calculationlibrary: ^0.2.7
copied to clipboard

Uso #

Aqui está um exemplo de como usar a biblioteca para realizar cálculos:

import 'package:calculationlibrary/Calculator.dart';

void main() {
    String method = 'addItem';
    String item = '{"idItem": "123", "idEntry": "abc", "isTaxed": 0, "description": "Product A", "quantity": 1.0, "value": 60.0, "modifiers": []}';
    String argument = '{"method": "$method", "item": $item}';
    
    String acc = Calculator.run(argument);
    
    argument = '{"method": "$method", "item": $item, "acc": $acc}';
    acc = Calculator.run(argument);  
}
copied to clipboard

O retorno de Calculator.run() para os métodos additem,removeItem,addAccountDiscount,addItemDiscount,addServiceCharge, accountPayment, addItemModifier e updateItem será sempre uma String no formato do acc.

Descrição dos campos #

Acc

sum : (double) Valor total da conta
amount: (int) Quantidade total de itens
discount: (double) Soma total dos descontos aplicados (conta + itens)
payment: (double) Valor total do pagamento (conta + item)
servicecharge: Taxa de serviço aplicada à conta
type: (int) Tipo da taxa (valor ou porcentagem)
value: (double) Valor da taxa
accountTaxValue: (double) Valor total da taxa de serviço aplicada na conta
task: (List) Lista de todas as operações realizadas
result: (String) Resultado da última operação realizada

Item

idItem : (String) Id do item
idEntry : (String) Id do item na conta
isTaxed : (bool) Indicação se o item deve ser incluso no cálculo da taxa de serviço ou não
description : (String) Descrição do item
quantity: (double) Quantidade do item na conta
value : (double) Valor unitário
discount: Desconto aplicado
type : (int) Tipo do desconto
value: (double) Valor do desconto
modifiers : (List) Lista de todos os modificadores

Desconto, Taxa de serviço e Pagamento

type : (int) Tipo
value: (double) Valor

Códigos de erro

Retornados no campo result do acc : ITEM_ALREADY_EXISTS ITEM_NOT_REGISTERED INVALID_INPUT

Métodos disponíveis #

getAcc: getAcc(String acc)

Recalcula o acc.

Parâmetros :
  • acc
acc {
    "sum" : 0.0
    "amount": 0
    "discount": 0.0
    "payment": 0.0,
    "servicecharge":{
        "type": 0,
        "value": 0.0,
        "accountTaxValue": 0.0
    },
    "task": []
    "result":{}
}
copied to clipboard

addItem: addItem(String item, {String? acc})

Adiciona um item a uma conta. Se o argumento acc for fornecido, o item será adicionado à conta especificada.

Parâmetros :
  • acc (opcional)
  • item: O item a ser adicionado.
item without discount {
    "idItem": "",
    "idEntry": "",
    "isTaxed": 0,
    "description": "",
    "quantity": 0,
    "value": 0.0,
    "modifiers":[]
}

item with discount {
    "idItem": "",
    "idEntry": "",
    "isTaxed": 0,
    "description": "",
    "quantity": 0,
    "value": 0.0,
    "discount": {
       "type": 0
       "value": 0.0
    },
    "modifiers":[]
}
copied to clipboard

removeItem: removeItem(String item, String acc)

Remove um item de uma conta específica.

Parâmetros :
  • item
  • acc

addAccountDiscount: addAccountDiscount(String discount, String acc)

Adiciona um desconto a uma conta específica.

Parâmetros :
  • acc
  • discount: Uma string JSON que representa o desconto a ser adicionado.
discount by percentage (10 %): {
   "type": 1 
   "value": 10.0  
}

discount by value (10,00): {
   "type": 2 
   "value": 10.0 
}
copied to clipboard

O type do discount indica se será um desconto por porcentagem ou por valor

addItemDiscount: addItemDiscount(String discount, String item, String acc)

Adiciona um desconto a um item em uma conta específica.

Parâmetros :
  • discount
  • item
  • acc

addServiceCharge: addServiceCharge(String service, String acc)

Adiciona taxa de serviço uma conta específica.

Parâmetros :
  • acc
  • service
serviceCharge by percentage (10 %): {
   "type": 1 
   "value": 10.0  
}

serviceCharge by value (10,00): {
   "type": 2 
   "value": 10.0 
}
copied to clipboard

accountPayment: accountPayment(String payment, String acc)

Realiza o pagamento em uma conta específica.

Parâmetros :
  • acc
  • payment
payment by percentage (10 %): {
   "type": 1 
   "value": 10.0  
}

payment by value (10,00): {
   "type": 2 
   "value": 10.0 
}
copied to clipboard

addItemModifier: addItemModifier(String item, String acc, String modifier)

Adiciona um modificador a um item em uma conta específica.

Parâmetros :
  • modifier
  • item
  • acc

updateItem: updateItem(String item, String acc)

Realiza a atualização do item cadastrado pelo item que foi fornecido.

Parâmetros :
  • item
  • acc
Retorno :
  • O Acc é atualizado de acordo com os demais métodos, mas o resultado agora contém informações tanto do item antigo quanto do novo.
result = {
    "old" : oldItem,
    "new": newItem
};
copied to clipboard

transferItem: transferItem(String sourceAcc, String destinationAcc, String item)

Realiza a transferência de um item entre duas contas.

Parâmetros :
  • sourceAcc
  • destinationAcc
  • item
Retorno :
  • Retorna um Json contendo o sourceAcc e o destinationAcc:
result = {
    "sourceAcc" : updatedSourceAcc,
    "destinationAcc": updatedDestinationAcc
};
copied to clipboard
1
likes
70
points
26
downloads

Publisher

unverified uploader

Weekly Downloads

2024.07.06 - 2025.01.18

Financial Calculation Library

Repository (GitHub)

Documentation

Documentation
API reference

License

BSD-3-Clause (license)

More

Packages that depend on calculationlibrary