public ActionResult PrdnShipDay(string dateId, bool shipDay)
        {
            DateTime calDay = PrdnCalendarDay.FormatDate(dateId).Date;
            ProductionCalendar cal = new ProductionCalendar();

            cal.PrdnDBContext = PrdnDBContext;

            if ((cal.MaxPrdnOrderWithRun != null) && (cal.MaxPrdnOrderWithRun.ShipDay.Date >= calDay))
            { throw new Exception("The date ID: " + dateId + " is not valid for update. Production activity exists after."); }

            if ((calDay < cal.FirstPrdnDate) || (calDay > cal.LastPrdnDate))
            { throw new Exception("The production calendar has not be defined for " + calDay.ToString("d") + "."); }

            cal.Year = calDay.Year;
            cal.Month = calDay.Month;

            cal.AdjustYearMonth();

            if ((cal.Year == calDay.Year) && (cal.Month == calDay.Month))
            {
                if (shipDay)
                { cal.SetShipDay(calDay); }
                else
                { cal.UnSetShipDay(calDay); }

                return RedirectToAction("Calendar", new { year = cal.Year.ToString(), month = cal.Month.ToString() });

                //return View();// ProdCalendar(cal);
            }
            else
            { throw new Exception("The date ID: " + dateId + " is not valid for update."); }
        }
        public ActionResult DefinePrdnCalendar(string year, string month)
        {
            ProductionCalendar cal = new ProductionCalendar();

            int yearInt = (year == null) ? 0 : Convert.ToInt32(year);
            int monthInt = (month == null) ? 0 : Convert.ToInt32(month);

            cal.PrdnDBContext = PrdnDBContext;
            DateTime undefined = cal.FirstUndefinedMonth;

            if ((undefined.Year == yearInt) && (undefined.Month == monthInt))
            {
                cal.Year = yearInt;
                cal.Month = monthInt;
                cal.MakeProductionMonthDays();
                return RedirectToAction("Calendar", new { year = year, month = month });
            }
            else { throw new Exception("Invalid month"); }
        }
示例#3
0
        public static ProductionCalendar MakeProductionCalendar(string year, string month, PrdnEntities prdnDBContext)
        {
            ProductionCalendar cal = new ProductionCalendar();

            int yearInt = (year == null) ? 0 : Convert.ToInt32(year);
            int monthInt = (month == null) ? 0 : Convert.ToInt32(month);

            cal.Year = yearInt;
            cal.Month = monthInt;

            cal.PrdnDBContext = prdnDBContext;

            if ((cal.MinPrdnYear == 0) || (cal.MinPrdnMonth == 0))
            {
                throw new Exception("Production Calendar is Empty.");
            }

            if (!cal.HasYearMonth())
            {
                DateTime today = DateTime.Today;
                cal.Year = today.Year;
                cal.Month = today.Month;
            }

            cal.DateAdjusted = false;
            cal.AdjustYearMonth();

            if ((cal.Year == yearInt) && (cal.Month == monthInt))
            {
                cal.MakeProductionMonth();
            }
            else
            {
                cal.DateAdjusted = true;
            }

            return cal;
        }