Example #1
0
        public bool Save(GiftCertificateSignatureModel model, long orgRoleUserId)
        {
            var evenntCustomer = _eventCustomerRepository.GetById(model.EventCustomerId);

            if (evenntCustomer == null)
            {
                return(false);
            }

            var signatureLocation = _mediaRepository.GetGiftCardSignatureLocation(evenntCustomer.EventId,
                                                                                  evenntCustomer.CustomerId);

            var version = _eventCustomerGiftCardRepository.GetLatestVersion(model.EventCustomerId);

            var giftCardSignature = new EventCustomerGiftCard()
            {
                EventCustomerId  = model.EventCustomerId,
                GiftCardReceived = model.GiftCardReceived,
                Version          = version,
                IsActive         = true,
                CreatedBy        = orgRoleUserId,
                DateCreated      = DateTime.Now
            };

            if (!string.IsNullOrWhiteSpace(model.PatientSignatureBytes))
            {
                var fileName = "PatientSignature_GiftCard_" + Guid.NewGuid() + ".jpg";

                var patientImageFile = SaveSignatureImage(model.PatientSignatureBytes, orgRoleUserId, signatureLocation, fileName);

                giftCardSignature.PatientSignatureFileId = patientImageFile.Id;
            }

            if (!string.IsNullOrWhiteSpace(model.TechnicianSignatureBytes))
            {
                var fileName = "TechnicianSignature_GiftCard_" + Guid.NewGuid() + ".jpg";

                var technicianImageFile = SaveSignatureImage(model.TechnicianSignatureBytes, orgRoleUserId, signatureLocation, fileName);

                giftCardSignature.TechnicianSignatureFileId = technicianImageFile.Id;
            }

            _eventCustomerGiftCardRepository.Save(giftCardSignature);

            if (model.GiftCardReceived)
            {
                evenntCustomer.IsGiftCertificateDelivered = true;
                evenntCustomer.GiftCode = model.GiftCardNumber;
                _eventCustomerRepository.Save(evenntCustomer);
            }
            else
            {
                if (model.GcNotGivenReasonId != null && model.GcNotGivenReasonId > 0)
                {
                    evenntCustomer.GcNotGivenReasonId         = model.GcNotGivenReasonId;
                    evenntCustomer.IsGiftCertificateDelivered = false;
                    _eventCustomerRepository.Save(evenntCustomer);
                }
            }

            return(true);
        }