home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPUserBill.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  10.3 KB  |  470 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Choice;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Panel;
  8. import java.awt.TextField;
  9. import java.util.Date;
  10. import java.util.StringTokenizer;
  11. import java.util.Vector;
  12.  
  13. public class JDPUserBill extends JDPClassLayout {
  14.    JDPWhereClause jdpWhereClause;
  15.    JDPSearchResults searchResults;
  16.    String[] psortChoice;
  17.    String[] pdisplayChoice;
  18.    int itemIndex;
  19.    JDPPopupMessage popuppanel;
  20.    TextField username;
  21.    TextField firstname;
  22.    TextField lastname;
  23.    TextField userstatus;
  24.    TextField cardnum;
  25.    TextField cardexpiry;
  26.    TextField cardname;
  27.    String pfromWhereClause;
  28.  
  29.    void loadUser() {
  30.       int var2 = 0;
  31.       Vector var3 = new Vector();
  32.       String var4 = super.user.jaggSQL.getSEP();
  33.       this.itemIndex = this.searchResults.resultList.getSelectedIndex();
  34.       String var6 = this.searchResults.recordKey0[this.itemIndex];
  35.       String var7 = "SELECT username,firstname,lastname,status,cardnum,cardexpiry,cardname " + "FROM JDPUser WHERE userid = " + var6;
  36.       if (super.user.DEBUG) {
  37.          System.out.println("JDPUserBill/loadUser SQL: " + var7);
  38.       }
  39.  
  40.       super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  41.       var2 = super.user.jaggSQL.execSQL(var7, var3);
  42.       if (super.user.DEBUG) {
  43.          System.out.println("JDPUserBill/loadUser CNT: " + Integer.toString(var2));
  44.       }
  45.  
  46.       if (var2 == -1) {
  47.          super.user.u.setSqlMessage(super.user.jaggSQL, var7);
  48.       } else if (var2 == 1) {
  49.          String var8 = "A";
  50.          String var5 = (String)var3.elementAt(0);
  51.          if (var5 != null && var5.trim().compareTo("") != 0) {
  52.             StringTokenizer var1 = new StringTokenizer(var5);
  53.             this.username.setText(var1.nextToken(var4).trim());
  54.             this.firstname.setText(var1.nextToken(var4).trim());
  55.             this.lastname.setText(var1.nextToken(var4).trim());
  56.             var8 = var1.nextToken(var4).trim();
  57.             this.cardnum.setText(var1.nextToken(var4).trim());
  58.             this.cardexpiry.setText(var1.nextToken(var4).trim());
  59.             this.cardname.setText(var1.nextToken(var4).trim());
  60.          }
  61.  
  62.          if (var8.compareTo("A") == 0) {
  63.             this.userstatus.setText("Active");
  64.          }
  65.  
  66.          if (var8.compareTo("P") == 0) {
  67.             this.userstatus.setText("Pending");
  68.          }
  69.  
  70.          if (var8.compareTo("S") == 0) {
  71.             this.userstatus.setText("Suspended");
  72.          }
  73.  
  74.          if (var8.compareTo("C") == 0) {
  75.             this.userstatus.setText("Cancelled");
  76.          }
  77.  
  78.          if (var8.compareTo("X") == 0) {
  79.             this.userstatus.setText("Deleted");
  80.          }
  81.  
  82.          if (var8.compareTo("F") == 0) {
  83.             this.userstatus.setText("Free");
  84.          }
  85.  
  86.          if (var8.compareTo("G") == 0) {
  87.             this.userstatus.setText("Guest");
  88.          }
  89.  
  90.          super.user.mainmsg.clearStatusMsg();
  91.       } else {
  92.          super.user.mainmsg.setStatusMsg("Requested user does not exist.", 10);
  93.          this.clearFields();
  94.       }
  95.    }
  96.  
  97.    void newSearch() {
  98.       String var1 = this.pfromWhereClause + " AND " + this.jdpWhereClause.whereClause;
  99.       this.searchResults.setFromWhereClause(var1);
  100.       this.searchResults.clearList();
  101.       this.searchResults.loadList();
  102.    }
  103.  
  104.    void clearFields() {
  105.       this.username.setText("");
  106.       this.userstatus.setText("");
  107.       this.firstname.setText("");
  108.       this.lastname.setText("");
  109.       this.cardnum.setText("");
  110.       this.cardexpiry.setText("");
  111.       this.cardname.setText("");
  112.    }
  113.  
  114.    boolean saveUser() {
  115.       int var1 = 0;
  116.       Vector var2 = new Vector();
  117.       super.user.jaggSQL.getSEP();
  118.       this.itemIndex = this.searchResults.resultList.getSelectedIndex();
  119.       if (this.itemIndex < 0) {
  120.          super.user.mainmsg.setStatusMsg("You must first make a selection", 5);
  121.          return false;
  122.       } else {
  123.          String var3 = this.searchResults.recordKey0[this.itemIndex];
  124.          String var4 = "UPDATE JDPUser SET cardnum = '" + this.cardnum.getText() + "', " + "cardexpiry = '" + this.cardexpiry.getText() + "', " + "cardname = '" + this.cardname.getText() + "' " + "WHERE userid = " + var3;
  125.          if (super.user.DEBUG) {
  126.             System.out.println("JDPUserBill/saveUser SQL: " + var4);
  127.          }
  128.  
  129.          super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  130.          var1 = super.user.jaggSQL.execSQL(var4, var2);
  131.          if (super.user.DEBUG) {
  132.             System.out.println("JDPUserBill/saveUser CNT: " + Integer.toString(var1));
  133.          }
  134.  
  135.          if (var1 == -1) {
  136.             super.user.u.setSqlMessage(super.user.jaggSQL, var4);
  137.             return false;
  138.          } else {
  139.             if (var1 == 1) {
  140.                super.user.mainmsg.setStatusMsg("Card details successfully updated.", 3);
  141.             } else {
  142.                super.user.mainmsg.setStatusMsg("Card details update failed", 10);
  143.             }
  144.  
  145.             return true;
  146.          }
  147.       }
  148.    }
  149.  
  150.    boolean validCard() {
  151.       String var1 = this.cardnum.getText();
  152.       if (!super.user.u.isnumeric(this.cardnum, super.user.mainmsg)) {
  153.          return false;
  154.       } else {
  155.          long var2 = 0L;
  156.          if (var1.length() != 13 && var1.length() != 15 && var1.length() != 16) {
  157.             return false;
  158.          } else {
  159.             for(int var4 = 0; var4 < var1.length() - 1; ++var4) {
  160.                int var5 = Integer.parseInt(var1.substring(var1.length() - var4 - 2, var1.length() - var4 - 1));
  161.                if (var4 % 2 == 0) {
  162.                   var5 *= 2;
  163.                   if (var5 > 8) {
  164.                      var5 = 1 + var5 - 10;
  165.                   }
  166.                }
  167.  
  168.                var2 += (long)var5;
  169.             }
  170.  
  171.             String var8 = Long.toString(var2);
  172.             var8 = var8.substring(var8.length() - 1);
  173.             int var10 = 10 - Integer.parseInt(var8);
  174.             String var6 = Integer.toString(var10).trim();
  175.             var6 = var6.substring(var6.length() - 1);
  176.             String var7 = var1.substring(var1.length() - 1);
  177.             if (var7.compareTo(var6) != 0) {
  178.                return false;
  179.             } else {
  180.                return true;
  181.             }
  182.          }
  183.       }
  184.    }
  185.  
  186.    boolean checkFields() {
  187.       return this.userstatus.getText().compareTo("Active") != 0 || this.checkCard();
  188.    }
  189.  
  190.    public boolean handleEvent(Event var1) {
  191.       switch (var1.id) {
  192.          case 401:
  193.             if (var1.key == 9) {
  194.                if (var1.target.equals(this.username)) {
  195.                   super.user.u.cursor(this.cardnum);
  196.                   return true;
  197.                }
  198.  
  199.                if (var1.target.equals(this.firstname)) {
  200.                   super.user.u.cursor(this.cardnum);
  201.                   return true;
  202.                }
  203.  
  204.                if (var1.target.equals(this.lastname)) {
  205.                   super.user.u.cursor(this.cardnum);
  206.                   return true;
  207.                }
  208.  
  209.                if (var1.target.equals(this.userstatus)) {
  210.                   super.user.u.cursor(this.cardnum);
  211.                   return true;
  212.                }
  213.  
  214.                if (var1.target.equals(this.cardnum)) {
  215.                   super.user.u.cursor(this.cardexpiry);
  216.                   return true;
  217.                }
  218.  
  219.                if (var1.target.equals(this.cardexpiry)) {
  220.                   super.user.u.cursor(this.cardname);
  221.                   return true;
  222.                }
  223.  
  224.                if (var1.target.equals(this.cardname)) {
  225.                   super.user.u.cursor(this.cardnum);
  226.                   return true;
  227.                }
  228.  
  229.                return true;
  230.             }
  231.  
  232.             return false;
  233.          case 503:
  234.          case 504:
  235.          case 505:
  236.             this.popuppanel.postEvent(var1);
  237.             return false;
  238.          case 1001:
  239.             if (var1.target.equals(this.searchResults.resultList)) {
  240.                this.loadUser();
  241.                return true;
  242.             } else {
  243.                if (var1.target instanceof Button) {
  244.                   String var2 = (String)var1.arg;
  245.                   if (var2.trim().compareTo("Apply") == 0) {
  246.                      if (this.checkFields()) {
  247.                         this.saveUser();
  248.                      }
  249.  
  250.                      return true;
  251.                   }
  252.  
  253.                   if (var2.compareTo("Reset") == 0) {
  254.                      this.loadUser();
  255.                      return true;
  256.                   }
  257.  
  258.                   if (var2.compareTo("Validate") == 0) {
  259.                      this.checkCard();
  260.                      return true;
  261.                   }
  262.  
  263.                   if (var2.compareTo("Search") == 0) {
  264.                      this.newSearch();
  265.                      return true;
  266.                   }
  267.                }
  268.  
  269.                if (var1.target instanceof Choice) {
  270.                   return true;
  271.                }
  272.  
  273.                if (var1.target instanceof TextField) {
  274.                   this.checkFields();
  275.                }
  276.  
  277.                return false;
  278.             }
  279.          default:
  280.             return false;
  281.       }
  282.    }
  283.  
  284.    boolean checkexpiry() {
  285.       String var1 = this.cardexpiry.getText();
  286.       if (!super.user.u.isnumeric(this.cardexpiry, super.user.mainmsg)) {
  287.          return false;
  288.       } else {
  289.          if (var1.length() == 3) {
  290.             var1 = "0" + var1;
  291.          }
  292.  
  293.          if (var1.length() > 4) {
  294.             var1 = var1.substring(0, 4);
  295.          }
  296.  
  297.          int var2 = Integer.parseInt(var1.substring(0, 2));
  298.          int var3 = Integer.parseInt(var1.substring(2, 4));
  299.          String var5 = Integer.toString(var2);
  300.          if (var5.length() == 1) {
  301.             var5 = "0" + var5;
  302.          }
  303.  
  304.          String var6 = Integer.toString(var3);
  305.          if (var6.length() == 1) {
  306.             var6 = "0" + var6;
  307.          }
  308.  
  309.          if (var3 < 90) {
  310.             (new StringBuffer()).append(var5).append("/28/20").append(var6).toString();
  311.          } else {
  312.             (new StringBuffer()).append(var5).append("/28/19").append(var6).toString();
  313.          }
  314.  
  315.          if (var2 >= 1 && var2 <= 12) {
  316.             if (var3 >= 0 && var3 <= 99) {
  317.                Date var7 = new Date();
  318.  
  319.                Date var8;
  320.                try {
  321.                   var8 = new Date(var3, var2 - 1, 30);
  322.                } catch (IllegalArgumentException var9) {
  323.                   return false;
  324.                }
  325.  
  326.                if (var8.before(var7)) {
  327.                   super.user.mainmsg.setStatusMsg("Card has already expired.", 7);
  328.                   return false;
  329.                } else {
  330.                   this.cardexpiry.setText(var5 + var6);
  331.                   return true;
  332.                }
  333.             } else {
  334.                super.user.mainmsg.setStatusMsg("Invalid Card Expiry year.", 7);
  335.                return false;
  336.             }
  337.          } else {
  338.             super.user.mainmsg.setStatusMsg("Invalid Card Expiry month.", 7);
  339.             return false;
  340.          }
  341.       }
  342.    }
  343.  
  344.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  345.       super.user = var1;
  346.       ((Container)this).setLayout(new BorderLayout());
  347.       ((Component)this).setFont(var1.plainFont);
  348.       this.popuppanel = new JDPPopupMessage(var1, var2);
  349.       ((Container)var2).add(this.popuppanel);
  350.       Panel var4 = new Panel();
  351.       ((Container)var4).setLayout(new BorderLayout());
  352.       Panel var5 = new Panel();
  353.       ((Container)var5).setLayout(new BorderLayout());
  354.       Panel var6 = new Panel();
  355.       ((Container)var6).setLayout(new BorderLayout());
  356.       JDPScrollPanel var7 = new JDPScrollPanel();
  357.       String var8 = "userid,username,firstname,lastname,status";
  358.       this.pfromWhereClause = "FROM JDPUser WHERE (jdpsystem0 = '" + var1.JDPSystem + "' " + "OR jdpsystem1 = '" + var1.JDPSystem + "' " + "OR jdpsystem2 = '" + var1.JDPSystem + "' " + "OR jdpsystem3 = '" + var1.JDPSystem + "' " + "OR jdpsystem4 = '" + var1.JDPSystem + "' " + "OR jdpsystem5 = '" + var1.JDPSystem + "' " + "OR jdpsystem6 = '" + var1.JDPSystem + "' " + "OR jdpsystem7 = '" + var1.JDPSystem + "' " + "OR jdpsystem8 = '" + var1.JDPSystem + "' " + "OR jdpsystem9 = '" + var1.JDPSystem + "')";
  359.       this.psortChoice = new String[5];
  360.       this.psortChoice[0] = "username";
  361.       this.psortChoice[1] = "cardnum";
  362.       this.psortChoice[2] = "cardname";
  363.       this.psortChoice[3] = "firstname";
  364.       this.psortChoice[4] = "lastname";
  365.       String[] var9 = new String[]{"Sort by User Name", "Sort by Card Number", "Sort by Card Name", "Sort by First Name", "Sort by Last Name"};
  366.       this.pdisplayChoice = this.psortChoice;
  367.       String var10 = var9[0];
  368.       boolean var11 = true;
  369.       String var12 = "Total Entries:";
  370.       this.username = new TextField("", 20);
  371.       this.firstname = new TextField("", 20);
  372.       this.lastname = new TextField("", 20);
  373.       this.userstatus = new TextField("", 10);
  374.       this.cardnum = new TextField("", 20);
  375.       this.cardexpiry = new TextField("", 5);
  376.       this.cardname = new TextField("", 20);
  377.       this.username.setEditable(false);
  378.       this.firstname.setEditable(false);
  379.       this.lastname.setEditable(false);
  380.       this.userstatus.setEditable(false);
  381.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Username:"));
  382.       ((Container)var7).add("Right", this.username);
  383.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "First Name:"));
  384.       ((Container)var7).add("Right", this.firstname);
  385.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Last Name:"));
  386.       ((Container)var7).add("Right", this.lastname);
  387.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Status:"));
  388.       ((Container)var7).add("Right", this.userstatus);
  389.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Card Number:"));
  390.       ((Container)var7).add("Right", this.cardnum);
  391.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Card Expiry:"));
  392.       ((Container)var7).add("Right", this.cardexpiry);
  393.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Card Name:"));
  394.       ((Container)var7).add("Right", this.cardname);
  395.       ((Container)var6).add("Center", var7);
  396.       String[] var13 = new String[]{"Apply", "Reset", "Validate"};
  397.       int[] var14 = new int[]{0, 6, 11};
  398.       JDPButtons var15 = new JDPButtons(var1, var13, var14, JDPButtons.HORIZONTAL);
  399.       ((Container)var6).add("South", var15);
  400.       this.popuppanel.addComponent(var15.button[0], "Apply Changes", "Save changes to the database");
  401.       this.popuppanel.addComponent(var15.button[1], "Undo Changes", "Undo changes by reloading the record");
  402.       this.popuppanel.addComponent(var15.button[2], "Validate card details", "Validate the card details");
  403.       ((Container)var4).add("Center", var6);
  404.       String[] var16 = new String[]{"Account Name", "Card Number", "Card Name", "Card Expiry", "First Name", "Last Name", "User Status"};
  405.       String[] var17 = new String[]{"username", "cardnum", "cardname", "cardexpiry", "firstname", "lastname", "status"};
  406.       String[][] var18 = new String[7][7];
  407.       String[][] var19 = new String[7][7];
  408.       boolean[] var20 = new boolean[7];
  409.       int[] var21 = new int[7];
  410.       int var22 = 0;
  411.  
  412.       do {
  413.          var18[var22][0] = "Begins with";
  414.          var18[var22][1] = "Contains";
  415.          var19[var22][0] = " like ";
  416.          var19[var22][1] = " like ";
  417.          var20[var22] = true;
  418.          var21[var22] = 20;
  419.          ++var22;
  420.       } while(var22 <= 5);
  421.  
  422.       var18[6][0] = "is Active";
  423.       var18[6][1] = "is Pending";
  424.       var18[6][2] = "is Suspended";
  425.       var18[6][3] = "is Cancelled";
  426.       var18[6][4] = "is Deleted";
  427.       var18[6][5] = "is Free";
  428.       var18[6][6] = "is a Guest";
  429.       var19[6][0] = "='A'";
  430.       var19[6][1] = "='P'";
  431.       var19[6][2] = "='S'";
  432.       var19[6][3] = "='C'";
  433.       var19[6][4] = "='X'";
  434.       var19[6][5] = "='F'";
  435.       var19[6][6] = "='G'";
  436.       var20[6] = false;
  437.       var21[6] = 0;
  438.       this.jdpWhereClause = new JDPWhereClause(var1, var2, "UserBill", true, var16[0], var16, var17, var18, var19, (String[][])null, (String[][])null, var21, var20);
  439.       this.searchResults = new JDPSearchResults(var1, (Container)var2, false, var1.jaggSQL, false, var8, (String[])null, this.pfromWhereClause, var9, this.psortChoice, this.pdisplayChoice, var10, var11, var12);
  440.       this.searchResults.setIcon(5);
  441.       Panel var23 = new Panel();
  442.       ((Container)var23).setLayout(new BorderLayout());
  443.       ((Container)var23).add("North", this.jdpWhereClause);
  444.       ((Container)var23).add("Center", this.searchResults);
  445.       ((Container)var4).add("West", var23);
  446.       ((Container)this).add("Center", new JDPChiselFramePanel(var1, "User Billing Details", var4, "North"));
  447.       this.searchResults.loadList();
  448.       ((Component)var2).paintAll(((Component)var2).getGraphics());
  449.    }
  450.  
  451.    boolean checkCard() {
  452.       if (!this.validCard()) {
  453.          super.user.mainmsg.setStatusMsg("Invalid credit card number.", 7);
  454.          super.user.u.cursor(this.cardnum);
  455.          return false;
  456.       } else if (!this.checkexpiry()) {
  457.          super.user.mainmsg.setStatusMsg("Credit card has expired.", 7);
  458.          super.user.u.cursor(this.cardexpiry);
  459.          return false;
  460.       } else if (this.cardname.getText().trim().length() == 0) {
  461.          super.user.mainmsg.setStatusMsg("Credit card name missing.", 7);
  462.          super.user.u.cursor(this.cardname);
  463.          return false;
  464.       } else {
  465.          super.user.mainmsg.setStatusMsg("Credit card details are valid.", 4);
  466.          return true;
  467.       }
  468.    }
  469. }
  470.