Esempio n. 1
0
 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;
            }
        }