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

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

            var signatureLocation = _mediaRepository.GetParticipationConsentSignatureLocation(eventCustomer.EventId, eventCustomer.CustomerId);

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

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

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

                var signatureImageFile = SaveSignatureImage(model.SignatureBytes, orgRoleUserId, signatureLocation, fileName);

                participationConsentSignature.SignatureFileId   = signatureImageFile.Id;
                participationConsentSignature.ConsentSignedDate = DateTime.Now;
            }

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

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

                participationConsentSignature.InsuranceSignatureFileId   = technicianImageFile.Id;
                participationConsentSignature.InsuranceConsentSignedDate = DateTime.Now;
            }

            _participationConsentSignatureRepository.Save(participationConsentSignature);

            if (participationConsentSignature.SignatureFileId > 0 && participationConsentSignature.InsuranceSignatureFileId > 0)
            {
                eventCustomer.HIPAAStatus = RegulatoryState.Signed;
                eventCustomer.IsParticipationConsentSigned = true;

                _eventCustomerRepository.Save(eventCustomer);
            }
            else
            {
                eventCustomer.IsParticipationConsentSigned = false;
                _eventCustomerRepository.Save(eventCustomer);
            }

            return(true);
        }
Example #2
0
        public void Save(ParticipationConsentSignature domain)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var entity = Mapper.Map <ParticipationConsentSignature, ParticipationConsentSignatureEntity>(domain);

                DeactivateAll(domain.EventCustomerId);

                if (!adapter.SaveEntity(entity))
                {
                    throw new PersistenceFailureException("Unable to save gift card answer and signature.");
                }
            }
        }