Exemplo n.º 1
0
        private static void ProcessInput(string input, SecureGateLog log, Terminal terminal)
        {
            if (input.Length > 0)
            {
                System.Console.WriteLine("container card: " + input);
                _LastProcessedInput = input;
                ContCard    contCard = new ContCard();
                ContCardDal cardDAL  = new ContCardDal();
                contCard = cardDAL.GetContCardByContCardId(Convert.ToInt64(input));
                if (contCard.ContCardID <= 0)
                {
                    System.Console.WriteLine("INPUT NOT RECOGNIZED !!!");
                }
                else if (contCard.Dtm1.Length == 0)
                {
                    //DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    contCard.Dtm1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    contCard.Loc1 = _SecureGateLocName;
                    cardDAL.UpdateContCardGateIn(contCard.ContCardID, contCard.Loc1);

                    System.Console.WriteLine("DTM1 USED");
                    OpenGate(input, log, contCard, terminal);

                    if ((_CaptureFile.Length > 0) && File.Exists(_CaptureFile))
                    {
                        FileStream     stream         = File.OpenRead(_CaptureFile);
                        BinaryReader   reader         = new BinaryReader(stream);
                        ContCardPic    pic            = new ContCardPic();
                        ContCardPICDal contCardPICDal = new ContCardPICDal();

                        pic.ContCardID = contCard.ContCardID;
                        pic.PicName    = "IN";
                        pic.PicData    = reader.ReadBytes((int)stream.Length);
                        reader.Close();
                        stream.Close();
                        contCardPICDal.InsertContCardPIC(pic);
                        File.Move(_CaptureFile, string.Concat(new object[] { _CaptureFile, ".", CtsCounter.NextValCtsCounter("CONTCARDPICIN_SEQ"), ".jpg" }));
                        System.Console.WriteLine("Picture Captured To Database.");
                    }
                }
                else
                {
                    System.Console.WriteLine("INPUT IS USED UP OR INVALID !!!");
                }
            }
        }
Exemplo n.º 2
0
 private static void ProcessInput(string input, SecureGateLog log)
 {
     System.Console.WriteLine("Proses " + input);
     if (input.Length > 0)
     {
         string   str      = string.Empty;
         string[] strArray = new string[] { ConfigurationSettings.AppSettings["eiroutprint.printer1.code"], ConfigurationSettings.AppSettings["eiroutprint.printer2.code"] };
         if ((strArray[0] == null) || (strArray[0] == string.Empty))
         {
             strArray[0] = "#1";
         }
         if ((strArray[1] == null) || (strArray[1] == string.Empty))
         {
             strArray[1] = "#2";
         }
         if (input.ToUpper().EndsWith(strArray[0].ToUpper()))
         {
             input     = input.Substring(0, input.Length - strArray[0].Length);
             posnumber = 1;
             str       = strArray[0];
         }
         else if (input.ToUpper().EndsWith(strArray[1].ToUpper()))
         {
             input     = input.Substring(0, input.Length - strArray[1].Length);
             posnumber = 2;
             str       = strArray[1];
         }
         else
         {
             //input = input.Substring(0, input.Length - strArray[1].Length);
             posnumber = 1;
             str       = strArray[0];
         }
         if (str != string.Empty)
         {
             System.Console.WriteLine("container card: " + input + " terminal: " + str);
             _LastProcessedInput = input + str;
         }
         else
         {
             System.Console.WriteLine("container card: " + input + " terminal: default");
             _LastProcessedInput = input;
         }
         ContCard    card        = new ContCard();
         ContCardDal contCardDal = new ContCardDal();
         card = contCardDal.CheckKendaraan(Convert.ToInt64(input));
         System.Console.WriteLine(input);
         if (card.ContCardID == 0)
         {
             System.Console.WriteLine("Card #" + card.ContCardID + " is NOT recognized !!!");
         }
         else if (card.Dtm2.Length == 0)
         {
             System.Console.WriteLine("Step 1. Start proceeding MODE " + card.CardMode + " at " + DateTime.Now.ToString("hh:mm:ss"));
             if ((card.CardMode == "OUT") && (card.ContInOutID > 0L))
             {
                 if (!PrintEir(card))
                 {
                     System.Console.WriteLine("INVALID EIROUT CONDITION DETECTED !!!");
                     return;
                 }
                 System.Console.Write("Step 7. Updating counter at " + DateTime.Now.ToString("hh:mm:ss") + "...");
                 //string str2 = "";
                 //int num = 0;
                 //string str4 = ConfigurationSettings.AppSettings["loginserver"];
                 //if (string.IsNullOrEmpty(str4))
                 //    str4 = "localhost";
                 //NpgsqlConnection connection = new NpgsqlConnection("Server=" + str4 + ";Port=5432;User=edimsl;Password=medus;Database=mitcts;");
                 //connection.Open();
                 //NpgsqlCommand command = new NpgsqlCommand("select * from counter", connection);
                 //if ((posnumber == 0) || (posnumber == 1))
                 //{
                 //    str2 = "1";
                 //}
                 //else if (posnumber == 2)
                 //{
                 //    str2 = "2";
                 //}
                 //num = Convert.ToInt16(str2) - 1;
             }
             else if ((card.CardMode == "IN") && ((card.Dtm3.Length == 0) || (card.UserID3.Length == 0)))
             {
                 System.Console.WriteLine("INVALID UNLOAD CONDITION DETECTED !!! please scan barcode on unload device before gate out.");
                 return;
             }
             card.Dtm2 = GlobalWebServiceDAL.GetServerDtm().ToString("yyyy-MM-dd HH:mm:ss");
             card.Loc2 = _SecureGateLocName;
             contCardDal.UpdateContCardGateOut(card.ContCardID, card.Loc2);
             System.Console.WriteLine("DTM2 USED");
             if (card.CardMode == "OUT")
             {
                 bool flag2 = false;
                 System.Console.Write("Checking DTM2 at " + DateTime.Now.ToString("hh:mm:ss") + "...");
                 //new ContInOut().FillByID(card.ContInOutID);
                 flag2 = card.Dtm2.Length > 0;
                 if (flag2)
                 {
                     System.Console.WriteLine("OK");
                 }
                 if (!flag2)
                 {
                     System.Console.WriteLine("Concard dtmout empty, Please contact Customer Service");
                 }
                 else
                 {
                     OpenGate(input, log, card);
                 }
             }
             else
             {
                 OpenGate(input, log, card);
             }
             if ((_CaptureFile.Length > 0) && File.Exists(_CaptureFile))
             {
                 FileStream     stream         = File.OpenRead(_CaptureFile);
                 BinaryReader   reader         = new BinaryReader(stream);
                 ContCardPic    pic            = new ContCardPic();
                 ContCardPICDal contCardPICDal = new ContCardPICDal();
                 pic.ContCardID = card.ContCardID;
                 pic.PicName    = "OUT";
                 pic.PicData    = reader.ReadBytes((int)stream.Length);
                 reader.Close();
                 stream.Close();
                 contCardPICDal.InsertContCardPIC(pic);
                 File.Move(_CaptureFile, string.Concat(new object[] { _CaptureFile, ".", CtsCounter.NextValCtsCounter("CONTCARDPICOUT_SEQ"), ".jpg" }));
                 System.Console.WriteLine("Picture Captured To Database.");
             }
         }
         else
         {
             System.Console.WriteLine("DTM 2 (STACKING) IS INVALID !!!");
         }
     }
 }