Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
        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);
            }
        }