You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

117 lines
3.7 KiB

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);
}
}
}