|  |  |  | 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<string> tags) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             List<MyTask> 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<RealPoint> points = new List<RealPoint>(); | 
					
						
							|  |  |  |             for (int i = 1; i < rows.Length; i++) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 RealPoint point = RealPoint.Parse(rows[i]); | 
					
						
							|  |  |  |                 if (point != null) | 
					
						
							|  |  |  |                     points.Add(point); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             return Json(points); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |