public ActionResult DeleteConfirmed(int id, int?ids, int?idsc, int?idc)
 {
     ViewBag.UserType = adtype();
     if (adtype() == "Admin")
     {
         ViewBag.idc = idc;
         ViewBag.ids = ids;
         SCTime sctime = db.SCTimes.Find(id);
         db.SCTimes.Remove(sctime);
         db.SaveChanges();
         return(RedirectToAction("Index", new { idsc = idsc, ids = ids, idc = idc }));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
 }
        // GET: /SCTime/Details/5
        public ActionResult Details(int?id)
        {
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SCTime sctime = db.SCTimes.Find(id);

            if (sctime == null)
            {
                return(HttpNotFound());
            }
            return(View(sctime));
        }
 public ActionResult Edit([Bind(Include = "SectionId,DayOfWeek,TimeOfDay,Id")] SCTime sctime, int?ids, int?idsc, int?idc)
 {
     ViewBag.UserType = adtype();
     if (adtype() == "Admin")
     {
         ViewBag.idc = idc;
         ViewBag.ids = ids;
         if (ModelState.IsValid)
         {
             db.Entry(sctime).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index", new { idsc = idsc, ids = ids, idc = idc }));
         }
         ViewBag.idsc      = idsc;
         ViewBag.DayOfWeek = new SelectList(db.Lookups.Where(l => l.Category == "WORKINGDAYS"), "Id", "Values", sctime.DayOfWeek);
         ViewBag.SectionId = new SelectList(db.SectionCourses, "Id", "SectionId", sctime.SectionId);
         return(View(sctime));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
 }
        // GET: /SCTime/Delete/5
        public ActionResult Delete(int?id, int?ids, int?idsc, int?idc)
        {
            ViewBag.UserType = adtype();
            if (adtype() == "Admin")
            {
                ViewBag.idc = idc;
                ViewBag.ids = ids;
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                SCTime sctime = db.SCTimes.Find(id);
                if (sctime == null)
                {
                    return(HttpNotFound());
                }

                ViewBag.idsc = idsc;
                return(View(sctime));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
 // GET: /SCTime/Edit/5
 public ActionResult Edit(int?id, int?ids, int?idsc, int?idc)
 {
     ViewBag.UserType = adtype();
     if (adtype() == "Admin")
     {
         ViewBag.idc = idc;
         ViewBag.ids = ids;
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         SCTime sctime = db.SCTimes.Find(id);
         if (sctime == null)
         {
             return(HttpNotFound());
         }
         ViewBag.idsc      = idsc;
         ViewBag.DayOfWeek = new SelectList(db.Lookups.Where(l => l.Category == "WORKINGDAYS"), "Id", "Values", sctime.DayOfWeek);
         ViewBag.SectionId = new SelectList(db.SectionCourses, "Id", "SectionId", sctime.SectionId);
         return(View(sctime));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
 }
예제 #6
0
        public static void SolarPositionCalculate(SCTime udtTime, SCLocation udtLocation, ref SCSunCoordinates udtSunCoordinates)
        {
            // Main variables
            double dElapsedJulianDays;
            double dDecimalHours;
            double dEclipticLongitude;
            double dEclipticObliquity;
            double dRightAscension;
            double dDeclination;

            // Auxiliary variables
            double dY;
            double dX;

            // Calculate difference in days between the current Julian Day
            // and JD 2451545.0, which is noon 1 January 2000 Universal Time
            {
                double dJulianDate;
                long   liAux1;
                long   liAux2;
                // Calculate time of the day in UT decimal hours
                dDecimalHours = udtTime.dHours + (udtTime.dMinutes + udtTime.dSeconds / 60.0) / 60.0;
                // Calculate current Julian Day
                liAux1      = (udtTime.iMonth - 14) / 12;
                liAux2      = (1461 * (udtTime.iYear + 4800 + liAux1)) / 4 + (367 * (udtTime.iMonth - 2 - 12 * liAux1)) / 12 - (3 * ((udtTime.iYear + 4900 + liAux1) / 100)) / 4 + udtTime.iDay - 32075;
                dJulianDate = (double)(liAux2) - 0.5 + dDecimalHours / 24.0;
                // Calculate difference between current Julian Day and JD 2451545.0
                dElapsedJulianDays = dJulianDate - 2451545.0;
            }

            // Calculate ecliptic coordinates (ecliptic longitude and obliquity of the
            // ecliptic in radians but without limiting the angle to be less than 2*Pi
            // (i.e., the result may be greater than 2*Pi)
            {
                double dMeanLongitude;
                double dMeanAnomaly;
                double dOmega;
                dOmega             = 2.1429 - 0.0010394594 * dElapsedJulianDays;
                dMeanLongitude     = 4.8950630 + 0.017202791698 * dElapsedJulianDays; // Radians
                dMeanAnomaly       = 6.2400600 + 0.0172019699 * dElapsedJulianDays;
                dEclipticLongitude = dMeanLongitude + 0.03341607 * Math.Sin(dMeanAnomaly) + 0.00034894 * Math.Sin(2 * dMeanAnomaly) - 0.0001134 - 0.0000203 * Math.Sin(dOmega);
                dEclipticObliquity = 0.4090928 - 6.2140e-9 * dElapsedJulianDays + 0.0000396 * Math.Cos(dOmega);
            }

            // Calculate celestial coordinates ( right ascension and declination ) in radians
            // but without limiting the angle to be less than 2*Pi (i.e., the result may be
            // greater than 2*Pi)
            {
                double dSin_EclipticLongitude;
                dSin_EclipticLongitude = Math.Sin(dEclipticLongitude);
                dY = Math.Cos(dEclipticObliquity) * dSin_EclipticLongitude;
                dX = Math.Cos(dEclipticLongitude);
                dRightAscension = Math.Atan2(dY, dX);
                if (dRightAscension < 0.0)
                {
                    dRightAscension = dRightAscension + twopi;
                }
                dDeclination = Math.Asin(Math.Sin(dEclipticObliquity) * dSin_EclipticLongitude);
            }

            // Calculate local coordinates ( azimuth and zenith angle ) in degrees
            {
                double dGreenwichMeanSiderealTime;
                double dLocalMeanSiderealTime;
                double dLatitudeInRadians;
                double dHourAngle;
                double dCos_Latitude;
                double dSin_Latitude;
                double dCos_HourAngle;
                double dParallax;
                dGreenwichMeanSiderealTime = 6.6974243242 + 0.0657098283 * dElapsedJulianDays + dDecimalHours;
                dLocalMeanSiderealTime     = (dGreenwichMeanSiderealTime * 15 + udtLocation.dLongitude) * rad;
                dHourAngle                     = dLocalMeanSiderealTime - dRightAscension;
                dLatitudeInRadians             = udtLocation.dLatitude * rad;
                dCos_Latitude                  = Math.Cos(dLatitudeInRadians);
                dSin_Latitude                  = Math.Sin(dLatitudeInRadians);
                dCos_HourAngle                 = Math.Cos(dHourAngle);
                udtSunCoordinates.dZenithAngle = (Math.Acos(dCos_Latitude * dCos_HourAngle * Math.Cos(dDeclination) + Math.Sin(dDeclination) * dSin_Latitude));
                dY = -Math.Sin(dHourAngle);
                dX = Math.Tan(dDeclination) * dCos_Latitude - dSin_Latitude * dCos_HourAngle;
                udtSunCoordinates.dAzimuth = Math.Atan2(dY, dX);
                if (udtSunCoordinates.dAzimuth < 0.0)
                {
                    udtSunCoordinates.dAzimuth = udtSunCoordinates.dAzimuth + twopi;
                }
                udtSunCoordinates.dAzimuth = udtSunCoordinates.dAzimuth / rad;
                // Parallax Correction
                dParallax = (dEarthMeanRadius / dAstronomicalUnit) * Math.Sin(udtSunCoordinates.dZenithAngle);
                udtSunCoordinates.dZenithAngle = (udtSunCoordinates.dZenithAngle + dParallax) / rad;
            }
        }