public Wallet(Guid guid, Guid owner, string name, Enums.Currency currency, List <Category> categories)
 {
     _guid         = guid;
     _ownerId      = owner;
     _name         = name;
     _currency     = currency;
     _categories   = categories.ToList();
     _balance      = decimal.Zero;
     _transactions = new List <Transaction>();
     _sharedUsers  = new List <User>();
 }
Beispiel #2
0
 public Payment(int amount, Enums.Currency currency, int installments, bool capture, string softDescriptor, CreditCard creditCard, string country = "BRA", bool authenticate = false)
 {
     this.Type           = Enums.PaymentType.CreditCard;
     this.Amount         = amount;
     this.Currency       = currency;
     this.Installments   = installments;
     this.Capture        = capture;
     this.SoftDescriptor = softDescriptor;
     this.CreditCard     = creditCard;
     this.Country        = country;
     this.Authenticate   = authenticate;
 }
Beispiel #3
0
        public decimal Convert(Enums.Currency fromCurrency, Enums.Currency toCurrency, decimal result)
        {
            decimal valueFrom = 0;

            decimal valueTo = 0;

            foreach (var item in Constants.CurrencyRates.ConverterDictionary)
            {
                if (item.Key == fromCurrency)
                {
                    valueFrom = item.Value;
                }
                ;
                if (item.Key == toCurrency)
                {
                    valueTo = item.Value;
                }
                ;
            }
            return(valueFrom / valueTo * result);
        }
 public static decimal Convert(decimal amount, string currencyFrom, string currencyTo)
 {
     Enums.Currency from = (Enums.Currency)Enum.Parse(typeof(Enums.Currency), currencyFrom, true);
     Enums.Currency to   = (Enums.Currency)Enum.Parse(typeof(Enums.Currency), currencyTo, true);
     return((CoefMap.ContainsKey(to) && CoefMap.ContainsKey(from)) ? amount * CoefMap[to] / CoefMap[from] : decimal.MinValue);
 }
 public static decimal Convert(decimal amount, Enums.Currency currencyFrom, Enums.Currency currencyTo)
 {
     return((CoefMap.ContainsKey(currencyTo) && CoefMap.ContainsKey(currencyFrom)) ? amount * CoefMap[currencyTo] / CoefMap[currencyFrom] : decimal.MinValue);
 }
Beispiel #6
0
 public RefundRequest SetCurrency(Enums.Currency currency)
 {
     this.Currency = currency;
     return(this);
 }
 public void EditTransaction(Guid userId, Transaction oldTransaction, decimal sum, Enums.Currency currency, Category category, DateTime dateTime, string description, string file)
 {
     if (Owner != userId)
     {
         throw new NoAccessException("You have no access to edit this transaction.");
     }
     //check if transaction exists
     foreach (Transaction tr in _transactions)
     {
         if (tr.Guid == oldTransaction.Guid)
         {
             Balance += CurrencyConverter.Convert(sum, currency, Currency) - CurrencyConverter.Convert(oldTransaction.Sum, oldTransaction.CurrencyOfTransaction, Currency);
             tr.Sum   = sum;
             tr.CurrencyOfTransaction = currency;
             tr.Category    = category;
             tr.DateTime    = dateTime;
             tr.Description = description;
             tr.FilePath    = file;
             return;
         }
     }
     throw new RecordNotFoundException("Transaction wasn`t found.");
 }
Beispiel #8
0
        public async Task <PrintingEditionModel> GetPrintingEditionDetailsAsync(long printingEditionId, Enums.Currency currency)
        {
            var responseModel = new PrintingEditionModel();

            var printingEditionData = await _printingEditionRepository.GetPrintingEditionDetailsAsync(printingEditionId);

            var printingEdition = printingEditionData.MapToModel(currency);

            printingEdition.Price = _currencyConverterHelper.Convert(Enums.Currency.USD, currency, printingEdition.Price);

            responseModel.Items.Add(printingEdition);

            return(responseModel);
        }
Beispiel #9
0
        public async Task <IActionResult> GetPrintingEditionDetails(long printingEditionId, Enums.Currency currency)
        {
            var responseModel = await _printingEditionService.GetPrintingEditionDetailsAsync(printingEditionId, currency);

            return(Ok(responseModel));
        }
        public static PrintingEditionModelItem MapToModel(this PrintingEditionDataModel source, Enums.Currency currency = Enums.Currency.USD)
        {
            var instance = new PrintingEditionModelItem();

            instance.Id    = source.Id;
            instance.Price = source.Price;
            instance.PrintingEditionType = source.PrintingEditionType;
            instance.Title       = source.Title;
            instance.Currency    = currency;
            instance.Description = source.Description;
            instance.Price       = source.Price;

            instance.Authors = source.Authors.Select(x => new AuthorModelItem
            {
                Id   = x.Id,
                Name = x.Name
            }).ToList();

            return(instance);
        }