예제 #1
0
 public JsonResult SaveOrUpdate(LinesPlanApiModel model, string pass, bool doAppendPlan)
 {
     if (pass != HARDCODED_PASS)
     {
         return(MakeBadRequest(DEBS.Translate("Message.PasswordInvalid")));
     }
     using (var l = new tblLinesPlanLogic()) {
         if (doAppendPlan)
         {
             var tlp = l.GetFirstByLine(model.LineId) ??
                       new tblLinesPlan {
                 LineId = model.LineId
             };
             model.UpdateDBModelShallow(tlp);
             l.Save(tlp);
         }
         else
         {
             var tlp = l.GetFirstByLine(model.LineId);
             if (tlp != null)
             {
                 l.Remove(tlp);
             }
         }
     }
     return(MakeSuccesResult());
 }
예제 #2
0
 public JsonResult Edit(LinesPlanApiModel model)
 {
     using (var l = new tblLinesPlanLogic()) {
         var item = l.Get(model.Id);
         model.UpdateDBModelShallow(item);
         l.Save(item);
     }
     return(MakeSuccesResult(true));
     //return MakeBadRequest();
 }
예제 #3
0
 public JsonResult Get(bool _search, string nd, int rows, int page, string sidx, string sord, string filters = "")
 {
     using (var l = new tblLinesPlanLogic()) {
         var list = l.GetPaged(_search, rows, page, sidx, sord, filters)
                    .Select(x => new LinesPlanApiModel(x)
                            )
                    .ToList();
         return(MakeJqGridResult(
                    list, rows, l.tblLinesCount, page
                    ));
     }
     //return MakeJqGridResult
 }
        public bool PopulateLinesPlan()
        {
            var linesIds = new List <int>();
            var dateFrom = DateHelper.GetSunday(DateTime.Now); // DateTime.Now.AddDays(1).Date;
            var dateTo   = dateFrom.AddDays(7).Date;

            using (var logic = new LineLogic())
            {
                linesIds = logic.GetList().Select(x => x.Id).ToList();
            }
            var parameters = new ScheduleParamsModel
            {
                LinesIds   = string.Join(",", linesIds),
                DateFrom   = DateHelper.DateToString(dateFrom),
                DateTo     = DateHelper.DateToString(dateTo),
                ArriveTime = true,
                LeaveTime  = true,
                Sun        = true,
                Mon        = true,
                Tue        = true,
                Wed        = true,
                Thu        = true,
                Fri        = true,
                Sut        = true,
            };

            using (var logic = new tblLinesPlanLogic()) {
                // 0 Step - Remove all plans that has no line attached to it
                logic.DeleteAllUnbindedPlans();
                // 1 Step - Setting tblLines to LinesPlan state
                logic.SyncLinesToPlans();
            }
            // 2 Step - Generate new schedule sets by tblLines state
            var schedule = GenerateSchedule(parameters).ToList();

            // 3 Step - save new sets to tblSchedule
            return(SaveGeneratedShcedule(schedule, dateFrom, dateTo));
        }