Exemplo n.º 1
0
        private string CalculateAdjustmentAmount(double aamount)
        {
            string adjustAmount = aamount.ToString();
            string initialValue = adjustAmount;

            if (adjustAmount.Contains(DecimalSeparator))
            {
                string[] tmpStrArr = adjustAmount.Split(DecimalSeparator.ToCharArray());
                if (tmpStrArr.Length < 2)
                {
                    return(adjustAmount);
                }
                if (!string.IsNullOrEmpty(tmpStrArr[1]) && tmpStrArr[1].Length > 2)
                {
                    adjustAmount = String.Format("{0:c}", initialValue.Replace(GroupSeparator, ""));
                }
                else if (tmpStrArr[0].Length > 12)
                {
                    adjustAmount = initialValue;
                }
                else if (string.IsNullOrEmpty(tmpStrArr[0]))
                {
                    adjustAmount = initialValue;
                }

                double amount       = Convert.ToDouble(adjustAmount);
                int    decimalCount = tmpStrArr[1].Length > 2 ? 2 : tmpStrArr[1].Length;
                adjustAmount = string.Format("{0:c" + decimalCount + "}", amount) +
                               (adjustAmount.EndsWith(DecimalSeparator) ? DecimalSeparator : string.Empty);

                adjustAmount = RemoveCurrencySymbol(adjustAmount, false);

                if (!adjustAmount.Contains(DecimalSeparator))
                {
                    return(initialValue);
                }
                else
                {
                    return(adjustAmount);
                }
            }
            else
            {
                if (adjustAmount.Length > 12)
                {
                    adjustAmount = initialValue.Replace(GroupSeparator, string.Empty);
                }
                double amount = Convert.ToDouble(adjustAmount);
                adjustAmount = amount.ToString();
                return(CleanNetTotal(RemoveCurrencySymbol(String.Format("{0:c0}", amount), false), false));
            }
        }