Exemplo n.º 1
0
        public async Task <ActionResult> DeleteCitizen(ViewModels.EditCitizen updateCitizen)
        {
            if (updateCitizen != null)
            {
                var currentUser = await db.Users.Where(x => x.UserName == User.Identity.Name)
                                  .SingleOrDefaultAsync();

                if (currentUser != null)
                {
                    var Citizen = new Models.Citizens
                    {
                        IsBanned = true,
                    };
                    try
                    {
                        db.Entry(Citizen).State = EntityState.Modified;
                        var result = await db.SaveChangesAsync();

                        if (result > 0)
                        {
                            return(RedirectToAction("Citizen", "VillageHead"));
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace.TraceError(ex.Message);
                        Trace.TraceError(ex.StackTrace);
                    }
                }
            }
            return(View("Error"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> EditCitizen(ViewModels.AddCitizen updateCitizen)
        {
            if (updateCitizen != null)
            {
                var currentUser = await db.Users.Where(x => x.UserName == User.Identity.Name)
                                  .SingleOrDefaultAsync();

                if (currentUser != null)
                {
                    var RT = await db.RT.FindAsync(updateCitizen.RT);

                    var RW = await db.RW.FindAsync(updateCitizen.RW);

                    var job = await db.Jobs.FindAsync(updateCitizen.Job);

                    var editCitizen = new Models.Citizens
                    {
                        NIK                = updateCitizen.NIK,
                        FullName           = updateCitizen.FullName,
                        RegistrationStatus = updateCitizen.RegistrationStatus,
                        IsBanned           = true,
                        Avatar             = updateCitizen.Avatar,
                        Address            = updateCitizen.Address,
                        RT            = RT,
                        RW            = RW,
                        DOB           = updateCitizen.DOB,
                        Institution   = updateCitizen.Institution,
                        PhoneNumber   = updateCitizen.PhoneNumber,
                        MaritalStatus = updateCitizen.MaritalStatus,
                        Religion      = updateCitizen.Religion,
                        Citizenship   = updateCitizen.Citizenship,
                        Descriptions  = updateCitizen.Descriptions,
                        Job           = job,
                        Gender        = updateCitizen.Gender,
                        Departement   = updateCitizen.Roles,
                        UpdatedBy     = currentUser,
                        Updated       = DateTime.UtcNow
                    };
                    try
                    {
                        db.Entry(editCitizen).State = EntityState.Modified;
                        var result = await db.SaveChangesAsync();

                        if (result > 0)
                        {
                            return(RedirectToAction("Citizen", "VillageHead"));
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace.TraceError(ex.Message);
                        Trace.TraceError(ex.StackTrace);
                    }
                }
            }
            return(View("Error"));
        }
Exemplo n.º 3
0
        public void PrintCertificate(string name, string qrUrl, Models.FileDocuments certificate, Models.Citizens trackParticipant)
        {
            PdfReader reader   = new PdfReader(new RandomAccessFileOrArray(certificate.File), null);
            Rectangle size     = reader.GetPageSizeWithRotation(1);
            Document  document = new Document(size);

            using (MemoryStream ms = new MemoryStream())
                using (PdfWriter writer = PdfWriter.GetInstance(document, ms))
                {
                    try
                    {
                        document.Open();
                        PdfContentByte cb  = writer.DirectContentUnder;
                        BaseFont       bfb = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, false);
                        BaseFont       bfr = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false);

                        //Open the document

                        PdfImportedPage page = writer.GetImportedPage(reader, 1);
                        cb.AddTemplate(page, 0, 0);

                        cb.SetCharacterSpacing(0.5f);

                        //cb.SetRGBColorFill(230, 20, 30);
                        cb.SetRGBColorFill(0, 0, 0);
                        cb.BeginText();
                        cb.SetFontAndSize(bfb, Convert.ToSingle(certificate.FontSize));
                        var x = (size.Width + Convert.ToSingle(certificate.NameXPosition)) / 2;
                        var y = (size.Height + Convert.ToSingle(certificate.NameYPosition)) / 2;
                        cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, trackParticipant.FullName, x, y, 0);
                        cb.EndText();

                        //Peserta
                        //cb.SetRGBColorFill(0, 0, 0);
                        //cb.BeginText();
                        //cb.SetFontAndSize(bfb, Convert.ToSingle(26));
                        //x = (size.Width + Convert.ToSingle(certificate.NameXPosition)) / 2;
                        //y = (size.Height + Convert.ToSingle(certificate.NameYPosition - 135)) / 2;
                        //cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "PESERTA", x, y, 0);
                        //cb.EndText();

                        //Judul Acara
                        //cb.SetRGBColorFill(64, 64, 64);
                        //cb.BeginText();
                        //cb.SetFontAndSize(bfr, Convert.ToSingle(25));
                        //x = (size.Width + Convert.ToSingle(certificate.NameXPosition)) / 2;
                        //y = (size.Height + Convert.ToSingle(certificate.NameYPosition - 260)) / 2;
                        //cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, trackParticipant.Track.Title, x, y, 0);
                        //cb.EndText();

                        //Waktu Acara
                        //cb.SetRGBColorFill(80, 80, 80);
                        //cb.BeginText();
                        //cb.SetFontAndSize(bfr, Convert.ToSingle(16));
                        //x = (size.Width + Convert.ToSingle(certificate.NameXPosition)) / 2;
                        //y = (size.Height + Convert.ToSingle(certificate.NameYPosition - 320)) / 2;
                        //cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, trackParticipant.Track.Start.ToString("dddd dd MMMM yyyy", CultureInfo.CreateSpecificCulture("id-ID")) + " di "+ trackParticipant.Track.Location.Name, x, y, 0);
                        //cb.EndText();

                        //background
                        cb.SetColorStroke(new CMYKColor(1f, 0f, 0f, 0f));
                        cb.SetColorFill(new CMYKColor(0f, 0f, 0f, 0f));
                        x = Convert.ToSingle(certificate.QRXPosition);
                        y = Convert.ToSingle(certificate.QRYPosition);
                        var qrSize = 80;
                        cb.MoveTo(x, y);
                        cb.LineTo(x + qrSize, y);
                        cb.LineTo(x + qrSize, y + qrSize);
                        cb.LineTo(x, y + qrSize);
                        cb.Fill();

                        BarcodeQRCode qrCode = new BarcodeQRCode(qrUrl, 1000, 1000, null);
                        Image         image  = qrCode.GetImage();
                        image.SetAbsolutePosition(x, y);
                        image.ScaleAbsolute(qrSize, qrSize);
                        document.Add(image);

                        document.Close();
                        writer.Close();
                        ms.Close();
                        var fileName = "Dokumen SI-Dital - " + qrUrl.ToUpper();
                        HttpContext.Response.ContentType = "pdf/application";
                        HttpContext.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".pdf");
                        HttpContext.Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Trace.TraceError(ex.Message);
                    }
                }
        }