public DetailViewModel CreateDetailViewModel(int shipId, string tripId, bool all) { var model = new DetailViewModel(); model.Ship = db.Ships.Find(shipId); model.Journeys = db.Journeys.Where(p => p.ShipId == shipId).ToList(); model.JourneySupervisions = db.JourneySuppervision.Where(p => p.ShipId == shipId && p.TripId == tripId).OrderByDescending(p => p.Id).ToList(); model.Notes = db.Notes.Where(p => p.ShipId == shipId && p.TripId == tripId).OrderByDescending(p => p.NoteId).ToList(); model.JourneyPlans = db.journeyPlans.Where(p => p.ShipId == shipId && p.TripId == tripId).OrderByDescending(p => p.JourneyPlanId).ToList(); model.SelectedTripId = tripId; model.Ports = db.Ports.OrderBy(p => p.PortName).ToList(); model.Tasks = db.Tasks.OrderBy(p => p.TaskName).ToList(); model.States = db.States.OrderBy(p => p.StateName).ToList(); model.Results = db.Results.Where(p => p.TripId == tripId && p.ShipId == shipId).ToList(); foreach (var item in model.JourneySupervisions) { model.CreatedDates.Add(item.CreatedDate); } model.Ports.RemoveAll(p => p == null); model.Tasks.RemoveAll(p => p == null); model.CreatedDates.RemoveAll(p => p == null); model.States.RemoveAll(p => p == null); if (!all) { model.JourneySupervisions = model.JourneySupervisions.OrderByDescending(p => p.CreatedDate).Take(10).ToList(); } return model; }
public List<JourneySupervision> GetJourneySupervisionById(DetailViewModel model, string tripId, string start, string stop) { DateTime startTime = string.IsNullOrEmpty(start) ? DateTime.MinValue : DateTime.ParseExact(start, "dd/MM/yyyy", null); DateTime stopTime = string.IsNullOrEmpty(stop) ? DateTime.Now : DateTime.ParseExact(stop, "dd/MM/yyyy", null); var result = new List<JourneySupervision>(); var temp = db.JourneySuppervision.Where(p => p.ShipId == model.Ship.ShipId && p.TripId == tripId && (model.SelectedStateId == null || p.StateId == model.SelectedStateId) && (model.SelectedTaskId == null || p.TaskId == model.SelectedTaskId) && (model.SelectedPortId == null || p.PortId == model.SelectedPortId) && (p.CreatedDate >= startTime && p.CreatedDate <= stopTime)).OrderByDescending(p => p.Id).ToList(); if (model.SelectedTime != null && temp != null) { foreach (var item in temp) { if (item.CreatedDate.Value.Date == model.SelectedTime.Value.Date) { result.Add(item); } } } else { result = temp; } return result; }
public JsonResult RouteDetailFilter(DetailViewModel model, string tripId, string starttime, string stoptime) { var result = repository.GetJourneySupervisionById(model, tripId, starttime, stoptime); var times = repository.GetNoteByTime(model.Ship.ShipId, tripId, starttime, stoptime); var plans = repository.GetJourneyPlanByTime(model.Ship.ShipId, tripId, starttime, stoptime); var b = new List<object>(); var ttime = new List<object>(); var tplan = new List<object>(); foreach (var item in result) { var a = new { TaskName = item.Task != null ? item.Task.TaskName : "", ArrangedWeight = item.ArrangedWeight, Date = item.CreatedDate.HasValue ? item.CreatedDate.Value.ToString("dd/MM/yyyy") : "", PortName = item.Port != null ? item.Port.PortName : "", Position = item.Position ?? "", RestWeight = item.RestWeight, CategoryName = item.CategoryName ?? "", StateName = item.State != null ? item.State.StateName : "", Time = item.CreatedDate.HasValue ? item.CreatedDate.Value.ToString("HH:mm") : "", id = item.Id, nationName = item.NationName, result = (item.StateId == ConstId.LoadingStateId || item.StateId == ConstId.LoadedStateId || item.StateId == ConstId.UnloadedStateId || item.StateId == ConstId.UnloadingStateId || item.StateId == ConstId.RefueledId) ? "Làm:" + item.ArrangedWeight + " <span>Còn:" + (item.RestWeight) + "<span>" : "" }; b.Add(a); } foreach (var item in times) { var a = new { createdDate = item.UpdateTime.HasValue ? item.UpdateTime.Value.ToString("dd/MM/yyyy") : "", note = item.NoteContent ?? "" }; if (a.createdDate != "" || a.note != "") { ttime.Add(a); } } foreach (var item in plans) { string updateResult = ""; string updateReson = ""; string journeytime = ""; var end = db.Results.FirstOrDefault(p => p.TripId == item.TripId && p.ShipId == item.ShipId && p.PlanId == item.PlanId); if (end != null) { updateResult = end.Remark; updateReson = end.Reson == null ? "" : end.Reson.ResonName; journeytime = end.JourneyDate.HasValue ? end.JourneyDate.Value.ToString("dd/MM/yyyy") : ""; } var a = new { planId = item.PlanId ?? "", portName = item.Port == null ? "" : item.Port.PortName, createdDate = item.PlanTime.HasValue ? item.PlanTime.Value.ToString("dd/MM/yyyy") : "", planName = item.Plan.PlanName, ssresult = updateResult, reson = updateReson, journeyTime = journeytime, id = item.JourneyPlanId }; if (a.createdDate != "" || a.planId != "" || a.portName != "") { tplan.Add(a); } } return Json(new { ar1 = b, ar2 = ttime, ar3 = tplan }); }