Example #1
0
        public GiftCertificateViewModel GetModel(long eventId, long customerId)
        {
            var eventData     = _eventRepository.GetById(eventId);
            var customer      = _customerRepository.GetCustomer(customerId);
            var eventCustomer = _eventCustomerRepository.Get(eventId, customerId);
            var account       = _corporateAccountRepository.GetbyEventId(eventId);

            var patientGiftCardSignatureUrl    = string.Empty;
            var technicianGiftCardSignatureUrl = string.Empty;
            var giftCardSignatureMediaLocation = _mediaRepository.GetGiftCardSignatureLocation(eventId, customerId);
            var giftCertificateSignature       = _eventCustomerGiftCardRepository.GetByEventCustomerId(eventCustomer.Id);

            if (giftCertificateSignature != null && (giftCertificateSignature.PatientSignatureFileId.HasValue || giftCertificateSignature.TechnicianSignatureFileId.HasValue))
            {
                var signatureFileIds = new List <long>();
                if (giftCertificateSignature.PatientSignatureFileId.HasValue)
                {
                    signatureFileIds.Add(giftCertificateSignature.PatientSignatureFileId.Value);
                }
                if (giftCertificateSignature.TechnicianSignatureFileId.HasValue)
                {
                    signatureFileIds.Add(giftCertificateSignature.TechnicianSignatureFileId.Value);
                }

                var signatureFiles = _fileRepository.GetByIds(signatureFileIds);
                if (giftCertificateSignature.PatientSignatureFileId.HasValue)
                {
                    var patientFile = signatureFiles.First(x => x.Id == giftCertificateSignature.PatientSignatureFileId.Value);
                    patientGiftCardSignatureUrl = giftCardSignatureMediaLocation.Url + patientFile.Path;
                }
                if (giftCertificateSignature.TechnicianSignatureFileId.HasValue)
                {
                    var technicianFile = signatureFiles.First(x => x.Id == giftCertificateSignature.TechnicianSignatureFileId.Value);
                    technicianGiftCardSignatureUrl = giftCardSignatureMediaLocation.Url + technicianFile.Path;
                }
            }

            return(new GiftCertificateViewModel
            {
                CustomerId = customer.CustomerId,
                CustomerName = customer.Name,
                EventDate = eventData.EventDate,
                GiftAmmount = account.GiftCardAmount ?? 0,
                GiftCardReceived = giftCertificateSignature != null ? giftCertificateSignature.GiftCardReceived : (bool?)null,
                PatientSignatureUrl = patientGiftCardSignatureUrl,
                TechnicianSignatureUrl = technicianGiftCardSignatureUrl
            });
        }