예제 #1
0
 public static FinalData Instance()
 {
     if (data == null)
     {
         data = new FinalData(pathURL);
     }
     return data;
 }
        public static IEnumerable <FinalData> CalculateDistortion(IEnumerable <VibrationData> data)
        {
            var sortedList = data.OrderBy(d => d.TimeStamp);
            var resultList = new List <FinalData>();

            foreach (var element in sortedList)
            {
                var result = new FinalData {
                    Latitude = element.LocationLatitude, Longitude = element.LocationLongitude, Speed = element.Speed
                };
                if (Math.Abs(element.Y) > 1)
                {
                    result.SurfaceDistortionRatio = 1;
                }
                resultList.Add(result);
            }

            for (var i = 0; i < sortedList.Count(); i++)
            {
                if (resultList[i].SurfaceDistortionRatio >= 0.9)
                {
                    if (i > 0)
                    {
                        resultList[i - 1].SurfaceDistortionRatio += 0.1;
                    }

                    if (i < sortedList.Count() - 1)
                    {
                        resultList[i + 1].SurfaceDistortionRatio += 0.1;
                    }

                    resultList[i].SurfaceDistortionRatio -= 0.1;
                }
            }

            return(resultList);
        }
        public JsonResult GetScheduledRoomByDepartmentId(int departmentId)
        {
            List <ViewClassSchedule> viewClassSchedules = _viewClassScheduleManager.GetClassSchedules(departmentId);
            List <ViewClassSchedule> tempData           = new List <ViewClassSchedule>();

            tempData = viewClassSchedules.DistinctBy(x => x.CourseCode).ToList();
            List <FinalData> finalData = new List <FinalData>();
            string           info = "", courseName = "", courseCode = "";

            foreach (var data in tempData)
            {
                var tData = from a in viewClassSchedules
                            where a.CourseCode.Contains(data.CourseCode)
                            select a;
                int t = 1;

                foreach (var fData in tData)
                {
                    if (fData.Assign == "assigned")
                    {
                        int m = tData.Count();
                        courseCode = fData.CourseCode;
                        courseName = fData.CourseName;
                        if (t != tData.Count())
                        {
                            info = info + "R.no: " + fData.RoomNo + ", " + fData.Day + "," + fData.FromHour + ":" +
                                   fData.FromMin + fData.FromFormat + "-"
                                   + fData.ToHour + ":" + fData.ToMin + fData.ToFormat + ";" + "<br />";
                        }
                        else
                        {
                            info = info + "R.no: " + fData.RoomNo + ", " + fData.Day + "," + fData.FromHour + ":" +
                                   fData.FromMin + fData.FromFormat + "-"
                                   + fData.ToHour + ":" + fData.ToMin + fData.ToFormat;
                        }
                    }
                    else if (fData.Day == null && (fData.Assign == "unassigned" || fData.Assign == null))
                    {
                        courseCode = fData.CourseCode;
                        courseName = fData.CourseName;
                        info       = null;
                    }
                    else
                    {
                        courseCode = fData.CourseCode;
                        courseName = fData.CourseName;
                    }
                    t++;
                }
                FinalData final = new FinalData()
                {
                    CourseCode = courseCode,
                    CourseName = courseName,
                    Info       = info
                };
                finalData.Add(final);
                info = "";
            }


            return(Json(finalData));
        }
예제 #4
0
파일: FPG.cs 프로젝트: Sunber2111/KPDL-API
        public void GroupData()
        {
            DataTraining dt        = new DataTraining();
            int          count     = 0;
            var          normalHis = new Dictionary <int, int>();
            var          ds        = new List <int>();

            foreach (var i in Transactions)
            {
                if (FinalData.TryGetValue(i.Id, out dt) == true)
                {
                    FinalData[i.Id].ListProduct.Add(i.IdProduct);
                }
                else
                {
                    ds = new List <int>
                    {
                        i.IdProduct
                    };
                    dt = new DataTraining
                    {
                        Id          = i.Id,
                        ListProduct = ds
                    };
                    FinalData.Add(i.Id, dt);
                }

                if (normalHis.TryGetValue(i.IdProduct, out count) == true)
                {
                    normalHis[i.IdProduct] = count + 1;

                    if (count + 1 >= MinCount)
                    {
                        Histogram[i.IdProduct] = count + 1;
                    }
                }
                else
                {
                    normalHis.Add(i.IdProduct, 1);
                }
            }

            Histogram = Histogram.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value);

            ds = new List <int>();

            foreach (var data in FinalData)
            {
                ds = new List <int>();
                foreach (var masp in data.Value.ListProduct)
                {
                    if (Histogram.TryGetValue(masp, out count) == true)
                    {
                        ds.Add(masp);
                    }
                }
                if (ds.Count == 0)
                {
                    FinalData.Remove(data.Key);
                }
                else
                {
                    ds = ds.OrderByDescending(o => Histogram[o]).ToList();

                    FinalData[data.Key].ListProduct = ds;
                }
            }
        }