コード例 #1
0
        private async Task <User> GetUser(UserDraft userDraft)
        {
            var existingUser = await _userDataService.FirstOrDefault(u => u.Email == userDraft.Email);

            if (!(existingUser is null))
            {
                return(existingUser);
            }

            var user = new User
            {
                FirstName = userDraft.FirstName,
                LastName  = userDraft.LastName,
                Email     = userDraft.Email,
            };

            return(await _userDataService.Create(user));
        }
コード例 #2
0
        private string FillAndSavePdf(UserDraft userDraft, InstructionDraft instructionDraft, string instructionPath)
        {
            try
            {
                using var reader = new PdfReader(_templateFilePath);
                using var writer = new PdfWriter(instructionPath);
                using var pdf    = new PdfDocument(reader, writer);

                var form = PdfAcroForm.GetAcroForm(pdf, true);
                var doc  = new Document(pdf);

                form.SetGenerateAppearance(true);

                form.GetField("deviceName").SetValue(instructionDraft.Device.Name);
                form.GetField("deviceChief").SetValue(instructionDraft.Device.Chief?.FullName ?? string.Empty);
                form.GetField("onlyFor").SetValue(instructionDraft.OnlyFor ?? string.Empty);
                form.GetField("notFor").SetValue(instructionDraft.ExceptFor ?? string.Empty);
                form.GetField("instructor").SetValue(instructionDraft.Instructor.FullName);
                form.GetField("instructed").SetValue(userDraft.FullName);
                form.GetField("instructionDate").SetValue(DateTime.Today.ToString("d", CultureInfo.CurrentCulture));

                //var signatureImage = PositionImage(form, "instructorSignature", instructionDraft.Instructor.Signature);
                //var instructedImage = PositionImage(form, "instructedSignature", userDraft.Signature);

                //doc.Add(signatureImage);
                //doc.Add(instructedImage);
                form.RemoveField("instructorSignature");
                form.RemoveField("instructedSignature");
                doc.Close();
                pdf.Close();
            }
            catch (Exception e)
            {
                _logger.Error(e, "Instruction pdf could not be filled or saved.");
                if (File.Exists(instructionPath))
                {
                    File.Delete(instructionPath);
                }
                return(null);
            }

            return(instructionPath);
        }
コード例 #3
0
 public SignatureBundle(UserDraft userDraft, SignatureCause cause)
 {
     UserDraft = userDraft;
     Cause     = cause;
 }