using AngularCRUD.Models;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Mvc;
namespace AngularCRUD.Controllers
{
public class PlayerController : Controller
{
private CrudDbContext db = null;
public PlayerController()
{
db = new CrudDbContext();
}
// GET: Player
public JsonResult GetPlayers()
{
List<Player> listPlayers = db.player.ToList();
return Json(new { list = listPlayers }, JsonRequestBehavior.AllowGet);
}
public JsonResult GetPlayerById(int playerId)
{
try
{
var player = db.player.FirstOrDefault(x => x.PlayerId == playerId);
return Json(new { player = player }, JsonRequestBehavior.AllowGet);
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// Add player
/// </summary>
/// <param name="player"></param>
/// <returns></returns>
public JsonResult AddPlayer(Player player)
{
db.player.Add(player);
db.SaveChanges();
return Json(new { stauts = "Player added successfully " });
}
/// <summary>
/// update player
/// </summary>
/// <param name="player"></param>
/// <returns></returns>
public JsonResult UpdatePlayer(Player player)
{
db.Entry(player).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
return Json(new { status = "Player updated successfullly" });
}
/// <summary>
/// delete player
/// </summary>
/// <param name="playerId"></param>
/// <returns></returns>
public JsonResult DeletePlayer(int playerId)
{
Player player = db.player.FirstOrDefault(p => p.PlayerId == playerId);
db.player.Remove(player);
db.SaveChanges();
return Json(new { status = "Player deleted sucessfully" });
}
public ActionResult getPdf()
{
//var memory = new MemoryStream(); // This will hold the pdf you want to send in the response
// Document document = new Document(PageSize.A4, 50, 50, 80, 50);
// PdfWriter pdf = PdfWriter.GetInstance(document, memory);
// document.Open();
// document.NewPage();
// document.Add(new Chunk("China"));
// document.Add(Chunk.NEWLINE);
// Font font = new Font(Font.FontFamily.COURIER, 12, Font.BOLD, BaseColor.WHITE);
// Chunk content = new Chunk(" BeiJing", font);
// content.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
// content.SetUnderline(1F, -1F); ;
// document.Add(content);
// document.NewPage();
// document.Add(new Chunk("China"));
// document.Add(Chunk.NEWLINE);
// Chunk content2 = new Chunk(" Shanghai", font);
// content2.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
// content2.SetUnderline(1F, -1F); ;
// document.Add(content2);
// document.NewPage();
// document.Add(new Chunk("China"));
// document.Add(Chunk.NEWLINE);
// Chunk content3 = new Chunk(" Shandong", font);
// content3.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
// content3.SetUnderline(1F, -1F); ;
// document.Add(content3);
// document.Close();
// //Response.Clear();
// //Response.AddHeader("Content-Disposition", "attachment:filename=h.pdf");
// //Response.ContentType = "application/octet-stream";
// //Response.OutputStream.Write(memory.GetBuffer(), 0, memory.GetBuffer().Length);
// //Response.OutputStream.Flush();
// //Response.OutputStream.Close();
// //Response.Flush();
// //Response.Close();
var result = pdf();
return result;
}
private ActionResult pdf()
{
var memory = new MemoryStream(); // This will hold the pdf you want to send in the response
Document document = new Document(PageSize.A4, 50, 50, 80, 50);
PdfWriter pdf = PdfWriter.GetInstance(document, memory);
document.Open();
document.NewPage();
document.Add(new Chunk("China"));
document.Add(Chunk.NEWLINE);
Font font = new Font(Font.FontFamily.COURIER, 12, Font.BOLD, BaseColor.WHITE);
Chunk content = new Chunk(" BeiJing", font);
content.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
content.SetUnderline(1F, -1F); ;
document.Add(content);
document.NewPage();
document.Add(new Chunk("China"));
document.Add(Chunk.NEWLINE);
Chunk content2 = new Chunk(" Shanghai", font);
content2.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
content2.SetUnderline(1F, -1F); ;
document.Add(content2);
document.NewPage();
document.Add(new Chunk("China"));
document.Add(Chunk.NEWLINE);
Chunk content3 = new Chunk(" Shandong", font);
content3.SetBackground(BaseColor.BLACK, 1F, 1F, 1F, 1F);
content3.SetUnderline(1F, -1F); ;
document.Add(content3);
document.Close();
//Response.Clear();
//Response.AddHeader("Content-Disposition", "attachment:filename=h.pdf");
//Response.ContentType = "application/octet-stream";
//Response.OutputStream.Write(memory.GetBuffer(), 0, memory.GetBuffer().Length);
//Response.OutputStream.Flush();
//Response.OutputStream.Close();
//Response.Flush();
//Response.Close();
return File(memory.ToArray(), "application/pdf");
}
}
}