Пример #1
0
        public async Task <IActionResult> GetAll(long sinumber)
        {
            var warranties = await _service.GetWarrantiesAsync(new GetWarrantiesRequest { SiNumber = sinumber });

            if (warranties.BusinessMessages != null && warranties.BusinessMessages.Length > 0)
            {
                return(BadRequest(warranties.BusinessMessages));
            }

            List <ZvzPayment> payments = new List <ZvzPayment>();

            foreach (var warranty in warranties?.Value?.Warranties)
            {
                var response = await _service.GetPaymentsAsync(new GetPaymentsRequest()
                {
                    SiNumber = sinumber, ReferenceDate = warranty.RequestDate
                });

                if (response.BusinessMessages != null && response.BusinessMessages.Length > 0)
                {
                    return(BadRequest(response.BusinessMessages));
                }
                payments.AddRange(_mapper.Map <IEnumerable <ZvzPayment> >(response.Value?.Payments, opt => opt.Items["CertificateId"] = warranty.Certificate));
            }

            return(Ok(payments));
        }
Пример #2
0
        public async Task <decimal> GetMaxAmountReturnableAsync(long siNumber, string insz)
        {
            var response = await _zvzService.GetWarrantiesAsync(new GetWarrantiesRequest()
            {
                SiNumber = siNumber
            });

            return(await CalcMaxAmount(siNumber, response));
        }
Пример #3
0
        public async Task <IActionResult> Get(long sinumber)
        {
            var response = await _service.GetWarrantiesAsync(new GetWarrantiesRequest()
            {
                SiNumber = sinumber
            });

            if (response.BusinessMessages != null && response.BusinessMessages.Length > 0)
            {
                return(BadRequest(response.BusinessMessages));
            }

            var source = response.Value?.Warranties?.OrderByDescending(w => w.DateFrom)
                         .ThenByDescending(w => w.RequestDate);

            var mappedModel = _mapper.Map <IEnumerable <ZvzWarranty> >(source);

            return(Ok(mappedModel));
        }
Пример #4
0
        private async Task WriteCSVLine(string delimiter1, string space, StreamWriter writer, Models.Person person)
        {
            var thabDataResponseTask = _thabService.GetThabDataAsync(new ThabService.GetThabDataRequest()
            {
                SiNumber = person.SiNumber, Insz = person.Insz
            });
            var bobDataResponseTask = _bobService.GetCertificatesAsync(new BobService.GetCertificatesRequest()
            {
                SiNumber = person.SiNumber
            });
            var zvzDataResponseTask = _zvzService.GetWarrantiesAsync(new GetWarrantiesRequest()
            {
                SiNumber = person.SiNumber
            });

            var lineSb = new StringBuilder();

            lineSb.Append(person.FederationNumber);
            lineSb.Append(delimiter1);
            lineSb.Append(person.Insz);
            lineSb.Append(delimiter1);
            lineSb.Append(person.FirstName);
            lineSb.Append(delimiter1);
            lineSb.Append(person.Name);
            lineSb.Append(delimiter1);
            lineSb.Append(person.Street);
            lineSb.Append(delimiter1);
            lineSb.Append(person.HouseNumber);
            lineSb.Append(delimiter1);
            lineSb.Append(person.NumberBox);
            lineSb.Append(delimiter1);
            lineSb.Append(person.ZipCode);
            lineSb.Append(delimiter1);
            lineSb.Append(person.Locality);
            lineSb.Append(delimiter1);

            var contactDetailSb = new StringBuilder();
            var delimiter2      = " - ";


            try
            {
                var zvzDataResponse = await zvzDataResponseTask;
                if (zvzDataResponse?.Value?.Warranties?.Any() == true)
                {
                    contactDetailSb.Append("ZVZ: ");
                    contactDetailSb.Append(zvzDataResponse?.Value?.Warranties?.FirstOrDefault()?.Care);
                    contactDetailSb.Append(delimiter2);
                    contactDetailSb.Append(zvzDataResponse?.Value?.Warranties?.FirstOrDefault()?.State);
                }
            }
            catch { }

            try
            {
                var bobDataResponse = await bobDataResponseTask;
                if (bobDataResponse?.Value?.Certificates?.Any() == true)
                {
                    if (contactDetailSb.Length != 0)
                    {
                        contactDetailSb.Append(delimiter2);
                    }
                    contactDetailSb.Append("BOB - ");
                    contactDetailSb.Append(bobDataResponse?.Value?.Certificates?.FirstOrDefault()?.State);
                }
            }
            catch { }

            try
            {
                var thabDataResponse = await thabDataResponseTask;
                if (thabDataResponse?.Value?.ThabData?.FirstOrDefault()?.Certificate != null)
                {
                    if (contactDetailSb.Length != 0)
                    {
                        contactDetailSb.Append(delimiter2);
                    }
                    contactDetailSb.Append("Thab - ");
                    contactDetailSb.Append(thabDataResponse?.Value?.ThabData?.First()?.Certificate?.State);
                }
            }
            catch { }

            lineSb.Append(contactDetailSb.ToString());
            lineSb.Append(delimiter1);

            StringBuilder thabDetailSb = null;

            try
            {
                var thabDataResponse = await thabDataResponseTask;
                if (thabDataResponse?.Value?.ThabData?.Any() == true)
                {
                    foreach (var data in thabDataResponse.Value.ThabData)
                    {
                        thabDetailSb = new StringBuilder(data.Certificate.Id);
                        thabDetailSb.Append(space);

                        if (data.Remark != null)
                        {
                            thabDetailSb.Append(data.Remark.TrimEnd());
                        }
                    }
                }
            }
            catch { }

            lineSb.Append(delimiter1);
            if (thabDetailSb != null)
            {
                lineSb.Append(thabDetailSb.ToString());
            }
            writer.WriteLine(lineSb.ToString());
        }