public void DeleteVehicle(VehicleViewModel vehicle, int userId) { DateTime serverTime = DateTime.Now; vehicle.ModifyDate = serverTime; vehicle.ModifyUserId = userId; vehicle.Status = (int)DbConstant.DefaultDataStatus.Deleted; Vehicle entity = _vehicleRepository.GetById(vehicle.Id); Map(vehicle, entity); _vehicleRepository.Update(entity); _unitOfWork.SaveChanges(); }
public void UpdateVehicleDetail(VehicleDetailViewModel vehicleDetail, VehicleViewModel vehicle, int userId) { DateTime serverTime = DateTime.Now; //set current active detail to expired if any VehicleDetail toBeExpired = _vehicleDetailRepository.GetMany(vd => vd.Status == (int)DbConstant.LicenseNumberStatus.Active).FirstOrDefault(); if (toBeExpired != null) { toBeExpired.ModifyDate = serverTime; toBeExpired.ModifyUserId = userId; toBeExpired.Status = (int)DbConstant.LicenseNumberStatus.Expired; _vehicleDetailRepository.AttachNavigation<Vehicle>(toBeExpired.Vehicle); _vehicleDetailRepository.Update(toBeExpired); _unitOfWork.SaveChanges(); } //insert new detail as active detail vehicleDetail.CreateDate = serverTime; vehicleDetail.CreateUserId = userId; vehicleDetail.ModifyUserId = userId; vehicleDetail.VehicleId = vehicle.Id; vehicleDetail.Status = (int)DbConstant.LicenseNumberStatus.Active; VehicleDetail entityDetail = new VehicleDetail(); Map(vehicleDetail, entityDetail); _vehicleDetailRepository.AttachNavigation<Vehicle>(entityDetail.Vehicle); _vehicleDetailRepository.Add(entityDetail); _unitOfWork.SaveChanges(); //update active license number in vehicle if (vehicle != null) { vehicle.ModifyDate = serverTime; vehicle.ModifyUserId = userId; vehicle.ActiveLicenseNumber = vehicleDetail.LicenseNumber; Vehicle entity = _vehicleRepository.GetById(vehicle.Id); Map(vehicle, entity); _vehicleRepository.AttachNavigation<Customer>(entity.Customer); _vehicleRepository.Update(entity); _unitOfWork.SaveChanges(); } _unitOfWork.SaveChanges(); }
public void DeleteVehicle(VehicleViewModel vehicle, int userId) { DateTime serverTime = DateTime.Now; vehicle.ModifyDate = serverTime; vehicle.ModifyUserId = userId; vehicle.Status = (int)DbConstant.DefaultDataStatus.Deleted; Vehicle entity = _vehicleRepository.GetById(vehicle.Id); Map(vehicle, entity); _vehicleRepository.AttachNavigation(entity.Brand); _vehicleRepository.AttachNavigation(entity.Type); _vehicleRepository.AttachNavigation(entity.VehicleGroup); _vehicleRepository.AttachNavigation(entity.Customer); _vehicleRepository.AttachNavigation(entity.CreateUser); _vehicleRepository.AttachNavigation(entity.ModifyUser); _vehicleRepository.Update(entity); _unitOfWork.SaveChanges(); foreach (var item in _vehicleWheelRepository.GetMany(vw => vw.VehicleId == vehicle.Id && vw.Status ==(int) DbConstant.DefaultDataStatus.Active)) { item.ModifyDate = serverTime; item.ModifyUserId = userId; item.Status = (int)DbConstant.DefaultDataStatus.Deleted; _vehicleWheelRepository.AttachNavigation(item.Vehicle); _vehicleWheelRepository.AttachNavigation(item.WheelDetail); _vehicleWheelRepository.AttachNavigation(item.CreateUser); _vehicleWheelRepository.AttachNavigation(item.ModifyUser); _vehicleWheelRepository.Update(item); _unitOfWork.SaveChanges(); SpecialSparepartDetail wdEntity = _specialSparepartDetailRepository.GetById(item.WheelDetailId); wdEntity.ModifyDate = serverTime; wdEntity.ModifyUserId = userId; wdEntity.Status = (int)DbConstant.WheelDetailStatus.Ready; _specialSparepartDetailRepository.AttachNavigation(wdEntity.SpecialSparepart); _specialSparepartDetailRepository.AttachNavigation(wdEntity.SparepartDetail); _specialSparepartDetailRepository.AttachNavigation(wdEntity.CreateUser); _specialSparepartDetailRepository.AttachNavigation(wdEntity.ModifyUser); _specialSparepartDetailRepository.Update(wdEntity); _unitOfWork.SaveChanges(); SparepartDetail spdEntity = _sparepartDetailRepository.GetById(wdEntity.SparepartDetailId); spdEntity.ModifyDate = serverTime; spdEntity.ModifyUserId = userId; spdEntity.Status = (int)DbConstant.SparepartDetailDataStatus.Active; _sparepartDetailRepository.AttachNavigation(spdEntity.Sparepart); _sparepartDetailRepository.AttachNavigation(spdEntity.SparepartManualTransaction); _sparepartDetailRepository.AttachNavigation(spdEntity.PurchasingDetail); _sparepartDetailRepository.AttachNavigation(spdEntity.CreateUser); _sparepartDetailRepository.AttachNavigation(spdEntity.ModifyUser); _sparepartDetailRepository.Update(spdEntity); _unitOfWork.SaveChanges(); Sparepart spEntity = _sparepartRepository.GetById(wdEntity.SparepartDetail.SparepartId); spEntity.ModifyDate = serverTime; spEntity.ModifyUserId = userId; spEntity.StockQty = spEntity.StockQty + 1; _sparepartRepository.AttachNavigation(spEntity.UnitReference); _sparepartRepository.AttachNavigation(spEntity.CategoryReference); _sparepartRepository.AttachNavigation(spEntity.CreateUser); _sparepartRepository.AttachNavigation(spEntity.ModifyUser); _sparepartRepository.Update(spEntity); _unitOfWork.SaveChanges(); SparepartStockCard stockCard = new SparepartStockCard(); Reference transactionReferenceTable = _referenceRepository.GetMany(r => r.Code == DbConstant.MODUL_VEHICLE).FirstOrDefault(); stockCard.CreateUserId = userId; stockCard.CreateDate = serverTime; stockCard.PrimaryKeyValue = vehicle.Id; stockCard.ReferenceTableId = transactionReferenceTable.Id; stockCard.SparepartId = spEntity.Id; stockCard.Description = "Delete Vehicle"; stockCard.QtyIn = 1; SparepartStockCard lastStockCard = _sparepartStokCardRepository.RetrieveLastCard(spEntity.Id); double lastStock = 0; if (lastStockCard != null) { lastStock = lastStockCard.QtyLast; } stockCard.QtyFirst = lastStock; stockCard.QtyLast = lastStock + stockCard.QtyIn; _sparepartStokCardRepository.AttachNavigation(stockCard.CreateUser); _sparepartStokCardRepository.AttachNavigation(stockCard.Sparepart); _sparepartStokCardRepository.AttachNavigation(stockCard.ReferenceTable); _sparepartStokCardRepository.Add(stockCard); _unitOfWork.SaveChanges(); } }
public void UpdateVehicle(VehicleViewModel vehicle, List<VehicleWheelViewModel> vehicleWheels, List<VehicleWheelViewModel> vehicleWheelExchanged, int userId) { DateTime serverTime = DateTime.Now; vehicle.ModifyDate = serverTime; vehicle.ModifyUserId = userId; Vehicle entity = _vehicleRepository.GetById(vehicle.Id); Map(vehicle, entity); _vehicleRepository.AttachNavigation(entity.Brand); _vehicleRepository.AttachNavigation(entity.Type); _vehicleRepository.AttachNavigation(entity.VehicleGroup); _vehicleRepository.AttachNavigation(entity.Customer); _vehicleRepository.AttachNavigation(entity.CreateUser); _vehicleRepository.AttachNavigation(entity.ModifyUser); _vehicleRepository.Update(entity); _unitOfWork.SaveChanges(); if (vehicleWheelExchanged.Count > 0) { foreach (var vw in vehicleWheelExchanged) { VehicleWheel vwEntity = _vehicleWheelRepository.GetById(vw.Id); vwEntity.WheelDetailId = vw.WheelDetailId; vwEntity.ModifyDate = serverTime; vwEntity.ModifyUserId = userId; vwEntity.Notes = vw.Notes; _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle); _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail); _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser); _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser); _vehicleWheelRepository.Update(vwEntity); _unitOfWork.SaveChanges(); } } foreach (var vw in vehicleWheels) { if (vw.Id > 0) { VehicleWheel vwEntity = _vehicleWheelRepository.GetById(vw.Id); vwEntity.WheelDetailId = vw.WheelDetailId; vwEntity.ModifyDate = serverTime; vwEntity.ModifyUserId = userId; vwEntity.Notes = vw.Notes; _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle); _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail); _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser); _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser); _vehicleWheelRepository.Update(vwEntity); _unitOfWork.SaveChanges(); } else { VehicleWheel vwEntity = new VehicleWheel(); Map(vw, vwEntity); vwEntity.Notes = vw.Notes; vwEntity.VehicleId = vehicle.Id; vwEntity.CreateDate = vwEntity.ModifyDate = serverTime; vwEntity.CreateUserId = vwEntity.ModifyUserId = userId; vwEntity.Status = (int)DbConstant.DefaultDataStatus.Active; _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle); _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail); _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser); _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser); _vehicleWheelRepository.Add(vwEntity); _unitOfWork.SaveChanges(); SpecialSparepartDetail wdEntity = _specialSparepartDetailRepository.GetById(vw.WheelDetailId); wdEntity.ModifyDate = serverTime; wdEntity.ModifyUserId = userId; wdEntity.Status = (int)DbConstant.WheelDetailStatus.Installed; _specialSparepartDetailRepository.AttachNavigation(wdEntity.SpecialSparepart); _specialSparepartDetailRepository.AttachNavigation(wdEntity.SparepartDetail); _specialSparepartDetailRepository.AttachNavigation(wdEntity.CreateUser); _specialSparepartDetailRepository.AttachNavigation(wdEntity.ModifyUser); _specialSparepartDetailRepository.Update(wdEntity); _unitOfWork.SaveChanges(); SparepartDetail spdEntity = _sparepartDetailRepository.GetById(wdEntity.SparepartDetailId); spdEntity.ModifyDate = serverTime; spdEntity.ModifyUserId = userId; spdEntity.Status = (int)DbConstant.SparepartDetailDataStatus.OutInstalled; _sparepartDetailRepository.AttachNavigation(spdEntity.Sparepart); _sparepartDetailRepository.AttachNavigation(spdEntity.SparepartManualTransaction); _sparepartDetailRepository.AttachNavigation(spdEntity.PurchasingDetail); _sparepartDetailRepository.AttachNavigation(spdEntity.CreateUser); _sparepartDetailRepository.AttachNavigation(spdEntity.ModifyUser); _sparepartDetailRepository.Update(spdEntity); _unitOfWork.SaveChanges(); Sparepart spEntity = _sparepartRepository.GetById(wdEntity.SparepartDetail.SparepartId); spEntity.ModifyDate = serverTime; spEntity.ModifyUserId = userId; spEntity.StockQty = spEntity.StockQty - 1; _sparepartRepository.AttachNavigation(spEntity.UnitReference); _sparepartRepository.AttachNavigation(spEntity.CategoryReference); _sparepartRepository.AttachNavigation(spEntity.CreateUser); _sparepartRepository.AttachNavigation(spEntity.ModifyUser); _sparepartRepository.Update(spEntity); _unitOfWork.SaveChanges(); } } _unitOfWork.SaveChanges(); }
public bool IsLicenseNumberExist(string licenseNumber, VehicleViewModel selectedVehicle) { Vehicle result = new Vehicle(); if (selectedVehicle != null) { result = _vehicleRepository.GetMany(v => v.Status == (int)DbConstant.DefaultDataStatus.Active && v.ActiveLicenseNumber.ToLower() == licenseNumber.ToLower() && v.Id != selectedVehicle.Id ).FirstOrDefault(); } else { result = _vehicleRepository.GetMany(v => v.Status == (int)DbConstant.DefaultDataStatus.Active && v.ActiveLicenseNumber.ToLower() == licenseNumber.ToLower() ).FirstOrDefault(); } return result != null; }
public void InsertVehicle(VehicleViewModel vehicle, DateTime expirationDate, List<VehicleWheelViewModel> vehicleWheels, int userId) { DateTime serverTime = DateTime.Now; Vehicle entity = new Vehicle(); Map(vehicle, entity); entity.CreateDate = entity.ModifyDate = serverTime; entity.CreateUserId = entity.ModifyUserId = userId; entity.Status = (int)DbConstant.DefaultDataStatus.Active; _vehicleRepository.AttachNavigation(entity.Brand); _vehicleRepository.AttachNavigation(entity.Type); _vehicleRepository.AttachNavigation(entity.VehicleGroup); _vehicleRepository.AttachNavigation(entity.Customer); _vehicleRepository.AttachNavigation(entity.CreateUser); _vehicleRepository.AttachNavigation(entity.ModifyUser); var insertedVehicle = _vehicleRepository.Add(entity); _unitOfWork.SaveChanges(); VehicleDetail vehicleDetail = new VehicleDetail { VehicleId = insertedVehicle.Id, LicenseNumber = insertedVehicle.ActiveLicenseNumber, ExpirationDate = expirationDate, CreateDate = serverTime, ModifyDate = serverTime, ModifyUserId = userId, CreateUserId = userId, Status = (int)DbConstant.LicenseNumberStatus.Active }; _vehicleDetailRepository.AttachNavigation(vehicleDetail.Vehicle); _vehicleDetailRepository.AttachNavigation(vehicleDetail.CreateUser); _vehicleDetailRepository.AttachNavigation(vehicleDetail.ModifyUser); _vehicleDetailRepository.Add(vehicleDetail); _unitOfWork.SaveChanges(); foreach (var vw in vehicleWheels) { if (vw.WheelDetailId > 0) { VehicleWheel vwEntity = new VehicleWheel(); Map(vw, vwEntity); vwEntity.Notes = vw.Notes; vwEntity.WheelDetailId = vw.WheelDetailId; vwEntity.CreateDate = vwEntity.ModifyDate = serverTime; vwEntity.CreateUserId = vwEntity.ModifyUserId = userId; vwEntity.VehicleId = insertedVehicle.Id; vwEntity.Status = (int)DbConstant.DefaultDataStatus.Active; _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle); _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail); _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser); _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser); _vehicleWheelRepository.Add(vwEntity); _unitOfWork.SaveChanges(); SpecialSparepartDetail wdEntity = _specialSparepartDetailRepository.GetById(vw.WheelDetailId); wdEntity.ModifyDate = serverTime; wdEntity.ModifyUserId = userId; wdEntity.Status = (int)DbConstant.WheelDetailStatus.Installed; _specialSparepartDetailRepository.AttachNavigation(wdEntity.SpecialSparepart); _specialSparepartDetailRepository.AttachNavigation(wdEntity.SparepartDetail); _specialSparepartDetailRepository.AttachNavigation(wdEntity.CreateUser); _specialSparepartDetailRepository.AttachNavigation(wdEntity.ModifyUser); _specialSparepartDetailRepository.Update(wdEntity); _unitOfWork.SaveChanges(); SparepartDetail spdEntity = _sparepartDetailRepository.GetById(wdEntity.SparepartDetailId); spdEntity.ModifyDate = serverTime; spdEntity.ModifyUserId = userId; spdEntity.Status = (int)DbConstant.SparepartDetailDataStatus.OutInstalled; _sparepartDetailRepository.AttachNavigation(spdEntity.Sparepart); _sparepartDetailRepository.AttachNavigation(spdEntity.SparepartManualTransaction); _sparepartDetailRepository.AttachNavigation(spdEntity.PurchasingDetail); _sparepartDetailRepository.AttachNavigation(spdEntity.CreateUser); _sparepartDetailRepository.AttachNavigation(spdEntity.ModifyUser); _sparepartDetailRepository.Update(spdEntity); _unitOfWork.SaveChanges(); Sparepart spEntity = _sparepartRepository.GetById(wdEntity.SparepartDetail.SparepartId); spEntity.ModifyDate = serverTime; spEntity.ModifyUserId = userId; spEntity.StockQty = spEntity.StockQty - 1; _sparepartRepository.AttachNavigation(spEntity.UnitReference); _sparepartRepository.AttachNavigation(spEntity.CategoryReference); _sparepartRepository.AttachNavigation(spEntity.CreateUser); _sparepartRepository.AttachNavigation(spEntity.ModifyUser); _sparepartRepository.Update(spEntity); _unitOfWork.SaveChanges(); SparepartStockCard stockCard = new SparepartStockCard(); Reference transactionReferenceTable = _referenceRepository.GetMany(r => r.Code == DbConstant.MODUL_VEHICLE).FirstOrDefault(); stockCard.CreateUserId = userId; stockCard.CreateDate = serverTime; stockCard.PrimaryKeyValue = wdEntity.Id; stockCard.ReferenceTableId = transactionReferenceTable.Id; stockCard.SparepartId = spEntity.Id; stockCard.Description = "Vehicle Insert"; stockCard.QtyOut = 1; SparepartStockCard lastStockCard = _sparepartStokCardRepository.RetrieveLastCard(spEntity.Id); double lastStock = 0; if (lastStockCard != null) { lastStock = lastStockCard.QtyLast; } stockCard.QtyFirst = lastStock; stockCard.QtyLast = lastStock - stockCard.QtyOut; _sparepartStokCardRepository.AttachNavigation(stockCard.CreateUser); _sparepartStokCardRepository.AttachNavigation(stockCard.Sparepart); _sparepartStokCardRepository.AttachNavigation(stockCard.ReferenceTable); _sparepartStokCardRepository.Add(stockCard); _unitOfWork.SaveChanges(); } } _unitOfWork.SaveChanges(); }
public override void RefreshDataView() { if (!bgwMain.IsBusy) { MethodBase.GetCurrentMethod().Info("Fecthing vehicle data..."); _selectedVehicle = null; FormHelpers.CurrentMainForm.UpdateStatusInformation("Memuat data kendaraan...", false); bgwMain.RunWorkerAsync(); } }