0 purchases
calculationlibrary
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.