Exemplo n.º 1
0
 public static void UploadPermitFiles()
 {
     try
     {
         lock (CCacheData._UploadPermitFilesLocker)
         {
             string appSetting = ConfigurationManager.AppSettings["exportpath"];
             if (appSetting == null)
             {
                 throw new Exception("'exportpath' AppSettings does not exist.");
             }
             FileInfo[] files = new DirectoryInfo(appSetting).GetFiles("*.xml");
             if (files.Length > 0)
             {
                 Console.WriteLine("Uploading [{1}] permit files found in {0}.", (object)appSetting, (object)files.Length);
             }
             foreach (FileInfo fileInfo in files)
             {
                 CCacheData.TryUploadFile(fileInfo);
             }
         }
     }
     catch (Exception ex)
     {
         Log.Write(ex);
     }
 }
Exemplo n.º 2
0
 public static void ClearCacheImages()
 {
     try
     {
         lock (CCacheData._ClearCacheImagesLocker)
         {
             FileInfo[] fileInfoArray = CCacheData.FolderFileList(ConfigurationManager.AppSettings["cacheImageLocation"].ToString(), "*.*");
             DateTime   dateTime      = DateTime.Now.AddHours(-36.0);
             foreach (FileInfo fileInfo in fileInfoArray)
             {
                 if (fileInfo.CreationTime > dateTime)
                 {
                     try
                     {
                         fileInfo.Delete();
                     }
                     catch
                     {
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Log.Write(ex);
     }
 }
Exemplo n.º 3
0
 private void OvernightCleanCacheFolders_If_Due()
 {
     if (!(DateTime.Now.TimeOfDay > new TimeSpan(3, 0, 0)) || !(DateTime.Now.TimeOfDay < new TimeSpan(4, 0, 0)))
     {
         return;
     }
     CCacheData.ClearCacheImages();
 }
Exemplo n.º 4
0
 private void ProcessedPermitDeleteFolder_If_Due()
 {
     if (!(this.nextProcessedPermitsPurge >= DateTime.Now) || !(DateTime.Now.TimeOfDay > new TimeSpan(1, 0, 0)) || !(DateTime.Now.TimeOfDay < new TimeSpan(2, 0, 0)))
     {
         return;
     }
     CCacheData.DeleteProcessedPermitFolder();
     this.nextProcessedPermitsPurge = DateTime.Now.AddDays(5.0);
 }
Exemplo n.º 5
0
 internal static void WriteVehicleDataToXml(DataTable dataTable)
 {
     try
     {
         lock (CCacheData._WriteVehicleDataToXmlLocker)
         {
             CCacheData.EnsureCacheDirectoriesExist();
             DataTable dataTable1 = dataTable;
             if (dataTable1 == null)
             {
                 return;
             }
             DataTable table              = dataTable1.Clone();
             DataSet   dataSet            = new DataSet();
             string    str1               = ConfigurationManager.AppSettings["cacheLocation"].ToString();
             string    str2               = ConfigurationManager.AppSettings["cacheImageLocation"].ToString();
             string    imageDirectoryPath = Settings.Default.CaptureImageDirectoryPath;
             Console.WriteLine("Source Image Path: {0}\n Dest. Image Path {1}", (object)imageDirectoryPath, (object)str2);
             int index = 0;
             Console.WriteLine("Copying and referencing vehicle images...");
             Console.WriteLine("Begin");
             Log.Write("Copying and referencing vehicle images...");
             Log.Write("num of cars : " + dataTable1.Rows.Count.ToString());
             for (; index < dataTable1.Rows.Count; ++index)
             {
                 string fileName1 = dataTable1.Rows[index]["OverviewImage"].ToString().ToUpper().Replace(imageDirectoryPath, "");
                 string fileName2 = dataTable1.Rows[index]["PlateImage"].ToString().ToUpper().Replace(imageDirectoryPath, "");
                 Console.Write("Overview image is : {0}", (object)fileName1);
                 if (CCacheData.TryCopyImageToCacheIfItDoesNotExist(fileName1) & CCacheData.TryCopyImageToCacheIfItDoesNotExist(fileName2))
                 {
                     DataRow row = dataTable1.Rows[index];
                     table.ImportRow(row);
                     Console.WriteLine("...referenced ok :-)");
                 }
                 else
                 {
                     Log.Write("images not found.");
                     Console.WriteLine("...not referenced :-(");
                 }
             }
             Console.WriteLine("End");
             if (table.Rows.Count <= 0)
             {
                 return;
             }
             dataSet.Tables.Add(table);
             Console.WriteLine("Writing {0} rows of Vehicle Data to {1}DataTable.xml", (object)table.Rows.Count, (object)str1);
             dataSet.WriteXml(str1 + "DataTable.xml", XmlWriteMode.WriteSchema);
         }
     }
     catch (Exception ex)
     {
         Log.Write(ex);
     }
 }
Exemplo n.º 6
0
 private void UploadPermits_If_Due()
 {
     if (!(this.nextPermitUploadPermitDateTime <= DateTime.Now))
     {
         return;
     }
     Console.WriteLine("Attempting to upload permit files...");
     this.nextPermitUploadPermitDateTime = DateTime.Now.AddHours(Settings.Default.UploadPermitInterval);
     CCacheData.CreatePermitfile();
     CCacheData.UploadPermitFiles();
     Console.WriteLine("Upload attempt complete. Next attempt: {0}", (object)this.nextPermitUploadPermitDateTime.ToString());
 }
Exemplo n.º 7
0
 private void CreateHeartBeatPermit_If_Due()
 {
     if (!(this.nextHeartBeatPermitCreationDateTime <= DateTime.Now))
     {
         return;
     }
     Console.WriteLine("_______");
     Console.WriteLine("/\\/\\/\\/\\ ****Creating Test Permit [Heartbeat] {0}**** /\\/\\/\\/\\", (object)DateTime.Now);
     CCacheData.CreateTestPermit();
     this.nextHeartBeatPermitCreationDateTime = DateTime.Now.AddHours(Settings.Default.TestPermitInterval);
     Console.WriteLine("Next HeartBeat: {0}", (object)this.nextHeartBeatPermitCreationDateTime.ToString());
     Console.WriteLine("_______");
 }
Exemplo n.º 8
0
        private void LoginCheck()
        {
            DataRow dataRow = CCacheData.isValidPassCode(this.txtPassword.Text);

            if (dataRow != null)
            {
                this.m_ParkingPermit.UserName = dataRow["username"].ToString();
                this.m_ParkingPermit.UserID   = int.Parse(dataRow["userInformationID"].ToString());
                this.m_ParkingPermit.PassCode = this.txtPassword.Text;
                this.LoginPassedOpenNextForm();
                this.Close();
            }
            else
            {
                this.lblWrongPasscode.Visible = true;
            }
        }
Exemplo n.º 9
0
 private void CreateCachedVehicleData_And_UserCodeData()
 {
     Console.Write("Writing data to cache...");
     Database.TryConnection();
     if (!Database.IsAccessible())
     {
         Log.Write("Database is not accessible, creating empty vehicle data and default user data cache.");
         Console.WriteLine("Database is not accessible, creating empty vehicle data and default user data cache.");
         CCacheData.CreateDefaultUserInfoDataCacheIfNotExists();
         CCacheData.CreateEmptyVehicleDataCacheIfNotExists();
     }
     else
     {
         Console.WriteLine("Database accessible, caching data");
         Log.Write("Database accessible, caching data");
         CCacheData.CacheVehicleDataFromDatabase();
         CCacheData.CacheUserInfoDataFromDatabase();
     }
 }
Exemplo n.º 10
0
        public static void CreateTestPermit()
        {
            double testPermitInterval = Settings.Default.TestPermitInterval;

            CCacheData.WriteParkingPermitToXmlFile(new ParkingPermitInfo()
            {
                Amount         = new Decimal(0),
                AuthCode       = (string)null,
                CaptureDate    = DateTime.Now,
                EndDate        = DateTime.Now.AddHours(testPermitInterval),
                MachineName    = Environment.MachineName,
                Paid           = new Decimal(0),
                PassCode       = "-2",
                PermitType     = "TEST",
                PaymentType    = "TEST",
                StartDate      = DateTime.Now,
                UserID         = 0,
                UserName       = "******",
                VehicleRegMark = "$HEARTBEAT"
            });
        }
Exemplo n.º 11
0
 private static void TryUploadFile(FileInfo fileInfo)
 {
     try
     {
         lock (CCacheData._TryUploadFileLocker)
         {
             string url = CCacheData.WEBSERVICE_TEST_URL;
             if (Settings.Default.UseLivePermitUploadWebService)
             {
                 url = CCacheData.WEBSERVICE_LIVE_URL;
             }
             string fullName = fileInfo.FullName;
             Console.Write(".......Uploading {0} ", (object)fullName);
             StreamReader streamReader = new StreamReader(fullName);
             string       end          = streamReader.ReadToEnd();
             streamReader.BaseStream.Close();
             streamReader.BaseStream.Dispose();
             string str = CCacheData.HTTPPostXML(url, end);
             if (str.Contains("This is a restricted page!"))
             {
                 string destFileName = string.Format("{0}\\{1}", (object)CCacheData.UploadedPermitFolder.FullName, (object)fileInfo.Name);
                 Console.WriteLine("Attempting to move {0} to {1}", (object)fileInfo.FullName, (object)destFileName);
                 fileInfo.MoveTo(destFileName);
                 Console.Write("....OK :-)");
             }
             else
             {
                 Console.Write("failed :-( [{0}]", (object)str);
                 Log.Write("ErrorEventArgs writing to url : " + url);
                 Log.Write("response: " + str);
                 Utilites.LogError("UploadPermitFile", "Problem uploading permit\n" + str);
             }
         }
     }
     catch (Exception ex)
     {
         Log.Write(ex);
     }
 }
Exemplo n.º 12
0
 public void Save()
 {
     CCacheData.WriteVehicleDataToXml(this._vehicleMovementData);
 }
Exemplo n.º 13
0
 public static bool CreatePermitfile()
 {
     try
     {
         lock (CCacheData._CreatePermitfileLocker)
         {
             string appSetting = ConfigurationManager.AppSettings["exportpath"];
             if (!Directory.Exists(appSetting))
             {
                 Directory.CreateDirectory(appSetting);
             }
             string environmentVariable1 = Environment.GetEnvironmentVariable("RSSITECODE");
             string environmentVariable2 = Environment.GetEnvironmentVariable("RSSITENAME");
             List <ParkingPermitInfo> parkingPermitInfoList = new List <ParkingPermitInfo>();
             DataTable dataTable = new DataTable();
             string    str1      = ConfigurationManager.AppSettings["cachePermitLocation"].ToString();
             if (!Directory.Exists(str1))
             {
                 Directory.CreateDirectory(str1);
             }
             FileInfo[] fileInfoArray = CCacheData.FolderFileList(str1, "*.xml");
             foreach (FileInfo fileInfo in fileInfoArray)
             {
                 try
                 {
                     DataSet   dataSet = new DataSet("Ranger");
                     int       num     = (int)dataSet.ReadXml(fileInfo.FullName);
                     DataTable table   = dataSet.Tables[0];
                     for (int index = 0; index < table.Rows.Count; ++index)
                     {
                         ParkingPermitInfo parkingPermitInfo = new ParkingPermitInfo();
                         parkingPermitInfo.UserID         = int.Parse(table.Rows[index]["userID"].ToString());
                         parkingPermitInfo.UserName       = table.Rows[index]["userName"].ToString();
                         parkingPermitInfo.MachineName    = table.Rows[index]["MachineName"].ToString();
                         parkingPermitInfo.PermitType     = table.Rows[index]["PermitType"].ToString();
                         parkingPermitInfo.PaymentType    = table.Rows[index]["PaymentType"].ToString();
                         parkingPermitInfo.AuthCode       = table.Rows[index]["AuthCode"].ToString();
                         parkingPermitInfo.VehicleRegMark = table.Rows[index]["VRM"].ToString();
                         parkingPermitInfo.CaptureDate    = DateTime.Parse(table.Rows[index]["CaptureDate"].ToString());
                         parkingPermitInfo.StartDate      = DateTime.Parse(table.Rows[index]["StartDate"].ToString());
                         parkingPermitInfo.Amount         = Decimal.Parse(table.Rows[index]["Amount"].ToString());
                         parkingPermitInfo.EndDate        = DateTime.Parse(table.Rows[index]["EndDate"].ToString());
                         parkingPermitInfo.Paid           = Decimal.Parse(table.Rows[index]["Paid"].ToString());
                         if (table.Columns.Contains("passcode"))
                         {
                             parkingPermitInfo.PassCode = table.Rows[index]["passcode"].ToString();
                         }
                         parkingPermitInfoList.Add(parkingPermitInfo);
                     }
                 }
                 catch (Exception ex)
                 {
                     Log.Write(ex);
                 }
             }
             if (parkingPermitInfoList.Count > 0)
             {
                 string        str2           = string.Format("{0}\\{1}.xml.export", (object)appSetting, (object)DateTime.Now.ToString("yyyyMMddHHmmss"));
                 XmlTextWriter xmlTextWriter1 = (XmlTextWriter)null;
                 XmlTextWriter xmlTextWriter2 = new XmlTextWriter(str2, Encoding.UTF8);
                 xmlTextWriter2.Formatting  = Formatting.Indented;
                 xmlTextWriter2.Indentation = 4;
                 xmlTextWriter2.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
                 xmlTextWriter2.WriteStartElement("xml");
                 xmlTextWriter2.WriteAttributeString("type", "touchpark_kiosk_permit");
                 xmlTextWriter2.WriteStartElement("kiosk");
                 xmlTextWriter2.WriteAttributeString("site_code", environmentVariable1);
                 xmlTextWriter2.WriteAttributeString("site", environmentVariable2);
                 xmlTextWriter2.WriteAttributeString("machine_name", Environment.MachineName);
                 foreach (ParkingPermitInfo parkingPermitInfo in parkingPermitInfoList)
                 {
                     xmlTextWriter2.WriteStartElement("permit");
                     if (parkingPermitInfo.PermitType != null)
                     {
                         xmlTextWriter2.WriteAttributeString("type", parkingPermitInfo.PermitType);
                     }
                     DateTime captureDate = parkingPermitInfo.CaptureDate;
                     xmlTextWriter2.WriteAttributeString("capture_date_time", parkingPermitInfo.CaptureDate.ToString("yyyy-MM-dd HH:mm:ss"));
                     if (parkingPermitInfo.PaymentType != null)
                     {
                         xmlTextWriter2.WriteAttributeString("payment_type", parkingPermitInfo.PaymentType);
                     }
                     if (parkingPermitInfo.VehicleRegMark != null)
                     {
                         xmlTextWriter2.WriteAttributeString("vrm", parkingPermitInfo.VehicleRegMark);
                     }
                     DateTime startDate = parkingPermitInfo.StartDate;
                     xmlTextWriter2.WriteAttributeString("start_date_time", parkingPermitInfo.StartDate.ToString("yyyy-MM-dd HH:mm:ss"));
                     if (parkingPermitInfo.PermitType != null && parkingPermitInfo.PermitType.ToUpper().Equals("STAFF"))
                     {
                         xmlTextWriter2.WriteAttributeString("end_date_time", "9999-12-31 23:59:59");
                     }
                     else
                     {
                         DateTime endDate = parkingPermitInfo.EndDate;
                         xmlTextWriter2.WriteAttributeString("end_date_time", parkingPermitInfo.EndDate.ToString("yyyy-MM-dd HH:mm:ss"));
                     }
                     if (parkingPermitInfo.Amount != new Decimal(0))
                     {
                         xmlTextWriter2.WriteAttributeString("amount_due", parkingPermitInfo.Amount.ToString());
                     }
                     if (parkingPermitInfo.Paid != new Decimal(0))
                     {
                         xmlTextWriter2.WriteAttributeString("amount_paid", parkingPermitInfo.Paid.ToString());
                     }
                     if (parkingPermitInfo.AuthCode != null)
                     {
                         xmlTextWriter2.WriteAttributeString("auth_code", parkingPermitInfo.AuthCode);
                     }
                     if (parkingPermitInfo.UserID != 0)
                     {
                         xmlTextWriter2.WriteAttributeString("user_id", parkingPermitInfo.UserID.ToString());
                     }
                     if (parkingPermitInfo.PassCode != null)
                     {
                         xmlTextWriter2.WriteAttributeString("passcode", parkingPermitInfo.PassCode);
                     }
                     xmlTextWriter2.WriteEndElement();
                 }
                 xmlTextWriter2.WriteEndElement();
                 xmlTextWriter2.WriteEndElement();
                 xmlTextWriter2.Flush();
                 xmlTextWriter2.Close();
                 xmlTextWriter1 = (XmlTextWriter)null;
                 new FileInfo(str2).MoveTo(str2.Replace(".xml.export", ".xml"));
                 foreach (FileInfo fileInfo in fileInfoArray)
                 {
                     try
                     {
                         fileInfo.Delete();
                     }
                     catch
                     {
                     }
                 }
             }
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Write(ex);
         return(false);
     }
 }
Exemplo n.º 14
0
 internal static void WriteVehicleDataToXml()
 {
     CCacheData.WriteVehicleDataToXml(CCacheData.ObtainVehicleDataTable());
 }
Exemplo n.º 15
0
 public static void CacheVehicleDataFromDatabase()
 {
     CCacheData.WriteVehicleDataToXml();
 }
Exemplo n.º 16
0
 public VehicleMovementDataGenerator()
 {
     this._vehicleMovementData = CCacheData.CreateEmptyVehicleDataCacheIfNotExists();
     int num = (int)this._vehicleMovementData.ReadXml(XmlReader.Create((TextReader) new StringReader(Settings.Default.DemoVehicleData)));
 }
Exemplo n.º 17
0
        private void cmdYes_Click(object sender, EventArgs e)
        {
            this.ConfirmVehicle = true;
            this.Close();
            Log.Write("Yes selected after image selection confirmation/vrm confirmation dialog close.");
            this.panel1.Visible = true;
            this.m_ParkingPermit.CaptureDate = DateTime.Now;
            switch (this.m_ApplicationType)
            {
            case "ServiceStationPark":
                this.Hide();
                Log.Write("ServiceStationPark is the Application type in App Config.");
                int num1 = (int)new frmLogin(this.m_ParkingPermit, "ServiceStationPark", this.m_OverviewLocation, this.m_PlateLocation).ShowDialog();
                break;

            case "PermitPark":
                this.Hide();
                string displayOption1 = "PermitPark";
                Log.Write("PermitPark is the Application type in App Config.");
                if (this.m_ParkingPermit.PermitType == "STAFF")
                {
                    this.m_ParkingPermit.EndDate = DateTime.Parse("9999-12-30 23:59");
                    int num2 = (int)new frmLogin(this.m_ParkingPermit, "PermitPark", this.m_OverviewLocation, this.m_PlateLocation).ShowDialog();
                    break;
                }
                this.m_ParkingPermit.EndDate = this.m_ParkingPermit.StartDate.AddDays(1.0);
                CUpdateVehicleData cupdateVehicleData = new CUpdateVehicleData();
                int num3 = (int)new frmThankYou(this.m_ParkingPermit, displayOption1, CCacheData.WriteParkingPermitToXmlFile(this.m_ParkingPermit)).ShowDialog();
                break;

            case "PermitPark2":
                this.Hide();
                int num4 = (int)new frmLogin(this.m_ParkingPermit, "PermitPark2", this.m_OverviewLocation, this.m_PlateLocation).ShowDialog();
                break;

            default:
                this.Hide();
                string displayOption2 = "SelectPayment";
                WeeklyParkingTariff weeklyParkingTariff = new WeeklyParkingTariff(this.m_ParkingPermit.DurationOfStay);
                if (weeklyParkingTariff.MAX_PAYMENT_OPTIONS == 1 || weeklyParkingTariff.ValidOptionsCount == 1)
                {
                    this.m_ParkingPermit.Amount  = weeklyParkingTariff.GetFirstParkingCharge();
                    this.m_ParkingPermit.EndDate = this.m_ParkingPermit.StartDate.Add(weeklyParkingTariff.GetDurationFromTariff(0));
                    int num2 = (int)new PaymentForm(this.m_ParkingPermit, displayOption2).ShowDialog();
                    break;
                }
                PaymentManager.ProcessPayment(this.m_ParkingPermit);
                break;
            }
        }
Exemplo n.º 18
0
        private void cmdYes_Click(object sender, EventArgs e)
        {
            this.ConfirmVehicle = true;
            this.Close();
            this.panel1.Visible = true;
            this.m_ParkingPermit.CaptureDate = DateTime.Now;
            this.m_ParkingPermit.StartDate   = DateTime.Now;
            WeeklyParkingTariff weeklyParkingTariff = new WeeklyParkingTariff(this.m_ParkingPermit.DurationOfStay);

            if (weeklyParkingTariff.MAX_PAYMENT_OPTIONS == 1)
            {
                this.m_ParkingPermit.Amount  = weeklyParkingTariff.GetFirstParkingCharge();
                this.m_ParkingPermit.EndDate = this.m_ParkingPermit.StartDate.AddHours(Settings.Default.MaximumPermitHours);
                int num = (int)new PaymentForm(this.m_ParkingPermit, "DisplayPayment").ShowDialog();
            }
            else
            {
                switch (this.m_ApplicationType)
                {
                case "ServiceStationPark":
                    int num1 = (int)new frmLogin(this.m_ParkingPermit, "ServiceStationPark").ShowDialog();
                    break;

                case "PermitPark":
                    this.Hide();
                    if (this.m_ParkingPermit.PermitType == "STAFF")
                    {
                        this.m_ParkingPermit.EndDate = DateTime.Parse("9999-12-30 23:59");
                        int num2 = (int)new frmLogin(this.m_ParkingPermit, "PermitPark").ShowDialog();
                        break;
                    }
                    this.m_ParkingPermit.EndDate = this.m_ParkingPermit.StartDate.AddDays(1.0);
                    CUpdateVehicleData cupdateVehicleData = new CUpdateVehicleData();
                    int num3 = (int)new frmThankYou(this.m_ParkingPermit, "PermitPark", CCacheData.WriteParkingPermitToXmlFile(this.m_ParkingPermit)).ShowDialog();
                    break;

                case "PermitPark2":
                    this.Hide();
                    int num4 = (int)new frmLogin(this.m_ParkingPermit, "PermitPark2", this.m_OverviewLocation, this.m_PlateLocation).ShowDialog();
                    break;

                default:
                    ParkingChargesForm parkingChargesForm = new ParkingChargesForm(this.m_ParkingPermit);
                    int num5 = (int)parkingChargesForm.ShowDialog();
                    parkingChargesForm.Dispose();
                    break;
                }
            }
        }
Exemplo n.º 19
0
        public static bool WriteParkingPermitToXML(ParkingPermitInfo parkingPermit)
        {
            CUpdateVehicleData cupdateVehicleData = new CUpdateVehicleData();

            return(CCacheData.WriteParkingPermitToXmlFile(parkingPermit));
        }