using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using FYP.Models;
using System;
using System.Collections.Generic;
using System.Data;
namespace FYP.Controllers
{
public class PerformanceController : Controller
{
[AllowAnonymous]
public IActionResult About()
{
return View();
}
[Authorize(Roles = "manager, member")]
public IActionResult Index()
{
DataTable dt = DBUtl.GetTable("SELECT * FROM Performance");
return View("Index", dt.Rows);
}
[Authorize(Roles = "manager")]
public IActionResult Create()
{
return View();
}
[Authorize(Roles = "manager")]
[HttpPost]
public IActionResult Create(Performance perform)
{
if (!ModelState.IsValid)
{
ViewData["Message"] = "Invalid Input";
ViewData["MsgType"] = "warning";
return View("Create");
}
else
{
string insert =
@"INSERT INTO Performance(Day, Description, CloseDT) VALUES
('{0}', '{1}', '{2:yyyy-MM-dd HH:mm}')";
int res = DBUtl.ExecSQL(insert, perform.Day, perform.Description, perform.CloseDT);
if (res == 1)
{
TempData["Message"] = "Date Created";
TempData["MsgType"] = "success";
}
else
{
TempData["Message"] = DBUtl.DB_Message;
TempData["MsgType"] = "danger";
}
return RedirectToAction("Index");
}
}
[Authorize(Roles = "manager")]
[HttpGet]
public IActionResult Update(int id)
{
string select = "SELECT * FROM Performance WHERE Did={0}";
List
list = DBUtl.GetList(select, id); if (list.Count == 1)
{
return View(list[0]);
}
else
{
TempData["Message"] = "Performance record does not exist";
TempData["MsgType"] = "warning";
return RedirectToAction("Index");
}
}
[Authorize(Roles = "manager")]
[HttpPost]
public IActionResult Update(Performance perform)
{
if (!ModelState.IsValid)
{
ViewData["Message"] = "Invalid Input";
ViewData["MsgType"] = "warning";
return View("Index");
}
else
{
string update = @"UPDATE Performance SET Day='{1}', Description='{2}', CloseDT='{3: yyyy-MM-dd HH:mm}' WHERE Did={0}";
int res = DBUtl.ExecSQL(update, perform.Did, perform.Day, perform.Description, perform.CloseDT);
if (res == 1)
{
TempData["Message"] = "Date Updated";
TempData["MsgType"] = "success";
}
else
{
TempData["Message"] = DBUtl.DB_Message;
TempData["MsgType"] = "danger";
}
return RedirectToAction("Index");
}
}
[Authorize(Roles = "manager")]
public IActionResult Delete(int id)
{
string select = @"SELECT * FROM Performance WHERE Did={0}";
DataTable ds = DBUtl.GetTable(select, id);
if (ds.Rows.Count != 1)
{
TempData["Message"] = "Performance does not exist";
TempData["MsgType"] = "warning";
}
else
{
string delete = "DELETE FROM Performance WHERE Did={0}";
int res = DBUtl.ExecSQL(delete, id);
if (res == 1)
{
TempData["Message"] = "Performance Deleted";
TempData["MsgType"] = "success";
}
else
{
TempData["Message"] = DBUtl.DB_Message;
TempData["MsgType"] = "danger";
}
}
return RedirectToAction("Index");
}
Ramachandran MPosted Jan 22, 2020, 12:03 PM