using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using ReportWeb.Models; using SuperAdmin; using SuperAdmin.Controllers; using SuperAdmin.Source; using SuperCms.Extensions; using System; using System.Collections.Generic; namespace ReportWeb.Controllers { public class ScenarioController : BaseController { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program)); DbConnector db = new DbConnector(); String sdf = "dd/MM/yyyy HH:mm"; String df = "dd/MM/yyyy"; public ScenarioController(IConfiguration _configuration, IWebHostEnvironment hostEnvironment) : base(_configuration, hostEnvironment) { // init } public IActionResult Index() { return View(); } public ActionResult ScenarioPlay() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { ViewBag.username = "Welcome!"; return Redirect(subDomain + "/Home/Login"); } if (user.role != Common.UserRole.Admin) { return Redirect(subDomain + "/Home/Login"); } return View(); } [HttpPost] public ActionResult SearchScenario() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } List list = db.LoadListScenario(); return PartialView("_ListMsisdn", list); //return Json(new //{ // error = "0", // list = list //}); } [HttpPost] public ActionResult AddUpdateScenario(ScenarioPlayObj scenario, int isUpdate) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } try { if (isUpdate > 0) { db.UpdateScenarioPlay(scenario); } else { db.InsertScenarioPlay(scenario); } // Returns message that successfully uploaded return Json(new { error = "0", scenarioId = scenario.id }); } catch (Exception ex) { return Json(new { error = "2", content = "Error occurred. Error details: " + ex.Message }); } } [HttpPost] public ActionResult UpdateScenarioStatus() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } try { String status = Request.Form["status"]; int id = int.Parse(Request.Form["id"]); db.UpdateScenarioStatus(id, status); return Json(new { error = "0", content = "Success" }); } catch (Exception ex) { return Json(new { error = "2", content = "Error occurred. Error details: " + ex.Message }); } } [HttpPost] public JsonResult GetScenarioById(String id) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } ScenarioPlayObj scenario = db.GetScenarioById(int.Parse(id))[0]; return Json(new { error = "0", scenario = scenario }); } // LIST MSISDN public IActionResult ListMsisdn() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { ViewBag.username = "Welcome!"; return Redirect(subDomain + "/Home/Login"); } if (user.role != Common.UserRole.Admin) { return Redirect(subDomain + "/Home/Login"); } return View(); } [HttpPost] public JsonResult SearchListMsisdn() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } List list = db.LoadListMsisdn(); return Json(new { error = "0", list = list }); } [HttpPost] public IActionResult AddUpdateMsisdn(PhoneInfo obj, int isUpdate) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } try { if (isUpdate > 0) { db.UpdateListMsisdn(obj); } else { db.InsertListMsisdn(obj); } // Returns message that successfully uploaded return Json(new { error = "0" }); } catch (Exception ex) { return Json(new { error = "2", content = "Error occurred. Error details: " + ex.Message }); } } [HttpPost] public IActionResult UpdateMsisdnStatus() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } try { String status = Request.Form["status"]; long id = long.Parse(Request.Form["id"]); db.UpdateListMsisdnStatus(id, status); return Json(new { error = "0", content = "Success" }); } catch (Exception ex) { return Json(new { error = "2", content = "Error occurred. Error details: " + ex.Message }); } } [HttpPost] public JsonResult GetListMsisdnById(String id) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } PhoneInfo data = db.GetListMsisdnById(id)[0]; return Json(new { error = "0", data = data }); } // CONFIGURATION public IActionResult Configure() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { ViewBag.username = "Welcome!"; return Redirect(subDomain + "/Home/Login"); } if (user.role != Common.UserRole.Admin) { return Redirect(subDomain + "/Home/Login"); } return View(); } [HttpPost] public IActionResult SearchConfigure() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } List list = db.LoadListToolConfig(); return PartialView("_Configure", list); //return Json(new //{ // error = "0", // list = list //}); } [HttpPost] public IActionResult AddUpdateConfigure(ToolConfig obj, int isUpdate) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } try { bool result = false; if (isUpdate > 0) { result = db.UpdateToolConfig(obj); } // Returns message that successfully uploaded if (result) { return Json(new { error = "0" }); } else { return Json(new { error = "2", content = "DB Error" }); } } catch (Exception ex) { return Json(new { error = "2", content = "Error occurred. Error details: " + ex.Message }); } } [HttpPost] public JsonResult GetConfigureById(String id) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return Json(new { error = "10", content = "Timeout" }); } if (user.role != Common.UserRole.Admin) { return Json(new { error = "10", content = "Timeout" }); } ToolConfig data = db.GetToolConfigById(int.Parse(id))[0]; return Json(new { error = "0", data = data }); } public IActionResult ReportDay() { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { return View("Login"); } else { return View(); } } [HttpPost] public IActionResult GetReportDay(String fromDate, String toDate) { Users user = HttpContext.Session.GetComplexData("user"); if (user == null || (user.role <= 0)) { ViewBag.username = "Welcome!"; return Json(new { error = "10", content = "Timeout" }); } DateTime startTime = DateTime.ParseExact(fromDate, df, null); DateTime endTime = DateTime.ParseExact(toDate, df, null); List res = db.GetScenarioReportDay(startTime, endTime); return PartialView("_ReportDay", res); } } }