public static void FixShoppingMallCarparkRates(ParkingContext context)
        {
            FetchPublicAPI publicAPI = new FetchPublicAPI();

            var task = Task.Run(async() => await publicAPI.GetShoppingMallAsync());

            var result = task.Result;

            var x = "";

            foreach (var v in result)
            {
                var h = context.Carparks.FirstOrDefault(a => a.CarparkName == v.carpark);

                if (h != null)
                {
                    x += $"Weekdays Rate: {v.weekdays_rate_1}, {v.weekdays_rate_2}, Saturday Rate: {v.saturday_rate}, Sunday / Public Holiday Rate: {v.sunday_publicholiday_rate}";

                    CarparkRate carparkRate = new CarparkRate
                    {
                        Id = Guid.NewGuid(),
                        // CarparkId = h.Id,
                        Remarks = x
                    };

                    context.CarparkRates.Add(carparkRate);
                }

                x = "";
            }

            context.SaveChanges();
        }
        public static void FixURACarparkRatesData(ParkingContext context)
        {
            FetchPublicAPI publicAPI = new FetchPublicAPI();

            var task2 = Task.Run(async() => await publicAPI.GetURAParkingInfoAsync());

            var result = task2.Result;

            foreach (var r in result)
            {
                var h = context.Carparks.FirstOrDefault(a => a.CarparkId == r.ppCode);

                if (h != null)
                {
                    // if there isn't an id filled out (ie: we're not upserting),
                    // we should generate one

                    CarparkRate carparkRate = new CarparkRate
                    {
                        Id = Guid.NewGuid(),
                        // CarparkId = h.Id,
                        StartTime   = r.startTime,
                        EndTime     = r.endTime,
                        Remarks     = r.remarks,
                        SatdayMin   = r.satdayMin,
                        SunPHMin    = r.sunPHMin,
                        VehicleType = r.vehCat,
                        WeekdayMin  = r.weekdayMin,
                        WeekdayRate = r.weekdayRate,
                        SatdayRate  = r.satdayRate,
                        SunPHRate   = r.sunPHRate
                    };

                    context.CarparkRates.Add(carparkRate);
                }
            }

            context.SaveChanges();
        }
        public static void FixHDBCarparkRates(ParkingContext context)
        {
            var weekDayMin  = "";
            var weekDayRate = "";
            var satDayMin   = "";
            var satDayRate  = "";
            var sunPHMin    = "";
            var sunPHRate   = "";
            var startTime   = "";
            var endTime     = "";
            var vehType     = "";
            var phStartTime = "";
            var phEndTime   = "";
            var phRate      = "";
            var phDays      = "";
            var phMin       = "";

            foreach (var carpark in context.Carparks)
            {
                if (carpark.AgencyType == "HDB")
                {
                    if (carpark.IsCentral && carpark.LotType.Contains("C"))
                    {
                        weekDayMin  = "30 mins";
                        weekDayRate = "$1.20";
                        satDayMin   = "30 mins";
                        satDayRate  = "$1.20";
                        sunPHMin    = "30 mins";
                        sunPHRate   = "$0.60";
                        startTime   = "07.30 AM";
                        endTime     = "05.00 PM";
                        vehType     = "Car";
                    }

                    if (!carpark.IsCentral && carpark.LotType.Contains("C"))
                    {
                        weekDayMin  = "30 mins";
                        weekDayRate = "$0.60";
                        satDayMin   = "30 mins";
                        satDayRate  = "$0.60";
                        sunPHMin    = "30 mins";
                        sunPHRate   = "$0.60";
                        startTime   = "12.00 AM";
                        endTime     = "11.59 PM";
                        vehType     = "Car";
                    }

                    if (carpark.LotType.Contains("M"))
                    {
                        weekDayMin  = "WHOLE DAY";
                        weekDayRate = "$0.65";
                        satDayMin   = "WHOLE DAY";
                        satDayRate  = "$0.65";
                        sunPHMin    = "WHOLE DAY";
                        sunPHRate   = "$0.65";
                        startTime   = "07.00 AM";
                        endTime     = "10.30 PM";
                        vehType     = "Motorcycle";
                    }

                    if (carpark.LotType.Contains("H"))
                    {
                        weekDayMin  = "30 mins";
                        weekDayRate = "$1.20";
                        satDayMin   = "30 mins";
                        satDayRate  = "$1.20";
                        sunPHMin    = "30 mins";
                        sunPHRate   = "$1.20";
                        startTime   = "12.00 AM";
                        endTime     = "11.59 PM";
                        vehType     = "Heavy Vehicle";
                    }

                    if (carpark.CarparkId.Equals("ACB"))
                    {
                        phStartTime = "10.00 AM";
                        phEndTime   = "10.30 PM";
                        phRate      = "$1.40";
                        phDays      = "ALL DAYS";
                    }

                    if (carpark.CarparkId.Equals("B6") ||
                        carpark.CarparkId.Equals("B6M") ||
                        carpark.CarparkId.Equals("B7"))
                    {
                        phStartTime = "10.00 AM";
                        phEndTime   = "08.00 PM";
                        phRate      = "$0.80";
                        phDays      = "ALL DAYS";
                        phMin       = "30 mins";
                    }

                    if (carpark.CarparkId.Equals("KB10") ||
                        carpark.CarparkId.Equals("KB11") ||
                        carpark.CarparkId.Equals("KB12"))
                    {
                        phStartTime = "07.00 AM";
                        phEndTime   = "02.00 PM";
                        phRate      = "$0.80";
                        phDays      = "MON - SAT";
                        phMin       = "30 mins";
                    }

                    if (carpark.CarparkId.Equals("BBB"))
                    {
                        phStartTime = "10.00 AM";
                        phEndTime   = "10.30 PM";
                        phRate      = "$1.40";
                        phDays      = "ALL DAYS";
                        phMin       = "30 mins";
                    }

                    if (carpark.CarparkId.Equals("CY"))
                    {
                        phStartTime = "10.00 AM";
                        phEndTime   = "10.30 PM";
                        phRate      = "$0.80";
                        phDays      = "ALL DAYS";
                        phMin       = "30 mins";
                    }

                    if (carpark.CarparkId.Equals("GSM"))
                    {
                        phStartTime = "07.00 AM";
                        phEndTime   = "10.30 PM";
                        phRate      = "$0.80";
                        phDays      = "FRI - SUN && Public Holidays";
                        phMin       = "30 mins";
                    }

                    if (carpark.CarparkId.Equals("CR1"))
                    {
                        phStartTime = "10.00 AM";
                        phEndTime   = "10.30 PM";
                        phRate      = "$0.80";
                        phDays      = "ALL DAYS";
                        phMin       = "30 mins";
                    }

                    var carparkRate = new CarparkRate()
                    {
                        Id = Guid.NewGuid(),
                        // CarparkId = carpark.Id,
                        StartTime   = startTime,
                        EndTime     = endTime,
                        SatdayMin   = satDayMin,
                        SatdayRate  = satDayRate,
                        SunPHMin    = sunPHMin,
                        SunPHRate   = sunPHRate,
                        VehicleType = vehType,
                        WeekdayMin  = weekDayMin,
                        WeekdayRate = weekDayRate,
                        //PHDays = phDays,
                        //PHEndTime = phEndTime,
                        //PHRate = phRate,
                        //PHStartTime = phStartTime
                    };

                    context.CarparkRates.Add(carparkRate);

                    weekDayMin  = "";
                    weekDayRate = "";
                    satDayMin   = "";
                    satDayRate  = "";
                    sunPHMin    = "";
                    sunPHRate   = "";
                    startTime   = "";
                    endTime     = "";
                    vehType     = "";
                    phStartTime = "";
                    phEndTime   = "";
                    phRate      = "";
                    phDays      = "";
                    phMin       = "";
                }
            }

            context.SaveChanges();
        }