public ActionResult RollcallList(string courseTime) { if (!User.Identity.IsAuthenticated) { return(RedirectToRoute(new { controller = "Login", action = "Index" })); } int t_id = PageValidate.FilterParam(User.Identity.Name); //从教师ID中查找可点名科目 DateTime minDt = DateTime.Now.AddMinutes(-10); var rc = (from c in db.Course_Infos join cvt in db.Course_vs_Times on c.course_id equals cvt.cvt_course_id join r in db.Sys_ClassRooms on cvt.cvt_room_id equals r.room_id into T1 from t1 in T1.DefaultIfEmpty() join s in db.Dic_Schools on t1.room_school_id equals s.school_id into T2 from t2 in T2.DefaultIfEmpty() where (c.c_teacher_id == t_id || c.c_assistant_id == t_id) && DbFunctions.DiffDays(DateTime.Now, cvt.cvt_time) == 0 && (cvt.cvt_time >= minDt || DbFunctions.AddMinutes(cvt.cvt_time, cvt.cvt_duration) > DateTime.Now) select new RollCallList { id = cvt.cvt_id, name = c.course_name, time = cvt.cvt_time } ); return(View(rc.ToList())); }
public void DbFunctionsTests_AddMinutes_DateTime_Test() { var result = this.GetOrderQuery().Select(x => (DateTime)DbFunctions.AddMinutes(this.TestDateTime, 1)).First(); Assert.AreEqual(YEAR, result.Year); Assert.AreEqual(MONTH, result.Month); Assert.AreEqual(DAY, result.Day); Assert.AreEqual(HOUR, result.Hour); Assert.AreEqual(MINUTE + 1, result.Minute); Assert.AreEqual(SECOND, result.Second); }
public HttpResponseMessage JobsList([FromBody] ApiHttpRequest <Dictionary <string, object> > request) { //var filtersString = HttpUtility.ParseQueryString(Request.RequestUri.Query)["filters"]; //var filters = !string.IsNullOrEmpty(filtersString) ? filtersString.Deserialize<Dictionary<string, object>>() : new Dictionary<string, object>(); var filters = request.data; var response = new ApiHttpResponse <HttpDataList <dynamic> >(); var username = Request.Username(); var _context = new QuartzExecutionDataContext(); try { var account = _context.Accounts .FirstOrDefault(x => x.Username == username); var jobs = (from ser in _context.Servers join job in _context.Jobs on ser.ServerID equals job.ServerID join accser in _context.AccountServers on ser.ServerID equals accser.ServerID join acc in _context.Accounts on accser.AccountID equals acc.AccountID where (acc.Username == username && account.Roles == RoleType.Client) || (account.Roles == RoleType.Admin || account.Roles == RoleType.Inspector) select new { JobID = job.JobID, Key = job.Key, Description = job.Description, Executing = job.Executing, ServerID = job.ServerID, StartedAt = job.StartedAt, IsExecutingCorrectly = DateTime.Now <= DbFunctions.AddMinutes(job.Calls.OrderByDescending(x => x.EndedAt).FirstOrDefault().NextStart, 1), LastCall = job.Calls.OrderByDescending(x => x.EndedAt).FirstOrDefault() }) .Distinct() .Filter(filters) .OrderByDescending(x => x.LastCall.StartedAt); //var jobList = jobs? // .OrderByDescending(x => x.LastCall.StartedAt); //jobList.ForEach(x => x.Calls.Take(1)); response.data.result = jobs.ToList <dynamic>(); response.Complete(ResultCode.OK, ""); } catch (Exception ex) { LogsAppendersManager.Instance.Error(this.GetType(), MethodBase.GetCurrentMethod(), ex.Message, ex); response.Fault(ex); } return(Request.CreateResponse(response.Code, response)); }
public IHttpActionResult Get() { var result = _trainingSessionService.TrainingSessionAsQueryable().Select(t => new TrainingSessionViewModel { Id = t.Id, SiteId = t.SiteId, TrainingId = t.TrainingId, EmployeeTrainerId = t.EmployeeTrainerId, Start = t.Start, End = DbFunctions.AddMinutes(t.Start, t.DurationInMinutes).Value, DurationInMinutes = t.DurationInMinutes, Delivered = t.Delivered, Title = t.EmployeeInTrainingPostion.Employee.Firstname + " " + t.EmployeeInTrainingPostion.Employee.Lastname }).ToList(); return(Ok(result)); }
public IEnumerable <AnalysisRequest> GetExpiringPeriodToSendDocuments() { var list = new List <AnalysisRequest>(); int homologationExpiringTime = Convert.ToInt32(ConfigurationManager.AppSettings["SAAD.Homologation.ExpiringTimeDocuments.Minutes"]); int monthlyExpiringTime = Convert.ToInt32(ConfigurationManager.AppSettings["SAAD.Monthly.ExpiringTimeDocuments.Minutes"]); list.AddRange(context.AnalysisRequest.Where(r => r.RequestStatus == AnalysisRequestStatus.WaitingForDocuments.Value && r.Type == AnalysisRequest.Homologation && DbFunctions.AddMinutes(r.CreateDate, homologationExpiringTime) < DateTime.Now)); list.AddRange(context.AnalysisRequest.Where(r => r.RequestStatus == AnalysisRequestStatus.WaitingForDocuments.Value && r.Type == AnalysisRequest.MonthlyAnalysis && DbFunctions.AddMinutes(r.CreateDate, monthlyExpiringTime) < DateTime.Now)); return(list); }