Пример #1
0
        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            try
            {
                GF.closeLoading();
                Exception ex = (Exception)e.ExceptionObject;
                GF.doDebug("********** FATAL UNHANDLED EXCEPTION ERROR : " + Environment.MachineName + " **********");
                GF.doDebug(" [" + ex.TargetSite.ToString() + "]");
                GF.doDebug(ex.Message);
                GF.doDebug("\r\n\r\n" + ex.StackTrace);

                GF.doDebug("\r\n\r\nFile : " + new StackTrace(ex, true).GetFrame(0).GetFileName());
                GF.doDebug("\r\n\r\nLine : " + new StackTrace(ex, true).GetFrame(0).GetFileLineNumber());

                GF.submitErrorLog();
                waitHandle.WaitOne();

                /*MessageBox.Show("Whoops! Please contact the developers with the following"
                 + " information:\n\n" + ex.Message + ex.StackTrace,
                 +    "Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);*/
            }
            finally
            {
                if (currentProcess != null)
                {
                    currentProcess.Kill();
                }
                System.Environment.Exit(0);
            }
        }
Пример #2
0
        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            try
            {
                GF.closeLoading();
                Exception ex = (Exception)e.Exception;
                GF.doDebug("********** THREAD FATAL ERROR : " + Environment.MachineName + " **********");
                GF.doDebug(" [" + ex.TargetSite.ToString() + "]");
                GF.doDebug(ex.Message);
                GF.doDebug("\r\n\r\n" + ex.StackTrace);

                GF.doDebug("\r\n\r\nFile : " + new StackTrace(ex, true).GetFrame(0).GetFileName());
                GF.doDebug("\r\n\r\nLine : " + new StackTrace(ex, true).GetFrame(0).GetFileLineNumber());

                GF.submitErrorLog();
                waitHandle.WaitOne();
            }
            finally
            {
                if (currentProcess != null)
                {
                    currentProcess.Kill();
                }
                System.Environment.Exit(0);
            }
        }
Пример #3
0
        public static Image download(string fileName, string folderName)
        {
            GF.doDebug("DOWNLOADING " + fileName + " FROM " + folderName);
            Image         returnImage = null;
            FtpWebRequest request     = open(WebRequestMethods.Ftp.DownloadFile, fileName, folderName);

            if (request != null)
            {
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();

                Stream responseStream = response.GetResponseStream();

                if (response.StatusCode == FtpStatusCode.OpeningData)
                {
                    returnImage = Bitmap.FromStream(responseStream);
                }
                else
                {
                    MessageBox.Show("(" + response.StatusCode.ToString() + ") " + response.StatusDescription);
                    returnImage = null;
                }

                response.Close();
            }
            return(returnImage);
        }
Пример #4
0
        public static Boolean executeSP(string queryString, String stringParams, String stringValues)
        {
            // BEGIN SET
            if (conn.State != ConnectionState.Open)
            {
                //RAISE ERROR

                /*errorMsg = "Connection is not opened !!";
                 * MessageBox.Show(errorMsg);*/
                if (!open())
                {
                    return(false);
                }
            }
            if (trans == null)
            {
                //RAISE ERROR

                /*errorMsg = "Transaction is not established !!";
                 * MessageBox.Show(errorMsg);*/
                beginTrans();
            }

            // EXECUTE QUERY
            GF.doDebug("SETTING DATA ...");
            GF.doDebug("[EXECUTE SP] >>> " + queryString);

            try
            {
                using (command = new SqlCommand(queryString, conn, trans))
                {
                    command.CommandType = CommandType.StoredProcedure;
                    String[] Values = stringValues.Split(',');
                    int      index  = -1;
                    foreach (String param in stringParams.Split(','))
                    {
                        //"@FirstName", SqlDbType.VarChar
                        index++;
                        command.Parameters.Add(param, SqlDbType.Int).Value = Values[index];
                    }
                    command.ExecuteNonQuery();
                }
            }
            catch (Exception e)
            {
                errorMsg = e.ToString();
                GF.doDebug("[SET] could not set data ... " + errorMsg);
                GF.doDebug(queryString);
                trans.Rollback();
                trans.Dispose();
                trans = null;
                GF.doDebug("[SET] TRANSACTION IS ROLLBACKED !!");
                return(false);
            }
            GF.doDebug("[SET] data is set ...");
            lastQuery = queryString;
            saveLog(queryString, "EXECUTE SP " + queryString);

            return(true);
        }
Пример #5
0
        public static String[] GetDetailForAllFiles()
        {
            try
            {
                FtpWebRequest ftpclientRequest = open(WebRequestMethods.Ftp.ListDirectoryDetails, "", "SMS_CARDS");
                ftpclientRequest.Proxy = null;
                using (FtpWebResponse response = ftpclientRequest.GetResponse() as FtpWebResponse)
                {
                    StreamReader sr         = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
                    string       Datastring = sr.ReadToEnd();

                    GF.doDebug("\r\n" + Datastring + "\r\n");

                    FileStruct[] list = GetList(Datastring);
                    //Console.WriteLine("------------After Parsing-----------");
                    List <String> outputStr = new List <String>();
                    foreach (FileStruct thisstruct in list)
                    {
                        if (!thisstruct.IsDirectory)
                        {
                            outputStr.Add(thisstruct.Name + "!!!" + thisstruct.Size.ToString() + "!!!" + thisstruct.CreateTime);
                        }
                    }
                    return(outputStr.ToArray());
                }
            }
            catch (Exception e)
            {
                GF.doDebug(e.Message + "\r\n" + e.Data);
                return(null);
            }
        }
Пример #6
0
 private void main_page_FormClosing(object sender, FormClosingEventArgs e)
 {
     GF.doDebug(" ========== MAIN FORM IS NOW CLOSED !! ===========");
     //clock.Dispose();
     GF.closeChildren(this);
     GF.showLoading(this);
     //DB.logout();
     GF.closeLoading();
 }
Пример #7
0
 public re_issue_card_approve()
 {
     InitializeComponent();
     GF.doDebug("===== CHILD FORM :: " + this.Name + " IS OPENED =====");
     this.FormClosing += (s, e) =>
     {
         GF.doDebug("===== CHILD FORM :: " + this.Name + " IS CLOSED =====");
     };
 }
Пример #8
0
 public static bool close()
 {
     try
     {
         GF.doDebug("closing connection ...");
         String[] tmpStr = command.CommandText.Split(' ');
         GF.doDebug("trans == null[" + (trans == null).ToString() + "]");
         //GF.doDebug(">>>>> " + command.CommandText);
         if (tmpStr[0] == "SELECT")
         {
             if (trans == null)
             {
                 if (conn != null)
                 {
                     conn.Close();
                     conn.Dispose();
                     conn = null;
                     GF.doDebug("connection closed ...");
                 }
             }
         }
         else
         {
             GF.doDebug("[TRANSACTION] COMMITTING TRANSACTION ...");
             GF.doDebug("[TRANSACTION] NULL TRANSACTION ? " + (trans == null).ToString());
             if (trans != null)
             {
                 trans.Commit();
                 trans.Dispose();
                 trans = null;
                 GF.doDebug("[TRANSACTION] TRANSACTION IS COMMITTED ...");
             }
             if (conn != null)
             {
                 conn.Close();
                 conn.Dispose();
                 conn = null;
                 GF.doDebug("connection closed ...");
             }
             if (command != null)
             {
                 command.Dispose();
             }
         }
     }
     catch (Exception e)
     {
         errorMsg = e.ToString();
         GF.doDebug("could not close connection ... " + errorMsg);
         if (trans != null)
         {
             trans.Rollback();
         }
         return(false);
     }
     return(true);
 }
Пример #9
0
 public viewer()
 {
     InitializeComponent();
     GF.doDebug("===== CHILD FORM :: " + this.Name + " IS OPENED =====");
     this.FormClosing += (s, e) =>
     {
         GF.doDebug("===== CHILD FORM :: " + this.Name + " IS CLOSED =====");
     };
 }
Пример #10
0
        public static Boolean set(string queryString, string logMsg, bool fromLog = false)
        {
            // BEGIN SET
            if (conn == null)
            {
                if (!open())
                {
                    return(false);
                }
            }
            if (conn.State != ConnectionState.Open)
            {
                //RAISE ERROR

                /*errorMsg = "Connection is not opened !!";
                 * MessageBox.Show(errorMsg);
                 * return false;*/
                GF.doDebug("*** CONNECTION IS NOT OPENED !! ***");
                if (!open())
                {
                    return(false);
                }
            }
            if (trans == null)
            {
                beginTrans();
            }

            // EXECUTE QUERY
            GF.doDebug("SETTING DATA ...");
            GF.doDebug("[SET] >>> " + queryString);

            try
            {
                using (command = new SqlCommand(queryString, conn, trans))
                {
                    command.ExecuteNonQuery();
                }
            }
            catch (Exception e)
            {
                errorMsg = e.ToString();
                GF.doDebug("could not set data ... " + errorMsg);
                GF.doDebug(queryString);
                trans.Rollback();
                trans.Dispose();
                trans = null;
                GF.doDebug("TRANSACTION IS ROLLBACKED !!");
                return(false);
            }
            GF.doDebug("data is set ...");
            lastQuery = queryString;
            //saveLog(queryString, logMsg);

            return(true);
        }
Пример #11
0
        public static bool isValidDate(string date)
        {
            if (date.Trim().Length != 10)
            {
                return(false);
            }
            if (date.Trim().Replace(" ", "") == "//" || date.Trim().Replace(" ", "") == "--" || date.Trim().Replace(" ", "") == "..")
            {
                return(false);
            }

            /*int day = Convert.ToInt32(date.Trim().Split(GF.dateSep[0])[0]);
             * int month = Convert.ToInt32(date.Trim().Split(GF.dateSep[0])[1]);
             * int year = Convert.ToInt32(date.Trim().Split(GF.dateSep[0])[2]);*/

            int day   = 0;
            int month = 0;
            int year  = 0;

            if (!Int32.TryParse(date.Trim().Substring(0, 2), out day))
            {
                return(false);
            }
            if (!Int32.TryParse(date.Trim().Substring(3, 2), out month))
            {
                return(false);
            }
            if (!Int32.TryParse(date.Trim().Substring(6, 4), out year))
            {
                return(false);
            }

            GF.doDebug("CHECK DaysInMonth(" + year.ToString("0000") + ", " + month.ToString("00") + ")");

            if (month <= 0 || month > 12)
            {
                MessageBox.Show("MONTH MUST BE 1 - 12 !! (" + month.ToString("00") + ")", "ERROR");
                return(false);
            }

            if (year <= 0)
            {
                MessageBox.Show("YEAR MUST BE GREATER THAN 0 !! (" + year.ToString("0000") + ")", "ERROR");
                return(false);
            }

            if (day <= 0 || day > DateTime.DaysInMonth(year, month))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #12
0
        public static int insertReturnID(string Query, string logMsg)
        {
            int returnValue = -1;

            // BEGIN SET
            if (conn == null)
            {
                if (!open())
                {
                    return(-1);
                }
            }
            if (conn.State != ConnectionState.Open)
            {
                //RAISE ERROR
                errorMsg = "[insertReturnID] SET Connection is not opened !!";
                MessageBox.Show(errorMsg);
                return(-1);
            }
            else if (trans == null)
            {
                //RAISE ERROR
                errorMsg = "[insertReturnID] SET Transaction is not established !!";
                MessageBox.Show(errorMsg);
                return(-1);
            }
            else
            {
                // EXECUTE QUERY
                GF.doDebug("[insertReturnID] SETTING DATA ...");
                GF.doDebug("[INSERT RETURN ID] >>> " + Query);
                try
                {
                    using (command = new SqlCommand(Query + ";SELECT CAST(scope_identity() AS int)", conn, trans))
                    {
                        returnValue = (int)command.ExecuteScalar();
                    }
                }
                catch (Exception e)
                {
                    errorMsg = e.ToString();
                    GF.doDebug("[insertReturnID] could not set data ... " + errorMsg);
                    GF.doDebug(Query);
                    trans.Rollback();
                    trans.Dispose();
                    trans = null;
                    return(returnValue);
                }
                GF.doDebug("[insertReturnID] data is set ...");
                lastQuery = Query;
                saveLog(Query, logMsg);

                return(returnValue);
            }
        }
Пример #13
0
 public progress()
 {
     InitializeComponent();
     GF.doDebug("===== MAIN FORM :: " + this.Name + " IS OPENED =====");
     this.FormClosing += (s, e) =>
     {
         GF.doDebug("===== MAIN FORM :: " + this.Name + " IS CLOSED =====");
     };
     //remoteAddr = "localhost";
     //credential = new NetworkCredential("anonymous", "*****@*****.**");
 }
Пример #14
0
        static FtpWebRequest open(string Method, string fileName, string folderName)
        {
            GF.doDebug("OPENING CONNECTION TO ftp://" + Properties.Settings.Default.ftp_ip + "/" + folderName + "/" + fileName);
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + Properties.Settings.Default.ftp_ip + "/" + folderName + "/" + fileName);

            request.Method = Method;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential("SMS_FTP", "SMS_FTP");
            return(request);
        }
Пример #15
0
 public static void rollbackTrans()
 {
     GF.doDebug("[TRANSACTION] Rollbacking ...");
     if (trans != null)
     {
         trans.Rollback();
         trans.Dispose();
         trans = null;
     }
     close();
     GF.doDebug("[TRANSACTION] Rollback complete ...");
 }
Пример #16
0
        public static bool upload(string file_path, string new_fileName, string folderName)
        {
            GF.doDebug("UPLOADING " + new_fileName + " TO " + folderName);
            String card_front_ext = new_fileName.Substring(new_fileName.LastIndexOf("."));

            if (card_front_ext.Trim().ToLower().IndexOf("jpg") == -1 && card_front_ext.Trim().ToLower().IndexOf("png") == -1)
            {
                MessageBox.Show("FILE UPLOADING ACCEPTS ONLY .JPG OR .PNG !!", "ERROR");
                return(false);
            }
            bool          boolReturn = false;
            FtpWebRequest request    = open(WebRequestMethods.Ftp.UploadFile, new_fileName, folderName);

            if (request != null)
            {
                // Copy the contents of the file to the request stream.
                byte[] fileContents = File.ReadAllBytes(file_path);

                request.RenameTo      = new_fileName;
                request.ContentLength = fileContents.Length;

                try
                {
                    Stream requestStream;
                    using (requestStream = request.GetRequestStream())
                    {
                        requestStream.Write(fileContents, 0, fileContents.Length);
                        requestStream.Close();

                        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

                        if (response.StatusCode == FtpStatusCode.ClosingData)
                        {
                            boolReturn = true;
                        }
                        else
                        {
                            MessageBox.Show("(" + response.StatusCode.ToString() + ") " + response.StatusDescription);
                            boolReturn = false;
                        }

                        response.Close();
                    }
                }
                catch (Exception EX)
                {
                    MessageBox.Show(EX.Message);
                }
            }
            return(boolReturn);
        }
Пример #17
0
        public attachments()
        {
            InitializeComponent();
            GF.doDebug("===== CHILD FORM :: " + this.Name + " IS OPENED =====");
            this.FormClosing += (s, e) =>
            {
                GF.doDebug("===== CHILD FORM :: " + this.Name + " IS CLOSED =====");
            };

            DGV.Width  = line_sep1.Width;
            DGV.Height = this.Height - DGV.Top - 40;

            GF.disableButton(add_btn);
            GF.disableButton(delete_btn);
        }
Пример #18
0
 public login()
 {
     InitializeComponent();
     GF.doDebug("===== MAIN FORM :: " + this.Name + " IS OPENED =====");
     this.FormClosing += (s, e) =>
     {
         GF.doDebug("===== MAIN FORM :: " + this.Name + " IS CLOSED =====");
     };
     foreach (InputLanguage IL in InputLanguage.InstalledInputLanguages)
     {
         if (IL.LayoutName.ToString() == "US")
         {
             InputLanguage.CurrentInputLanguage = IL;
             break;
         }
     }
 }
Пример #19
0
        public static void initPage(Form childPage, main_page mainPage)
        {
            GF.closeChildren(mainPage);
            GF.showLoading(mainPage);

            GF.doDebug("========== MAIN FORM :: " + childPage.Name + " ==========");
            GF.selected_id = 0;

            childPage.MdiParent = mainPage;
            if (childPage.Name.IndexOf("report_") != -1)
            {
                childPage.Dock = DockStyle.Fill;
            }
            else
            {
                childPage.Size          = childPage.MdiParent.ClientSize;
                childPage.StartPosition = FormStartPosition.Manual;
            }
            childPage.WindowState = FormWindowState.Maximized;

            GF.addKeyUp(childPage);

            childPage.Load += (s, e) =>
            {
                //((Form)s).Visible = true;
            };
            childPage.LocationChanged += (s, e) =>
            {
                if (childPage.Left != 0)
                {
                    childPage.Left = -5;
                }
                if (childPage.Top != 0)
                {
                    childPage.Top = 0;
                }
            };
            if (!childPage.IsDisposed)
            {
                childPage.Show();
            }

            GF.closeLoading();
        }
Пример #20
0
 public static bool beginTrans()
 {
     GF.doDebug("[TRANSACTION] ESTABLISHING TRANSACTION ...");
     try
     {
         if (conn == null)
         {
             if (!open())
             {
                 return(false);
             }
         }
         else if (conn.State == ConnectionState.Closed)
         {
             if (!open())
             {
                 return(false);
             }
         }
         GF.doDebug("[TRANSACTION] NULL CONNECTION IS NULL ? : " + (conn == null).ToString());
         GF.doDebug("[TRANSACTION] CONNECTION IS CLOSED ? : " + (conn.State == ConnectionState.Closed).ToString());
         if (conn.State == ConnectionState.Closed)
         {
             conn.Close();
         }
         if (trans != null)
         {
             trans.Dispose();
         }
         trans = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
         GF.doDebug("[TRANSACTION] TRANSACTION IS ESTABLISHED");
         return(true);
     }
     catch (Exception e)
     {
         if (conn != null)
         {
             conn.Dispose();
         }
         GF.doDebug("COULD NOT ESTABLISH TRANSACTION ... " + e.Message);
         return(false);
     }
 }
Пример #21
0
        private static FileStruct ParseFileStructFromUnixStyleRecord(string Record)
        {
            GF.doDebug(Record);
            ///Assuming record style as
            /// dr-xr-xr-x   1 owner    group               0 Nov 25  2002 bussys
            FileStruct f          = new FileStruct();
            string     processstr = Record.Trim();

            f.Flags       = processstr.Substring(0, 9);
            f.IsDirectory = (f.Flags[0] == 'd');
            processstr    = (processstr.Substring(11)).Trim();
            _cutSubstringFromStringWithTrim(ref processstr, ' ', 0);   //skip one part
            f.Owner = _cutSubstringFromStringWithTrim(ref processstr, ' ', 0);
            f.Group = _cutSubstringFromStringWithTrim(ref processstr, ' ', 0);
            f.Size  = Convert.ToInt64(_cutSubstringFromStringWithTrim(ref processstr, ' ', 0));
            //_cutSubstringFromStringWithTrim(ref processstr,' ',0);   //skip one part
            f.CreateTime = DateTime.Parse(_cutSubstringFromStringWithTrim(ref processstr, ' ', 8));
            f.Name       = processstr; //Rest of the part is name
            return(f);
        }
Пример #22
0
        public static bool delete(string fileName, string folderName)
        {
            GF.doDebug("DELETING " + fileName + " FROM " + folderName);
            bool          boolReturn = false;
            FtpWebRequest request    = open(WebRequestMethods.Ftp.DeleteFile, fileName, folderName);

            if (request != null)
            {
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                if (response.StatusCode == FtpStatusCode.FileActionOK)
                {
                    boolReturn = true;
                }
                else
                {
                    MessageBox.Show("(" + response.StatusCode.ToString() + ") " + response.StatusDescription);
                    boolReturn = false;
                }
            }
            return(boolReturn);
        }
Пример #23
0
 public static void logout()
 {
     GF.doDebug("LOGGING OUT ...");
     if (!beginTrans())
     {
         MessageBox.Show("COULD NOT BEGIN DATABASE TRANSACTION !!");
         return;
     }
     else
     {
         if (!set("UPDATE USERS SET last_login = CURRENT_TIMESTAMP WHERE user_id = " + GF.user_id.ToString(), "LOGOUT SUCCESS, UPDATE LAST LOGIN"))
         {
             GF.doDebug("[ERROR] " + errorMsg);
             MessageBox.Show("ERROR : " + errorMsg);
         }
         else
         {
             GF.is_logged_in = false;
             close();
             GF.doDebug("LOG OUT COMPLETED.");
         }
     }
 }
Пример #24
0
 private static void saveLog(String Query, String logMsg)
 {
     GF.doDebug("saving log ...");
     try
     {
         String logQueryString = @"INSERT INTO LOG (
                                     subject, query, log_datetime, user_id, emp_id, old_value
                                 ) VALUES (
                                     '" + logMsg + @"', 
                                     '" + Query.Replace("'", "''") + @"', 
                                     CURRENT_TIMESTAMP, 
                                     " + GF.user_id + @", 
                                     ";
         if (GF.emp_id == 0)
         {
             logQueryString += "NULL";
         }
         else
         {
             logQueryString += GF.emp_id;
         }
         logQueryString += @", '" + GF.old_value + @"'
                 )
             ";
         GF.doDebug("[LOG] >>> " + logQueryString);
         //command = new SqlCommand(logQueryString, conn, trans);
         //command.ExecuteNonQuery();
     }
     catch (Exception e)
     {
         errorMsg = e.ToString();
         trans.Rollback();
         GF.doDebug("could not save log ... " + errorMsg);
         return;
     }
     GF.doDebug("log saved ...");
 }
Пример #25
0
        private void card_print_Load(object sender, EventArgs e)
        {
            String    queryString = "";
            DataTable DT          = null;

            switch (card_type)
            {
            case 0:
            case 1:             // MEMBERCARD & MEMBERCARD_LIMITED_EDITION
                print_card1_btn.Text  = "FRONT";
                print_card2_btn.Text  = "BACK";
                attach_paper_btn.Text = "ATTACH PAPER";
                break;

            case 2:     // GIFT CERTIFICATE
                print_card1_btn.Text    = "CARD";
                print_card1_btn.Width   = attach_paper_btn.Width;
                print_card2_btn.Visible = false;
                break;

            case 3:     // GIFT VOUCHER
                GF.enableButton(print_card1_btn);
                print_card1_btn.Text     = "CARD";
                print_card1_btn.Width    = attach_paper_btn.Width;
                print_card2_btn.Visible  = false;
                attach_paper_btn.Visible = false;
                groupBox1.Height         = attach_paper_btn.Top;
                instruction_lbl.Top      = groupBox1.Height + 15;
                this.Height = instruction_lbl.Top + instruction_lbl.Height + 40;
                break;
            }

            switch (card_type)
            {
            case 0:
            case 1:             // MEMBERCARD
                queryString = @"
                    SELECT 
                        A.CARD_NO,
                        B.*, C.CODE
                    FROM MEMBERCARD A 
                    INNER JOIN MEMBERCARD_TYPE B ON A.MEMBERCARD_TYPE_ID = B.MEMBERCARD_TYPE_ID 
                    INNER JOIN CUSTOMER C ON A.CUSTOMER_ID = C.CUSTOMER_ID
                    WHERE A.MEMBERCARD_ID = " + GF.selected_id.ToString();
                using (DT = DB.getS(queryString, null, "GET DATA FROM MEMBERCARD_TYPE", false))
                {
                    file1         = DT.Rows[0]["FRONT_CARD"].ToString();
                    file2         = DT.Rows[0]["BACK_CARD"].ToString();
                    file3         = DT.Rows[0]["ATTACH_PAPER"].ToString();
                    customer_code = DT.Rows[0]["CODE"].ToString();
                    if (card_no == "")
                    {
                        card_no = DT.Rows[0]["CARD_NO"].ToString();
                    }
                }
                break;

            case 2:     // GIFT CERTIFICATE
                queryString = "SELECT A.*, B.RUS_NAME FROM GIFT_CERTIFICATE A LEFT OUTER JOIN SPA_PROGRAM B ON A.SPA_PROGRAM_ID = B.SPA_PROGRAM_ID WHERE A.GIFT_CERTIFICATE_ID = " + GF.selected_id.ToString();
                using (DT = DB.getS(queryString, null, "GET SPA_PROGRAM_NAME FROM GIFT_CERTIFICATE[" + GF.selected_id.ToString() + "]", false))
                {
                    if (DT.Rows.Count == 1)
                    {
                        spaProgramName = DT.Rows[0]["RUS_NAME"].ToString();
                        if (DT.Rows[0]["BALANCE_MAX"].ToString() != "")
                        {
                            price = DT.Rows[0]["BALANCE_MAX"].ToString();
                        }
                        else
                        {
                            price = DT.Rows[0]["PRICE"].ToString();
                        }
                        from_txt = DT.Rows[0]["FROM_TXT"].ToString();
                        for_txt  = DT.Rows[0]["FOR_TXT"].ToString();
                        if (card_no == "")
                        {
                            card_no = DT.Rows[0]["CARD_NO"].ToString();
                        }
                    }
                }

                queryString = "SELECT * FROM GIFT_CERTIFICATE_CONFIG";
                DT          = DB.getS(queryString, null, "GET GIFT_CERTIFICATE_CONFIG", false);
                file1       = DT.Rows[0]["CARD1"].ToString();
                file3       = DT.Rows[0]["CARD2"].ToString();
                break;

            case 3:     // GIFT VOUCHER
                String[] tmp = GF.tmpText.Split();
                if (!isReIssue)
                {
                    if (GF.selected_id.ToString() != "-1")
                    {
                        queryString = "SELECT RUS_NAME FROM SPA_PROGRAM WHERE SPA_PROGRAM_ID = " + GF.selected_id.ToString();
                        using (DT = DB.getS(queryString, null, "GET RUS_NAME OF SPA_PROGRAM_NAME FROM GIFT_VOUCHER", false))
                        {
                            spaProgramName = DT.Rows[0]["RUS_NAME"].ToString();
                        }
                    }
                    else
                    {
                        spaProgramName = "ALL SPA PROGRAM " + tmp[0] + " " + tmp[1];
                    }
                }
                else
                {
                    if (GF.selected_id.ToString() != "-1")
                    {
                        queryString = "SELECT B.RUS_NAME FROM GIFT_VOUCHER A INNER JOIN SPA_PROGRAM B ON A.SPA_PROGRAM_ID = B.SPA_PROGRAM_ID WHERE A.GIFT_VOUCHER_ID = " + GF.selected_id.ToString();
                        using (DT = DB.getS(queryString, null, "GET RUS_NAME OF SPA_PROGRAM_NAME FROM GIFT_VOUCHER", false))
                        {
                            spaProgramName = DT.Rows[0]["RUS_NAME"].ToString();
                        }
                    }
                    else
                    {
                        spaProgramName = "ALL SPA PROGRAM " + tmp[0] + " " + tmp[1];
                    }
                }

                queryString = "SELECT * FROM GIFT_VOUCHER_CONFIG";
                using (DT = DB.getS(queryString, null, "GET GIFT_VOUCHER_CONFIG", false))
                {
                    file1 = DT.Rows[0]["CARD"].ToString();
                }
                break;
            }

            if (!isReIssue)
            {
                expire_amount = Convert.ToInt32(DT.Rows[0]["EXPIRE_AMOUNT"].ToString());
                expire_unit   = Convert.ToInt32(DT.Rows[0]["EXPIRE_UNIT"].ToString());

                if (expire_amount.ToString() != "0")
                {
                    DateTime expiryDate = new DateTime();
                    if (expire_unit == 0)
                    {
                        expiryDate = DateTime.Now.AddMonths(expire_amount);
                    }
                    if (expire_unit == 1)
                    {
                        expiryDate = DateTime.Now.AddYears(expire_amount);
                    }
                    expire_date = expiryDate.Day.ToString("00") + "/" + expiryDate.Month.ToString("00") + "/" + expiryDate.Year.ToString();
                }

                if (card_type == 3)
                {
                    card_no = (DateTime.Now.Year + 543).ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00") + new Random().Next(1, 100).ToString("00");
                }

                switch (card_type)
                {
                case 0:
                case 1:     // MEMBERCARD
                    break;

                case 2:
                    insertString = "UPDATE GIFT_CERTIFICATE SET IS_PAID = 1, IS_USE = 1 WHERE GIFT_CERTIFICATE_ID = " + GF.selected_id.ToString();
                    break;

                case 3:     // GIFT_VOUCHER
                    String[] tmp = GF.tmpText.Split(' ');

                    insertString = "INSERT INTO GIFT_VOUCHER (" + (billID != -1 ? "BILL_ID, " : "") + "CARD_NO, SPA_PROGRAM_ID, EXPIRY_DATE, DISCOUNT_AMOUNT, DISCOUNT_UNIT, ISSUE_BY, APPROVED_BY, ISSUE_FOR";
                    if (member_card_id != -1)
                    {
                        insertString += ", MEMBERCARD_ID";
                    }
                    insertString += ") SELECT " + (billID != -1 ? billID.ToString() + ", " : "") + "'" + card_no + "', " + GF.selected_id.ToString() + ", ";
                    if (GF.selected_id.ToString() != "-1")
                    {
                        insertString += "DATEADD(";
                        if (expire_unit == 0)
                        {
                            insertString += "MONTH";
                        }
                        if (expire_unit == 1)
                        {
                            insertString += "YEAR";
                        }
                        insertString += ", " + expire_amount.ToString() + ", GETDATE()), ";
                    }
                    else
                    {
                        insertString += GF.modDate(tmp[2]) + ", ";
                    }
                    insertString += tmp[0] + ", ";
                    insertString += (tmp[1].Trim() == "%" ? "0, " : "1, ");
                    insertString += GF.emp_id.ToString() + ", " + approved_id.ToString() + ", '" + gv_issue_for + "'";
                    if (member_card_id != -1)
                    {
                        insertString += ", " + member_card_id.ToString();
                    }
                    insertString += " FROM GIFT_VOUCHER_CONFIG WHERE GIFT_VOUCHER_CONFIG_ID = 1";
                    break;
                }

                if (insertString.Trim() != "")
                {
                    DB.beginTrans();
                    GF.doDebug(">>>>>>>>>> " + insertString);
                    if (!DB.set(insertString, "INSERT INTO " + type_name[card_type] + " TABLE"))
                    {
                        GF.closeLoading();
                        MessageBox.Show("ERROR INSERT INTO " + type_name[card_type] + " TABLE !!", "ERROR");
                        return;
                    }
                    else
                    {
                        DB.close();
                    }
                }
            }
            else
            {
                switch (card_type)
                {
                case 0:
                case 1:             // MEMBERCARD
                    queryString = "SELECT CARD_NO, CONVERT(NVARCHAR(MAX), EXPIRE_DATE, 103) EXPIRY_DATE FROM MEMBERCARD WHERE MEMBERCARD_ID = " + GF.selected_id.ToString();
                    DT          = DB.getS(queryString, null, "GET CARD_NO, EXPIRY_DATE FROM MEMBERCARD[" + GF.selected_id.ToString() + "]", false);
                    break;

                case 2:
                    queryString = "SELECT CARD_NO, CONVERT(NVARCHAR(MAX), EXPIRY_DATE, 103) EXPIRY_DATE FROM GIFT_CERTIFICATE WHERE GIFT_CERTIFICATE_ID = " + GF.selected_id.ToString();
                    DT          = DB.getS(queryString, null, "GET CARD_NO, EXPIRY_DATE FROM GIFT_CERTIFICATE[" + GF.selected_id.ToString() + "]", false);
                    break;

                case 3:
                    queryString = "SELECT CARD_NO, CONVERT(NVARCHAR(MAX), EXPIRY_DATE, 103) EXPIRY_DATE FROM GIFT_VOUCHER WHERE GIFT_VOUCHER_ID = " + GF.selected_id.ToString();
                    DT          = DB.getS(queryString, null, "GET CARD_NO, EXPIRY_DATE FROM GIFT_VOUCHER[" + GF.selected_id.ToString() + "]", false);
                    break;
                }

                card_no     = DT.Rows[0]["CARD_NO"].ToString();
                expire_date = DT.Rows[0]["EXPIRY_DATE"].ToString();
                DT.Dispose();
            }
        }
Пример #26
0
        static void Main()
        {
            try
            {
                if (Process.GetProcessesByName("SPA MANAGEMENT SYSTEM").Length <= 1)
                {
                    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
                    Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
                    Application.ApplicationExit += (ss, ee) =>
                    {
                        if (GF.is_logged_in)
                        {
                            DB.logout();
                        }
                    };

                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);

                    if (!File.Exists(GF.path))
                    {
                        File.Create(GF.path);
                    }
                    else
                    {
                        File.WriteAllText(GF.path, String.Empty);
                    }

                    //Application.Run(new login());
                    Application.Run(new main_page());
                    // Check if user is NOT admin
                    if (!IsRunningAsAdministrator())
                    {
                        // Setting up start info of the new process of the same application
                        ProcessStartInfo processStartInfo = new ProcessStartInfo(Assembly.GetEntryAssembly().CodeBase);

                        // Using operating shell and setting the ProcessStartInfo.Verb to “runas” will let it run as admin
                        processStartInfo.UseShellExecute = true;
                        processStartInfo.Verb            = "runas";

                        // Start the application as new process
                        currentProcess = Process.Start(processStartInfo);

                        // Shut down the current (old) process
                        System.Windows.Forms.Application.Exit();
                    }
                }
            }

            catch (Win32Exception e)
            {
                GF.doDebug("\r\n\r\n APPLICATION EXIT WITH CODE : " + e.ErrorCode);
                GF.doDebug("\r\n\r\n" + e.Message);
                GF.doDebug("\r\n\r\n" + e.StackTrace);

                GF.doDebug("\r\n\r\nFile : " + new StackTrace(e, true).GetFrame(0).GetFileName());
                GF.doDebug("\r\n\r\nLine : " + new StackTrace(e, true).GetFrame(0).GetFileLineNumber());

                if (currentProcess != null)
                {
                    currentProcess.Kill();
                }
                System.Environment.Exit(0);
            }
        }
Пример #27
0
        void syncFile()
        {
            if (FilesToDownload.Count > 0)
            {
                GF.doDebug("[ FILE LIST :: BEGIN ] TOTAL : " + FilesToDownload.Count.ToString() + " FILE" + (FilesToDownload.Count > 1 ? "S" : ""));
                int count = 1;
                foreach (String file in FilesToDownload)
                {
                    GF.doDebug(count.ToString() + ". " + file);
                    count++;
                }
                GF.doDebug("[ FILE LIST :: END ]");
                backgroundTask.ReportProgress(0);

                bytesTotal = new long[FilesToDownload.Count];

                foreach (String file in FilesToDownload)
                {
                    FtpWebRequest fileSizeFTP;
                    fileSizeFTP             = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + remoteAddr + "/" + folderName + "/" + file));
                    fileSizeFTP.Credentials = credential;
                    fileSizeFTP.KeepAlive   = false;
                    fileSizeFTP.Method      = WebRequestMethods.Ftp.GetFileSize;
                    fileSizeFTP.UseBinary   = true;
                    fileSizeFTP.Proxy       = null;
                    fileSizeFTP.UsePassive  = true;

                    using (FtpWebResponse fileSizeResponse = (FtpWebResponse)fileSizeFTP.GetResponse())
                    {
                        bytesTotal[index] = fileSizeResponse.ContentLength;
                        fileSizeResponse.Close();
                    }

                    index++;
                }

                // START DOWNLOAD FILE
                Mode  = 1;
                index = 0;
                foreach (String file in FilesToDownload)
                {
                    backgroundTask.ReportProgress(0);
                    //GF.doDebug("FILE " + (index + 1).ToString() + " : " + file);
                    string uri       = "ftp://" + remoteAddr + "/" + folderName + "/" + file;
                    Uri    serverUri = new Uri(uri);
                    if (serverUri.Scheme != Uri.UriSchemeFtp)
                    {
                        return;
                    }

                    FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + remoteAddr + "/" + folderName + "/" + file));
                    reqFTP.Credentials = credential;
                    reqFTP.KeepAlive   = true;
                    reqFTP.Method      = WebRequestMethods.Ftp.DownloadFile;
                    reqFTP.UseBinary   = true;
                    reqFTP.Proxy       = null;
                    reqFTP.UsePassive  = true;

                    using (FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse())
                    {
                        using (Stream responseStream = response.GetResponseStream())
                        {
                            int    Length    = 2048;
                            Byte[] buffer    = new Byte[Length];
                            int    bytesRead = 0;
                            long   allRead   = 0;
                            using (FileStream writeStream = new FileStream(@"C:\" + folderName + @"\" + file, FileMode.Create))
                            {
                                GF.doDebug("[ DOWNLOAD FILE ] " + "ftp://" + remoteAddr + "/" + folderName + "/" + file);
                                allRead += bytesRead = responseStream.Read(buffer, 0, buffer.Length);
                                //GF.doDebug("[" + file + "] " + ((int)(((float)allRead / (float)bytesTotal[index]) * 100.0)).ToString() + "% " + allRead.ToString() + "/" + bytesTotal[index].ToString());
                                backgroundTask.ReportProgress((int)(((float)allRead / (float)bytesTotal[index]) * 100.0));
                                while (bytesRead > 0)
                                {
                                    writeStream.Write(buffer, 0, bytesRead);
                                    allRead += bytesRead = responseStream.Read(buffer, 0, Length);
                                    backgroundTask.ReportProgress((int)(((float)allRead / (float)bytesTotal[index]) * 100.0));
                                    //GF.doDebug("[" + file + "] " + ((int)(((float)allRead / (float)bytesTotal[index]) * 100.0)).ToString() + "% " + allRead.ToString() + "/" + bytesTotal[index].ToString());
                                }
                                GF.doDebug("[ DOWNLOAD COMPLETED ] " + file);
                                writeStream.Close();
                            }
                            response.Close();
                        }
                    }

                    while (true)
                    {
                        if (progressBar.Value == progressBar.Maximum)
                        {
                            Thread.Sleep(1000);
                            break;
                        }
                    }
                    index++;
                    //if (index == 2) return;
                    currentFile++;
                }

                //GF.doDebug("PROGRESS CLOSE !!");
            }
        }
Пример #28
0
        void getFTPFileList()
        {
            FTPFiles = new List <string>();
            using (DataTable myDT = DB.getS("SELECT FRONT_CARD, BACK_CARD, ATTACH_PAPER FROM MEMBERCARD_TYPE WHERE IS_USE = 1", null, "GET MEMBERCARD FILES", false))
            {
                foreach (DataRow myDR in myDT.Rows)
                {
                    FTPFiles.Add(myDR["FRONT_CARD"].ToString());
                    FTPFiles.Add(myDR["BACK_CARD"].ToString());
                    FTPFiles.Add(myDR["ATTACH_PAPER"].ToString());
                }
            }

            using (DataTable myDT = DB.getS("SELECT CARD1, CARD2 FROM GIFT_CERTIFICATE_CONFIG", null, "GET GIFT_CERTIFICATE FILES", false))
            {
                foreach (DataRow myDR in myDT.Rows)
                {
                    FTPFiles.Add(myDR["CARD1"].ToString());
                    FTPFiles.Add(myDR["CARD2"].ToString());
                }
            }

            foreach (String tmpStr in FTPFiles)
            {
                GF.doDebug("- " + tmpStr);
            }

            /*StringBuilder result = new StringBuilder();
             * WebResponse response = null;
             * StreamReader reader = null;
             * try
             * {
             *  FtpWebRequest reqFTP;
             *  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + remoteAddr + "/SMS_CARDS/"));
             *  reqFTP.UseBinary = true;
             *  reqFTP.Credentials = credential;
             *  reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
             *  reqFTP.Proxy = null;
             *  reqFTP.KeepAlive = true;
             *  reqFTP.UsePassive = true;
             *  using (response = reqFTP.GetResponse())
             *  {
             *      using (reader = new StreamReader(response.GetResponseStream()))
             *      {
             *          string line = reader.ReadLine();
             *          while (line != null)
             *          {
             *              result.Append(line);
             *              result.Append("\n");
             *              line = reader.ReadLine();
             *          }
             *          // to remove the trailing '\n'
             *          result.Remove(result.ToString().LastIndexOf('\n'), 1);
             *          result.Replace("version.txt\n", "");
             *          String[] tmp = result.ToString().Split('\n');
             *          GF.doDebug("\r\n========== FTP FILE ==========");
             *          FTPFiles = new List<string>();
             *          foreach (String tmpStr in tmp) {
             *              FTPFiles.Add(tmpStr);
             *              GF.doDebug("- " + tmpStr);
             *          }
             *          GF.doDebug("\r\n");
             *          return true;
             *      }
             *  }
             * }
             * catch (Exception ex)
             * {
             *  if (reader != null)
             *  {
             *      reader.Close();
             *  }
             *  if (response != null)
             *  {
             *      response.Close();
             *  }
             *  FTPFiles = null;
             *  GF.doDebug("[ GET FILE LIST :: ERROR ] >>> " + ex.Message);
             *  return false;
             * }*/
        }
Пример #29
0
        /*public static DataTable get(string Query, string logMsg, bool paging = true)
         * {
         *  //if (!open("GET"))
         *  if (!open())
         *  {
         *      //RAISE ERROR
         *      return null;
         *  }
         *  else
         *  {
         *      GF.doDebug("[GET] getting data ... [ " + logMsg + " ]");
         *      GF.doDebug("[GET] >>> " + modifySelect(Query, paging));
         *
         *      try
         *      {
         *          using (command = new SqlCommand(modifySelect(Query, paging), conn, trans))
         *          {
         *              using (SqlDataAdapter dataAdapter = new SqlDataAdapter(command))
         *              {
         *                  using (DataSet myDS = new DataSet())
         *                  {
         *                      //GF.closeLoading();
         *                      dataAdapter.Fill(myDS);
         *                      GF.doDebug("got data ...");
         *                      lastQuery = modifySelect(Query, paging);
         *                      GF.doDebug("HAS " + myDS.Tables[0].Rows.Count.ToString() + " DATA");
         *                      return myDS.Tables[0];
         *                  }
         *              }
         *          }
         *      }
         *      catch (Exception e)
         *      {
         *          errorMsg = e.ToString();
         *          GF.doDebug("could not get data ... \r\n\r\n" + errorMsg + "\r\n\r\n");
         *          GF.doDebug(modifySelect(Query, paging));
         *
         *          MessageBox.Show("COULD NOT GET DATA ...\r\nPLEASE TRY AGAIN LATER :)", "ERROR");
         *
         *          return null;
         *      }
         *      finally
         *      {
         *          close();
         *      }
         *  }
         * }*/

        public static DataTable getS(string Query, Dictionary <string, string> Params, string logMsg, bool paging = true)
        {
            //if (!open("GET"))
            if (!open())
            {
                //RAISE ERROR
                return(null);
            }
            else
            {
                GF.doDebug("[GET] getting data ... [ " + logMsg + " ]");
                GF.doDebug("[GET] >>> " + modifySelect(Query, paging));

                try
                {
                    using (command = new SqlCommand(modifySelect(Query, paging), conn, trans))
                    {
                        if (Params != null)
                        {
                            if (Params.Count > 0)
                            {
                                SqlParameter param;
                                foreach (KeyValuePair <string, string> entry in Params)
                                {
                                    param = new SqlParameter();
                                    Console.WriteLine(entry.Key + " : " + entry.Value);
                                    param.ParameterName = entry.Key;
                                    param.Value         = entry.Value.Trim();
                                    command.Parameters.Add(param);
                                }
                            }
                        }

                        using (SqlDataAdapter dataAdapter = new SqlDataAdapter(command))
                        {
                            using (DataSet myDS = new DataSet())
                            {
                                //GF.closeLoading();

                                dataAdapter.Fill(myDS);
                                GF.doDebug("got data ...");
                                lastQuery = modifySelect(Query, paging);
                                GF.doDebug("HAS " + myDS.Tables[0].Rows.Count.ToString() + " DATA");
                                return(myDS.Tables[0]);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    errorMsg = e.ToString();
                    Console.WriteLine(Query);
                    GF.doDebug("could not get data ... \r\n\r\n" + errorMsg + "\r\n\r\n");
                    GF.doDebug(modifySelect(Query, paging));

                    MessageBox.Show("COULD NOT GET DATA ...\r\nPLEASE TRY AGAIN LATER :)", "ERROR");

                    return(null);
                }
                finally
                {
                    close();
                }
            }
        }
Пример #30
0
        public static bool open()
        {
            if (localIP == "")
            {
                System.Net.IPHostEntry host;
                host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
                foreach (System.Net.IPAddress ip in host.AddressList)
                {
                    if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                    {
                        localIP = ip.ToString();
                        break;
                    }
                }
            }
            GF.doDebug("opening connection ...");
            errorMsg = "";

            if (localIP == "192.168.1.251" || Environment.MachineName == "SPA01-PC")
            {
                DataSource = "localhost";
            }
            else if (Properties.Settings.Default.db_ip == "")
            {
                DataSource = DataSource = "85.30.232.165";                                              //"192.168.1.251";
            }
            else
            {
                DataSource = Properties.Settings.Default.db_ip;
            }

            if (useLocalHost)
            {
                DataSource = "localhost";
            }

            DataSource += "\\SQLEXPRESS,25529";

            SqlConnectionStringBuilder connectionString = new SqlConnectionStringBuilder();

            connectionString.UserID         = UserID;
            connectionString.Password       = Password;
            connectionString.DataSource     = DataSource;
            connectionString.InitialCatalog = DBName;
            connectionString.ConnectTimeout = 15;
            GF.doDebug("\r\n" + connectionString.ConnectionString + "\r\n");

            if (conn == null || conn.State == ConnectionState.Closed)
            {
                conn = new SqlConnection(connectionString.ConnectionString);
                try
                {
                    GF.doDebug("CREATING NEW SQL CONNECTION ...");
                    conn.Open();

                    GF.doDebug("SQL CONNECTION IS CREATED !!");
                }
                catch (Exception e)
                {
                    if (conn != null)
                    {
                        conn.Dispose();
                    }
                    errorMsg = e.ToString();
                    MessageBox.Show("CANNOT CONNECT TO DATABASE.\r\n\r\nPLEASE TRY AGAIN A FEW MINUTES LATER ...", "ERROR");
                    GF.doDebug("could not open connection ... \r\n\r\n" + errorMsg);
                    System.Environment.Exit(0);
                    return(false);
                }
                GF.doDebug("connection opened ...");
                return(true);
            }

            GF.doDebug("CONNECTION STATE :: " + conn.State.ToString());

            return(true);
        }