private void btnCancelChange_Click(object sender, EventArgs e) { VehicleWheelViewModel vwChanged = VehicleWheelList.Where(vw => vw.Id == this.SelectedVehicleWheel.Id).FirstOrDefault(); if (vwChanged != null) { SpecialSparepartDetailViewModel wheelDetail = lookUpChangedSerialNumber.GetSelectedDataRow() as SpecialSparepartDetailViewModel; if (wheelDetail != null) { _wheelDetailChanged.Remove(wheelDetail); vwChanged.ReplaceWithWheelDetailName = string.Empty; vwChanged.ReplaceWithWheelDetailId = 0; vwChanged.ReplaceWithWheelDetailSerialNumber = string.Empty; vwChanged.IsUsedWheelRetrieved = false; vwChanged.Price = 0; vwChanged.SparepartId = 0; ClearSelection(); } } gvVehicleWheel.RefreshData(); }
protected override void ExecuteSave() { if (!bgwSave.IsBusy) { bool validated = true; string errMessage = ""; FormHelpers.CurrentMainForm.UpdateStatusInformation("Memeriksa nomor seri yang kembar dalam daftar", false); List <string> duplicatedWheel = VehicleWheelList.Where(wh => !string.IsNullOrEmpty(wh.WheelDetail.SerialNumber)).GroupBy(x => x.WheelDetail.SerialNumber) .Where(group => group.Count() > 1) .Select(group => group.Key).ToList(); if (duplicatedWheel.Count > 0) { errMessage += "Terdapat ban yang sama! \n"; validated = false; } FormHelpers.CurrentMainForm.UpdateStatusInformation("Memeriksa kode kendaraan yang kembar pada database", false); if (!_presenter.IsCodeValidated()) { errMessage += "Kode sudah terdaftar! \n"; validated = false; } FormHelpers.CurrentMainForm.UpdateStatusInformation("Memeriksa nomor polisi yang kembar pada database", false); if (!_presenter.IsLicenseNumberValidated()) { errMessage += "Nopol sudah terdaftar! \n"; validated = false; } if (FieldsValidator.Validate() && valGroupName.Validate() && validated) { FormHelpers.CurrentMainForm.UpdateStatusInformation("Proses Penyimpanan dimulai", false); try { MethodBase.GetCurrentMethod().Info("Save Vehicle's changes"); this.Enabled = false; bgwSave.RunWorkerAsync(); } catch (Exception ex) { MethodBase.GetCurrentMethod().Fatal("An error occured while trying to save Vehicle", ex); this.ShowError("Proses simpan data Kendaraan gagal!"); } } else { this.ShowWarning(errMessage); } } else { this.Enabled = false; } }
private void btnChangeWheel_Click(object sender, EventArgs e) { SPKWheelChange editor = Bootstrapper.Resolve <SPKWheelChange>(); editor.SelectedSPK = this.SelectedSPK; editor.VehicleId = this.VehicleId; if (this.VehicleWheelList != null) { editor.VehicleWheelList = this.VehicleWheelList; } editor.ShowDialog(this); this.VehicleWheelList = editor.VehicleWheelList; foreach (VehicleWheelViewModel vw in VehicleWheelList.Where(w => w.ReplaceWithWheelDetailId > 0)) { if (!SPKSparepartList.Any(sp => sp.SparepartId == vw.SparepartId)) { this.SPKSparepartList.Add(new SPKDetailSparepartViewModel { Sparepart = new SparepartViewModel { Id = vw.SparepartId, Name = vw.ReplaceWithWheelDetailName, Code = vw.WheelDetail.Sparepart.Code }, SparepartId = vw.SparepartId, }); } //temp remove by Tegar SpecialSparepartDetailViewModel changedVwDetail = _presenter.GetSpecialSparepartDetail(vw.ReplaceWithWheelDetailId); if (changedVwDetail.PurchasingDetail != null) { if (!SPKSparepartDetailList.Any(spd => spd.PurchasingDetail != null && spd.PurchasingDetailId == changedVwDetail.PurchasingDetailId)) { this.SPKSparepartDetailList.Add(new SPKDetailSparepartDetailViewModel { PurchasingDetailId = changedVwDetail.PurchasingDetailId, PurchasingDetail = changedVwDetail.PurchasingDetail, SpecialSparepartDetailId = changedVwDetail.Id, SpecialSparepartDetail = changedVwDetail, SPKDetailSparepartId = changedVwDetail.SparepartId, Qty = 1 }); } else { SPKDetailSparepartDetailViewModel detail = SPKSparepartDetailList.Where(spd => spd.PurchasingDetail != null && spd.PurchasingDetailId == changedVwDetail.PurchasingDetailId).FirstOrDefault(); detail.Qty += 1; } } if (changedVwDetail.SparepartManualTransaction != null) { if (!SPKSparepartDetailList.Any(spd => spd.SparepartManualTransaction != null && spd.SparepartManualTransactionId == changedVwDetail.SparepartManualTransactionId)) { this.SPKSparepartDetailList.Add(new SPKDetailSparepartDetailViewModel { SparepartManualTransactionId = changedVwDetail.SparepartManualTransactionId, SparepartManualTransaction = changedVwDetail.SparepartManualTransaction, SpecialSparepartDetailId = changedVwDetail.Id, SpecialSparepartDetail = changedVwDetail, SPKDetailSparepartId = changedVwDetail.SparepartId, Qty = 1 }); } else { SPKDetailSparepartDetailViewModel detail = SPKSparepartDetailList.Where(spd => spd.SparepartManualTransaction != null && spd.SparepartManualTransactionId == changedVwDetail.SparepartManualTransactionId).FirstOrDefault(); detail.Qty += 1; } } SPKDetailSparepartViewModel spkSp = SPKSparepartList.Where(sp => sp.SparepartId == vw.SparepartId).FirstOrDefault(); if (spkSp != null) { spkSp.TotalQuantity++; spkSp.TotalPrice = spkSp.TotalPrice + vw.Price; } } RefreshSparepartGrid(); CalculateTotalSparepart(); }