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

                DeactivateAll(domain.EventCustomerId);

                if (!adapter.SaveEntity(entity))
                {
                    throw new PersistenceFailureException("Unable to save Chaperone Signature.");
                }
            }
        }
Esempio n. 2
0
        public bool SaveAnswers(ChaperoneFormModel model, long orgRoleUserId)
        {
            var evenntCustomer = _eventCustomerRepository.GetById(model.EventCustomerId);

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

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

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

            var answers = new List <ChaperoneAnswerModel>();

            if (!model.CustomerAnswers.IsNullOrEmpty())
            {
                answers.AddRange(model.CustomerAnswers);
            }

            if (!answers.IsNullOrEmpty())
            {
                var chaperoneAnswers = new List <ChaperoneAnswer>();

                var answerVersion = _chaperoneAnswerRepository.GetLatestVersion(model.EventCustomerId);

                foreach (var answer in answers)
                {
                    var chaperoneAnswer = new ChaperoneAnswer
                    {
                        EventCustomerId = model.EventCustomerId,
                        QuestionId      = answer.QuestionId,
                        Answer          = answer.Answer,
                        Version         = answerVersion + 1,
                        IsActive        = true,
                        DateCreated     = DateTime.Now,
                        CreatedBy       = orgRoleUserId
                    };

                    chaperoneAnswers.Add(chaperoneAnswer);
                }

                _chaperoneAnswerRepository.SaveAnswer(chaperoneAnswers);
            }

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

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

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

                chaperoneSignature.SignatureFileId = patientImageFile.Id;
            }



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

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

                chaperoneSignature.StaffSignatureFileId = patientImageFile.Id;
            }


            _chaperoneSignatureRepository.Save(chaperoneSignature);

            return(true);
        }