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")); }
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); }