public void Save(PhysicianRecordRequestSignature domain)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var entity = Mapper.Map <PhysicianRecordRequestSignature, PhysicianRecordRequestSignatureEntity>(domain);

                DeactivateAll(domain.EventCustomerId);

                if (!adapter.SaveEntity(entity))
                {
                    throw new PersistenceFailureException("Unable to save physician record request signature.");
                }
            }
        }
        public bool Save(PhysicianRecordRequestSignatureModel model, long orgRoleUserId)
        {
            var eventCustomer = _eventCustomerRepository.GetById(model.EventCustomerId);

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

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

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

            var physicianRecordRequestSignature = new PhysicianRecordRequestSignature
            {
                EventCustomerId = model.EventCustomerId,
                Version         = version,
                IsActive        = true,
                CreatedBy       = orgRoleUserId,
                DateCreated     = DateTime.Now
            };

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

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

                physicianRecordRequestSignature.SignatureFileId   = patientImageFile.Id;
                physicianRecordRequestSignature.ConsentSignedDate = DateTime.Now;
            }

            _physicianRecordRequestSignatureRepository.Save(physicianRecordRequestSignature);

            if (physicianRecordRequestSignature.SignatureFileId > 0)
            {
                eventCustomer.PcpConsentStatus = RegulatoryState.Signed;
                eventCustomer.IsPhysicianRecordRequestSigned = true;

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

            return(true);
        }