Esempio n. 1
0
        private async Task <decimal> CalcMaxAmount(long siNumber, ReturnMessageOfGetCertificatesResponse7nXz08R8 response)
        {
            if (response.Value != null && response.Value.Certificates != null)
            {
                var futureCertifcates = response.Value.Certificates.Where(c => !c.Until.HasValue || c.Until > DateTime.Today);

                decimal sum = 0;
                foreach (var fc in futureCertifcates)
                {
                    sum += _helperService.PaymentsBetweenDates(fc.Until) * await GetCurrentPaymentAmount(siNumber, fc.From);
                }
            }
            else if (response.BusinessMessages != null && response.BusinessMessages.Any())
            {
                var errors = response.BusinessMessages.Where(bm => bm.Type == MessageType.Error);
                if (errors.Any())
                {
                    throw new Exception(string.Join("; ", errors.Select(e => e.MessageString)));
                }
            }
            return(0);
        }
Esempio n. 2
0
        private async Task <decimal> CalcMaxAmount(long siNumber, ReturnMessageOfGetWarrantiesResponsecEfhslJU response)
        {
            if (response.Value != null && response.Value.Warranties != null && response.Value.Warranties.Count() > 0)
            {
                var lastWarranty = response.Value.Warranties.OrderByDescending(w => w.DateFrom).FirstOrDefault();
                if (lastWarranty == null)
                {
                    return(0);
                }

                var enddate = lastWarranty.DateUntil;
                return(_helperService.PaymentsBetweenDates(enddate) * await GetCurrentPaymentAmount(siNumber, lastWarranty.RequestDate));
            }
            else if (response.BusinessMessages != null && response.BusinessMessages.Any())
            {
                var errors = response.BusinessMessages.Where(bm => bm.Type == MessageType.Error);
                if (errors.Any())
                {
                    throw new Exception(string.Join("; ", errors.Select(e => e.MessageString)));
                }
            }
            return(0);
        }