Example #1
0
        public async Task <IActionResult> Generate_V1_0(Guid id)
        {
            // var certifications = await _certificatesBaseRepository.GetAllAsync();
            // var certification = certifications.SingleOrDefault(x => x.Id == Guid.Parse(id.ToString()));
            var certification = new O2CCertificate()
            {
                Serial     = "А",
                Number     = "A0086061820",
                Firstname  = "Анна",
                Lastname   = "Янушкевич",
                Middlename = "Леонидовна",
                DateOfCert = new DateTime(2020, 02, 28).ConvertToUnixTime()
            };

            var content = " Центр Гипноза Антона Маркова" +
                          " https://antonmarkov.com/obuchenie/baza-sertifikatov-pfr/" +
                          " Сертификат " + certification.Serial + certification.Number +
                          "; Дата сертификации: " + certification.DateOfCert.Value.ConvertToDateTime();


            var image = Image.FromFile("Files/pft_template_cert.png");
            var cert  = new Bitmap(image);

            var qrGenerator = new QRCodeGenerator();
            var qrCodeData  = qrGenerator.CreateQrCode(
                " Центр Гипноза Антона Маркова" + " https://antonmarkov.com/obuchenie/baza-sertifikatov-pfr/" +
                " Сертификат " + certification.Serial + certification.Number +
                "; Дата сертификации: " + certification.DateOfCert.Value.ConvertToDateTime(),
                QRCodeGenerator.ECCLevel.Q);
            var qrCode = new QRCode(qrCodeData);

            var qrCodeImage = qrCode.GetGraphic(5);


            var bitmapClear = new Bitmap(cert.Width, cert.Height);

            using (var graphics = Graphics.FromImage(bitmapClear))
            {
                graphics.DrawImage(cert, 0, 0, cert.Width, cert.Height);

                var fio = certification.Lastname + " " + certification.Firstname +
                          " " + (string.IsNullOrEmpty(certification.Middlename)
                              ? ""
                              : "\n" + certification.Middlename); //certification.FIO.Replace(" ", "\r\n");
                var fullNumber = certification.Serial + certification.Number;
                ImageHelper.AddedText(fio, cert, graphics, "Arial", 95, Brushes.Black, 1550,
                                      StringAlignment.Center, StringAlignment.Center);

                //added serial_number
                ImageHelper.AddedText(fullNumber, cert, graphics, "Arial", 45, Brushes.Red, 2727,
                                      StringAlignment.Center, StringAlignment.Near);

                graphics.DrawImage(qrCodeImage, 1070, 2901, qrCodeImage.Width, qrCodeImage.Height);
                graphics.Save();
            }

            var bitmapBytes = ImageHelper.BitmapToBytes(bitmapClear); //Convert bitmap into a byte array

            return(File(bitmapBytes, "image/jpeg"));
        }
Example #2
0
        private O2CCertificate MappingCertificate(O2CCertificateForCreateDto o2CCertificationForCreateDto)
        {
            var list         = new List <O2CCertificateLocation>();
            var locationList = _mapper.Map <List <O2CLocation> >(o2CCertificationForCreateDto.Locations);
            var photos       = _mapper.Map <List <O2CPhoto> >(o2CCertificationForCreateDto.Photos);

            var contacts = _mapper.Map <List <O2CContact> >(o2CCertificationForCreateDto.Contacts);

            list.AddRange(locationList
                          .Select(item => new O2CCertificateLocation()
            {
                O2CLocation = item
            }));

            var createCertificate = new O2CCertificate()
            {
                Id = o2CCertificationForCreateDto.Id,

                Serial      = o2CCertificationForCreateDto.Serial,
                ShortNumber = o2CCertificationForCreateDto.ShortNumber,
                Number      = o2CCertificationForCreateDto.Number,

                Firstname  = o2CCertificationForCreateDto.Firstname,
                Lastname   = o2CCertificationForCreateDto.Lastname,
                Middlename = o2CCertificationForCreateDto.Middlename,

                Education  = o2CCertificationForCreateDto.Education,
                Visible    = o2CCertificationForCreateDto.Visible,
                Lock       = o2CCertificationForCreateDto.Lock,
                DateOfCert = o2CCertificationForCreateDto.DateOfCert,

                Locations = list,
                Photos    = photos,
                Contacts  = contacts
            };

            return(createCertificate);
        }