private void SaveVehicleType() { if (MessageBox.Show(string.Format(SaveConfirmText, "Entrance Type"), MessageBoxCaption, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) { return; } try { using (SqlConnection Conn = new SqlConnection(GlobalClass.TConnectionString)) { Conn.Open(); using (SqlTransaction Tran = Conn.BeginTransaction()) { Vehicle.VTypeID = Conn.ExecuteScalar <byte>("SELECT CAST(ISNULL(MAX(VTypeID), 0) + 1 AS TINYINT) FROM VehicleType", transaction: Tran); if (Vehicle.ImageSource != null) { Vehicle.ButtonImage = Imaging.FileToBinary(Vehicle.ImageSource.UriSource.LocalPath); } if (Vehicle.Save(Tran)) { GlobalClass.SetUserActivityLog(Tran, "Entrance Type", "New", WorkDetail: "VTypeID : " + Vehicle.VTypeID, Remarks: Vehicle.Description); Tran.Commit(); MessageBox.Show("Entrance Type Saved Successfully.", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Information); VehicleTypeList.Add(new VehicleType { VTypeID = Vehicle.VTypeID, Description = Vehicle.Description, Capacity = Vehicle.Capacity, UID = GlobalClass.User.UID }); ExecuteUndo(null); } else { MessageBox.Show("Entrance Type could not be Saved.", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation); } } } } catch (SqlException ex) { if (ex.Number == 2601) { MessageBox.Show("Entered Entrance name already exist in the database. Enter unique name and try again", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Hand); } else { MessageBox.Show(ex.Number + " : " + ex.Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error); } }
public override void Update(ViewModelReturnData VMReturnData) { if (VMReturnData.NewCardType_Active) { View.Visibility = Visibility.Visible; #region Navigation Bar details VMReturnData.ViewTitle = VMReturnData.EditCard ? "Edit Card" : "New Card"; VMReturnData.SubTitle = "Vehicle Type details"; VMReturnData.CurrentPageNumber = 3; VMReturnData.TotalPageNumber = 4; VMReturnData.MenuButtonEnabled = Visibility.Collapsed; VMReturnData.HelpButtonEnabled = Visibility.Visible; #endregion if (!OneTimeRead) { VehicleTypeList = new ObservableCollection <string>(); VehicleTypeList2 = new ObservableCollection <string>(); DisplayVehicleList = new ObservableCollection <string>(); index = 0; foreach (var item in TagTypesL.MernokAssetType) { if (item.IsLicensable) { VehicleTypeList.Add(item.TypeName); } } OneTimeRead = true; VehicleTypenum = 0; } if (Bypassed) { DisplayVehicleList = new ObservableCollection <string> { "All Vehicle Types" }; ByEnabled = BtnAddEnabled = false; VMReturnData.VMCardDetails.VehicleLicenceType = Enumerable.Repeat((uint)255, 30).ToArray(); VMReturnData.VMCardDetails.ByPassBits = VMReturnData.VMCardDetails.ByPassBits | 0x04; VMReturnData.NextButtonEnabled = true; } else { DisplayVehicleList = VehicleTypeList2; for (int i = 0; i < index; i++) { VMReturnData.VMCardDetails.VehicleLicenceType[i] = (byte)(TagTypesL.MernokAssetType.IndexOf(TagTypesL.MernokAssetType.Where(p => p.TypeName == VehicleTypeList2[i]).FirstOrDefault()) + 1); } ByEnabled = BtnAddEnabled = true; VMReturnData.NextButtonEnabled = VehicleTypeList2.Count() > 0 ? true : false; VMReturnData.VMCardDetails.ByPassBits = (uint)(VMReturnData.VMCardDetails.ByPassBits & ~0b00000100); } if (AddbtnPressed) { AddbtnPressed = false; if (VehicleTypeList2.Count < 15) { VMReturnData.VMCardDetails.VehicleLicenceType[index] = (byte)(TagTypesL.MernokAssetType.IndexOf(TagTypesL.MernokAssetType.Where(p => p.TypeName == VehicleTypeList[VehicleTypenum]).FirstOrDefault()) + 1); VehicleTypeList2.Add(VehicleTypeList[VehicleTypenum]); index++; VehicleTypeList.RemoveAt(VehicleTypenum); VehicleTypenum = 0; } else { BtnAddEnabled = false; } } if (RemovebtnPressed) { RemovebtnPressed = false; if (VehicleTypeList2.Count() > 0) { BtnremoveEnabled = true; index--; VMReturnData.VMCardDetails.VehicleLicenceType[index] = 0; VehicleTypeList.Add(VehicleTypeList2.Last()); VehicleTypeList2.RemoveAt(VehicleTypeList2.Count - 1); } } if (VehicleTypeList.Count > 0) { ByEnabled = BtnAddEnabled = true; } else { BtnAddEnabled = false; } if (VehicleTypeList2.Count() > 0) { BtnremoveEnabled = true; } else { BtnremoveEnabled = false; } } else { //View is not visible, do not update //Stop any animations on this vieModel OneTimeRead = false; this.View.Visibility = Visibility.Collapsed; } }