public GateTruckLastCheckUpVieModel(TruckIncomming model) { Model = model; Items = new ObservableCollection <IncommingNote>(Model.Notes); ApproveCommand = new Command(ApproveAction); RejectCommand = new Command(RejectAction); }
public GateTruckLastCheckUp(TruckIncomming model) { InitializeComponent(); BindingContext = new GateTruckLastCheckUpVieModel(model); }
public async Task <TruckIncomming> Approve(int id, List <HasilPemeriksaan> hasil, bool status) { using (var transaction = await _context.Database.BeginTransactionAsync()){ try { if (hasil == null || hasil.Count <= 0) { throw new SystemException("Hasil Pemeriksaan Tidak Ditekuan..!"); } var itemPengajuan = _context.PengajuanItems.Where(x => x.Id == id) .Include(x => x.Truck).AsNoTracking().FirstOrDefault(); if (itemPengajuan == null) { throw new SystemException("Data Truck Not Found..!"); } var incomming = new TruckIncomming() { Truck = itemPengajuan.Truck, Notes = new List <IncommingNote>(), Created = DateTime.Now, Status = status }; _context.ChangeTracker.Clear(); _context.Attach(incomming); _context.Entry(incomming.Truck).State = EntityState.Unchanged; foreach (var item in hasil) { if (!item.Hasil) { incomming.Notes.Add(new IncommingNote { Note = $"Tindak Lanjut : {item.TindakLanjut} \n\r Keterangan : {item.Keterangan}", CompensationDeadline = item.CompensationDeadline }); } } _context.TruckIncommings.Add(incomming); var intResult = await _context.SaveChangesAsync(); if (intResult <= 0) { throw new SystemException("Data Pemeriksaaan Tidak Berhasil Dibuat, Coba Ulangi Lagi !"); } await transaction.CommitAsync(); return(incomming); } catch (System.Exception ex) { await transaction.RollbackAsync(); throw new SystemException(ex.Message); } } }