using DocumentFormat.OpenXml.Drawing; using Infrastructure; using NetTopologySuite.Geometries; using NetTopologySuite; using OpenAuth.App.BaseApp.Base; using OpenAuth.App.Interface; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Yitter.IdGenerator; namespace OpenAuth.App.ServiceApp { public class ManageApp : SqlSugarBaseApp { public ManageApp(ISugarUnitOfWork unitWork, ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) { } /// /// 分页获取所有数据 /// /// /// /// /// public async Task>>> GetPageList(int pageIndex, int pageSize, string key) { int totalCount = 0; PageModel pageModel = new PageModel() { PageIndex = pageIndex, PageSize = pageSize, TotalCount = totalCount }; var list = await Repository.GetPageListAsync(it => it.Name.Contains(key), pageModel, it => it.UpdateTime, OrderByType.Desc); return new Response>> { Result = new PageInfo> { Items = list, Total = totalCount } }; } /// /// 获取无人机列表 /// /// /// /// /// public async Task>>> GetUavPageList(int page, int limit, string key) { RefAsync totalCount = 0; using (var db = UnitWork.CreateContext()) { var list = await db.LasaUav.AsQueryable() .WhereIF(!string.IsNullOrEmpty(key), a => a.Name.Contains(key)) .ToPageListAsync(page, limit, totalCount); return new Response>> { Result = new PageInfo> { Items = list, Total = totalCount } }; } } /// /// 获取任务列表 /// /// /// /// /// public async Task>>> GetTaskPageList(int page, int limit, string key) { RefAsync totalCount = 0; using (var db = UnitWork.CreateContext()) { var list = await db.LasaTask.AsQueryable() .WhereIF(!string.IsNullOrEmpty(key), a => a.TaskName.Contains(key)) .ToPageListAsync(page, limit, totalCount); return new Response>> { Result = new PageInfo> { Items = list, Total = totalCount } }; } } //添加任务 public async Task> AddTask(LasaTask task) { using (var db = UnitWork.CreateContext()) { task.Id = Guid.NewGuid().ToString(); task.CreateId = _auth.GetCurrentUser().User.Id; task.CreateTime = DateTime.Now; var flag = await db.LasaTask.InsertAsync(task); if(db.Commit()) return new Response { Result = true, Message = "添加成功" }; else return new Response { Result = false, Message = "添加失败" }; } } //编辑任务 public async Task> EditTask(LasaTask task) { using (var db = UnitWork.CreateContext()) { var flag = await db.LasaTask.UpdateAsync(task); if (db.Commit()) return new Response { Result = true, Message = "编辑成功" }; else return new Response { Result = false, Message = "编辑失败" }; } } //删除任务 public async Task> DeleteTask(string id) { using (var db = UnitWork.CreateContext()) { var flag = await db.LasaTask.DeleteAsync(it => it.Id == id); if (db.Commit()) return new Response { Result = true, Message = "删除成功" }; else return new Response { Result = false, Message = "删除失败" }; } } #region 航线管理 /// /// 获取航线列表 /// /// /// /// /// public async Task>>> GetAirLinePageList(int page, int limit, string key) { RefAsync totalCount = 0; using (var db = UnitWork.CreateContext()) { var list = await db.LasaAirLine.AsQueryable() .WhereIF(!string.IsNullOrEmpty(key), a => a.AirLineName.Contains(key)) .ToPageListAsync(page, limit, totalCount); return new Response>> { Result = new PageInfo> { Items = list, Total = totalCount } }; } } //添加航线 public async Task> AddAirLine(LasaAirLine lasaAirLine) { using (var db = UnitWork.CreateContext()) { lasaAirLine.Id = Guid.NewGuid().ToString(); lasaAirLine.CreateId = _auth.GetCurrentUser().User.Id; lasaAirLine.CreateTime = DateTime.Now; var flag = await db.LasaAirLine.InsertAsync(lasaAirLine); if (db.Commit()) return new Response { Result = true, Message = "添加成功" }; else return new Response { Result = false, Message = "添加失败" }; } } //编辑航线 public async Task> EditAirLine(LasaAirLine lasaAirLine) { using (var db = UnitWork.CreateContext()) { var flag = await db.LasaAirLine.UpdateAsync(lasaAirLine); if (db.Commit()) return new Response { Result = true, Message = "编辑成功" }; else return new Response { Result = false, Message = "编辑失败" }; } } //删除航线 public async Task> DeleteAirLine(string id) { using (var db = UnitWork.CreateContext()) { var flag = await db.LasaAirLine.DeleteAsync(it => it.Id == id); if (db.Commit()) return new Response { Result = true, Message = "删除成功" }; else return new Response { Result = false, Message = "删除失败" }; } } #endregion } }