示例#1
0
    /// <summary>
    /// 临时计划
    /// </summary>

    private void GetData1()
    {
        var          planid = Request.Form["id"];
        FlightPlanVM model  = new FlightPlanVM();
        var          data   = bll.Get(Guid.Parse(planid));

        if (data != null)
        {
            model.FillObject(data);
            var filemasterList = bll.GetFileFlightPlanMasterList(u => u.FlightPlanID.Equals(planid)).Select(u => u.MasterID);
            var masterList     = rpbll.GetFileMasterList(u => filemasterList.Contains(u.ID));
            var airlinelist    = masterList.Where(u => u.WorkType.Equals("airline"));
            if (airlinelist != null && airlinelist.Any())
            {
                foreach (var item in airlinelist)
                {
                    var airlinevm = new AirlineVM();
                    airlinevm.FlyHeight = item.FlyHeight;
                    var detailList = rpbll.GetFileDetailList(o => o.MasterID == item.ID);
                    airlinevm.pointList.AddRange(detailList.Select(u => new PointVM()
                    {
                        Name    = u.PointName,
                        LatLong = (!string.IsNullOrEmpty(u.Latitude) && !string.IsNullOrEmpty(u.Longitude)) ? string.Concat("N", SpecialFunctions.ConvertDigitalToDegrees(u.Latitude), "E", SpecialFunctions.ConvertDigitalToDegrees(u.Longitude)) : ""
                    }));
                    if (airlinevm.pointList.Count > model.airLineMaxCol)
                    {
                        model.airLineMaxCol = airlinevm.pointList.Count;
                    }
                    model.airlineList.Add(airlinevm);
                    model.airlineworkList.Add(item.ID);
                }
                ;
            }
            var worklist = masterList.Where(u => u.WorkType.Equals("circle") || u.WorkType.Equals("airlinelr") || u.WorkType.Equals("area"));
            if (worklist != null && worklist.Any())
            {
                foreach (var item in worklist)
                {
                    var workvm = new WorkVM();
                    workvm.FlyHeight = item.FlyHeight;
                    workvm.Raidus    = (item.RaidusMile ?? 0).ToString();
                    var detailList = rpbll.GetFileDetailList(o => o.MasterID == item.ID);
                    workvm.pointList.AddRange(detailList.Select(u => new PointVM()
                    {
                        Name    = u.PointName,
                        LatLong = (!string.IsNullOrEmpty(u.Latitude) && !string.IsNullOrEmpty(u.Longitude)) ? string.Concat("N", SpecialFunctions.ConvertDigitalToDegrees(u.Latitude), "E", SpecialFunctions.ConvertDigitalToDegrees(u.Longitude)) : ""
                    }));

                    switch (item.WorkType.ToLower())
                    {
                    case "circle":
                        model.cworkList.Add(workvm);
                        model.airlineworkList.Add(item.ID);
                        break;

                    case "airlinelr":
                        if (workvm.pointList.Count > model.hworkMaxCol)
                        {
                            model.hworkMaxCol = workvm.pointList.Count;
                        }
                        model.hworkList.Add(workvm);
                        model.airlineworkList.Add(item.ID);
                        break;

                    case "area":
                        if (workvm.pointList.Count > model.pworkMaxCol)
                        {
                            model.pworkMaxCol = workvm.pointList.Count;
                        }
                        model.pworkList.Add(workvm);
                        model.airlineworkList.Add(item.ID);
                        break;

                    default:
                        break;
                    }
                }
                ;
            }
        }
        Response.Write(JsonConvert.SerializeObject(model));
        Response.ContentType = "application/json";
        Response.End();
    }