using System; using System.Web; using System.Text; using System.Web.Mvc; using System.Collections.Generic; using Newtonsoft.Json; using Pingchuan.BeijingSafeguard.BLL; using Pingchuan.BeijingSafeguard.Model; using Pingchuan.BeijingSafeguard.App.Controllers; using MyTask = Pingchuan.BeijingSafeguard.Model.Task; namespace BeijingSafeguard.Controllers { public class BeijingController : BaseController { public ActionResult Index() { return View(); } [HttpGet] public void GetMap(int type, int zoom, int x, int y) { GmapNetCache map = GmapNetCacheBLL.Get(type, zoom, x, y); if (map != null) { Response.StatusCode = 200; Response.AddHeader("Content-Type", "image/png"); Response.BinaryWrite(map.Tile); Response.End(); } else { Response.StatusCode = 404; Response.AddHeader("Content-Type", "text/plain"); Response.BinaryWrite(Encoding.UTF8.GetBytes("Tile not found.")); Response.End(); } } [HttpPost] public JsonResult AddTask(string taskId, string region, decimal longitude, decimal latitude, decimal height, decimal simulatedDuration, decimal simulatedInterval, DateTime releaseTime, int resultState, string resultMessage) { User user = GetLoginUser(); TaskBLL.Add(user.OrgId, user.Id, taskId, region, longitude, latitude, height, simulatedDuration, simulatedInterval, releaseTime, resultState, resultMessage); user.LastComputeTime = DateTime.Now; UserBLL.Update(user); return Json(true); } [HttpPost] public int AddTag(int userId, string taskId, string name) { return TagBLL.Add(userId, taskId, name); } [HttpPost] public void DeleteTag(int id) { TagBLL.Delete(id); } [HttpPost] public void DeleteTagsByName(string userId, string name) { TagBLL.DeleteByTagName(userId, name, "bj"); } [HttpPost] public JsonResult GetTaskTags(int userId, string taskId) { return Json(TagBLL.GetTags(userId, taskId)); } [HttpPost] public string GetUserTags(int userId) { JsonSerializerSettings setting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; return JsonConvert.SerializeObject(TagBLL.GetList(userId), Formatting.Indented, setting); } [HttpPost] public JsonResult GetTasks(int userId, DateTime startTime, DateTime endTime, List tags) { List tasks = TaskBLL.GetList(userId, "bj", startTime, endTime, tags); return Json(tasks); } [HttpPost] public void DeleteTask(string id) { TaskBLL.Delete(id); } [HttpPost] public JsonResult UploadFile() { HttpPostedFileBase file = Request.Files[0]; byte[] bytes = new byte[file.InputStream.Length]; file.InputStream.Read(bytes, 0, bytes.Length); string content = Encoding.UTF8.GetString(bytes); string[] rows = content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); List points = new List(); for (int i = 1; i < rows.Length; i++) { RealPoint point = RealPoint.Parse(rows[i]); if (point != null) points.Add(point); } return Json(points); } } }