public void save(HistoryJalanTruck dbitem) { if (dbitem.Id == 0) //create { context.HistoryJalanTruck.Add(dbitem); } else //edit { context.HistoryJalanTruck.Attach(dbitem); var entry = context.Entry(dbitem); entry.State = EntityState.Modified; } context.SaveChanges(); }
public void FindAllTruck(List <Models.MonitoringAll> ListModel) { List <MonitoringVehicle> ListMonitoringVehicle = context.MonitoringVehicle.Where(d => (d.LatNew != null && d.LatNew != "") && (d.LongNew != null && d.LongNew != "")).ToList(); List <SalesOrder> listSO = context.SalesOrder.ToList(); List <Workshop> listService = context.Workshop.ToList(); foreach (var item in ListMonitoringVehicle) { Models.MonitoringAll model = new Models.MonitoringAll(item); model.Status = "Available"; //liat so if (listSO != null) { //selain kontrak if (listSO.Any(d => (d.Status == "draft planning") && ((d.SalesOrderOncallId.HasValue ? d.SalesOrderOncall.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderPickupId.HasValue ? d.SalesOrderPickup.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? d.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo == item.VehicleNo : false)))) { model.StatusFlow = "Planning"; model.Status = "Ready"; } else if (listSO.Any(d => (d.Status == "save planning" || d.Status == "draft konfirmasi") && ((d.SalesOrderOncallId.HasValue ? d.SalesOrderOncall.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderPickupId.HasValue ? d.SalesOrderPickup.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? d.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo == item.VehicleNo : false)))) { model.StatusFlow = "Konfirmasi"; model.Status = "Ready"; } else if (listSO.Any(d => (d.Status == "save konfirmasi" || d.Status == "admin uang jalan") && ((d.SalesOrderOncallId.HasValue ? d.SalesOrderOncall.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderPickupId.HasValue ? d.SalesOrderPickup.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? d.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo == item.VehicleNo : false)))) { model.StatusFlow = "Admin uang jalan"; model.Status = "Ready"; } else if (listSO.Any(d => (d.Status == "dispatched") && ((d.SalesOrderOncallId.HasValue ? d.SalesOrderOncall.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderPickupId.HasValue ? d.SalesOrderPickup.DataTruck.VehicleNo == item.VehicleNo : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? d.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo == item.VehicleNo : false)))) { model.StatusFlow = "Dispatched"; model.Status = "On Duty"; } foreach (var itemKontrak in listSO.Where(d => d.SalesOrderKontrakId.HasValue)) { if (itemKontrak.SalesOrderKontrak.SalesOrderKontrakListSo.Count > 0) { foreach (var itemKontrakListSo in itemKontrak.SalesOrderKontrak.SalesOrderKontrakListSo) { if (itemKontrakListSo.IdDataTruck.HasValue) { if (itemKontrakListSo.Status == "draft planning" && itemKontrakListSo.DataTruck.VehicleNo == item.VehicleNo) { model.StatusFlow = "Planning"; model.Status = "Ready"; } if (itemKontrakListSo.Status == "admin uang jalan" && itemKontrakListSo.DataTruck.VehicleNo == item.VehicleNo) { model.StatusFlow = "Konfirmasi"; model.Status = "Ready"; } if (itemKontrakListSo.Status == "dispatched" && itemKontrakListSo.DataTruck.VehicleNo == item.VehicleNo) { model.StatusFlow = "Dispatched"; model.Status = "On Duty"; } } } } } } // liat service if (listService != null) { foreach (var itemService in listService) { if (itemService.Truk.VehicleNo == item.VehicleNo) { model.StatusFlow = itemService.Status; model.Status = "Service"; } } } //last so HistoryJalanTruck LastSo = context.HistoryJalanTruck.Where(d => d.DataTruck.VehicleNo == model.Vehicle).OrderByDescending(d => d.TanggalMuat).FirstOrDefault(); if (LastSo != null) { model.LastSo = LastSo.NoSo; } ListModel.Add(model); } }