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); }
public ParticipationConsentSignatureModel GetParticipationConsentSignature(long eventCustomerId) { var participationConsentSignature = _participationConsentSignatureRepository.GetByEventCustomerId(eventCustomerId); if (participationConsentSignature == null) { return(new ParticipationConsentSignatureModel { EventCustomerId = eventCustomerId, InsuranceSignatureBytes = null, SignatureBytes = null, }); } var eventCustomer = _eventCustomerRepository.GetById(eventCustomerId); var signatureFile = _fileRepository.GetById(participationConsentSignature.SignatureFileId); var insuranceSignatureFile = _fileRepository.GetById(participationConsentSignature.InsuranceSignatureFileId); var signatureFileName = signatureFile.Path; var insuranceSignatureFileName = insuranceSignatureFile.Path; var mediaLocation = _mediaRepository.GetParticipationConsentSignatureLocation(eventCustomer.EventId, eventCustomer.CustomerId); var signatureFilePath = Path.Combine(mediaLocation.PhysicalPath, signatureFileName); var insuranceSignatureFilePath = Path.Combine(mediaLocation.PhysicalPath, insuranceSignatureFileName); var participationConsentSignatureModel = new ParticipationConsentSignatureModel { EventCustomerId = eventCustomerId }; if (File.Exists(signatureFilePath)) { var FileByte = File.ReadAllBytes(signatureFilePath); participationConsentSignatureModel.SignatureBytes = Convert.ToBase64String(FileByte); } if (File.Exists(insuranceSignatureFilePath)) { var FileByte = File.ReadAllBytes(insuranceSignatureFilePath); participationConsentSignatureModel.InsuranceSignatureBytes = Convert.ToBase64String(FileByte); } return(participationConsentSignatureModel); }
public MobileResponseModel Save([FromBody] ParticipationConsentSignatureModel model) { try { _logger.Info("Participation Consent (Save) EventCustomerId : " + model.EventCustomerId); var isSuccess = _participationConsentService.Save(model, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId); if (isSuccess) { return(new MobileResponseModel { IsSuccess = true, Message = "Matrix Consent saved successfully." }); } else { return(new MobileResponseModel { IsSuccess = false, Message = "Unable to save Matrix Consent." }); } } catch (Exception ex) { _logger.Error("Error while saving Matrix Consent."); _logger.Error("Message : " + ex.Message); _logger.Error("Stack Trace : " + ex.StackTrace); return(new MobileResponseModel { IsSuccess = false, Message = string.Format("Error while saving Matrix Consent. Message : {0}", ex.Message) }); } }