示例#1
0
        protected string SendCallEndStatus(CallInstance ci, NameValueCollection nvc, string Reason)
        {
            ci.CallStatus = CallStatus.CallbackSent;
            var a = "";

            var v = new LogObj()
            {
                LogSymbol    = LogSymbol.TwilioToWeb,
                CallInstance = ci,
                Caption      = "Call End Status to " + ci.CallOptions.StatusCallback + " " + Reason
            };


            try
            {
                nvc.Add("CallDuration", (DateTime.Now.ToUniversalTime() - ci.CallForGet.StartTime.Value).TotalSeconds.ToString());
                v.AddNode("Request", nvc);
                a = ci.BrowserClient.DoRequest(ci.CallOptions.StatusCallback, nvc);
                v.AddNode("Response", a);
            }
            catch (Exception ex)
            {
                v.Caption = "<- Exception on Call Start Call Back to " + ci.CallOptions.StatusCallback + ex.Message;
                v.AddException(ex);
            }
            SystemController.Instance.Logger.LogObj(v);
            ci.CallStatus = CallStatus.Ended;
            return(a);
        }
示例#2
0
        public void OnException(ExceptionContext filterContext)
        {
            Trace.TraceError(filterContext.Exception.ToString());

            if (filterContext.Exception.InnerException != null)
            {
                Trace.TraceError(filterContext.Exception.InnerException.ToString());
            }

            var log = new LogObj
            {
                DateInserted          = DateTime.Now,
                LogType               = LogType.Exception,
                Controller            = filterContext.RouteData != null ? (string)filterContext.RouteData.Values["controller"] : "",
                Action                = filterContext.RouteData != null ? (string)filterContext.RouteData.Values["action"] : "",
                RouteDataId           = filterContext.RouteData != null ? (string)filterContext.RouteData.Values["id"] : "",
                User                  = "",
                Message               = filterContext.Exception.ToString(),
                ExceptionMessage      = filterContext.Exception.Message,
                InnerExceptionMessage = filterContext.Exception.InnerException != null?filterContext.Exception.InnerException.ToString() : "",
                                            InnerExceptionSource     = filterContext.Exception.Source,
                                            InnerExceptionStackTrace = filterContext.Exception.StackTrace
            };

            LogHelper.WriteLog(LogTarget.Exception, log);
        }
示例#3
0
        private void OnTriggerEnter2D(Collider2D collision)
        {
            if (!_canReact)
            {
                return;
            }
            _canReact = false;

            LogObj   log   = collision.gameObject.GetComponent <LogObj>();
            AppleObj apple = collision.gameObject.GetComponent <AppleObj>();

            if (collision.gameObject.GetComponent <Mover>())
            {
                GameController.instance.LoadLoseCanvas();
                SetPostPunchMovement();
                if (OnKnifeCollision != null)
                {
                    OnKnifeCollision.Invoke(this, new OnKnifeCollisionEventArgs(KnifeCollisionType.Knife));
                }
            }
            else if (log != null)
            {
                GameController.instance.AddHitPoint();
                log.ConnectObject(transform);
                log.Hit();
                _mover.SetVelocity(new Vector2(0, 0));
            }
            else if (apple != null)
            {
                GameController.instance.AddApplePoint();
                apple.DestroyVFX();
                _canReact = true;
            }
        }
示例#4
0
        public SMSMessage NewSMSRequest(SMSOptions options)
        {
            var v = new LogObj()
            {
                LogSymbol = LogSymbol.TwilioToPhone,
                Caption   = "Sms Message"
            }.AddNode("Sms Message", options.body).LogIt();

            SystemController.Instance.PhoneManager.SMSReceived(options.from, options.to, options.body);

            CallStatusWebClient cswb = new CallStatusWebClient();

            if (options.statusCallback != null)
            {
                cswb.DoRequest(options.statusCallback,
                               new NameValueCollection()
                {
                    { "SmsStatus", "sent" },
                    { "SmsSid", CreateSid() }
                });
            }
            return(new SMSMessage()
            {
                DateCreated = DateTime.Now,
                DateSent = DateTime.Now,
                Direction = "outbound-api",
                From = options.from,
                To = options.to,
                Status = "sent",
                Sid = Guid.NewGuid().ToString().Replace("-", "")
            });
        }
示例#5
0
 public override ASTNode Visit(IParseTree tree)
 {
     LogObj.Visit(tree as ParserRuleContext);
     try {
         return(base.Visit(tree));
     } catch (NullReferenceException e) {
         throw new SyntaxErrorException("Source file contained unexpected content", e);
     }
 }
示例#6
0
        public SMSMessage Messages(SMSOptions options)
        {
            var a  = SystemController.Instance.Office.NewSMSRequest(options);
            var lg = new LogObj()
            {
                Caption   = "SMS Request From Application ",
                LogSymbol = Code.LogSymbol.WebToTwilio,
            };

            lg.AddNode("Request", options).AddNode("Response", a).LogIt();
            return(a);
        }
示例#7
0
        private void HangUpThePhoneConnectionFromTheserver(CallInstance ci, string Reason)
        {
            var v = new LogObj()
            {
                Caption      = "X Server hung up call " + Reason,
                LogSymbol    = Code.LogSymbol.TwilioToPhone,
                CallInstance = ci
            }.LogIt();


            SystemController.Instance.PhoneManager.CallHungUp(ci.CallOptions.To, Reason);
        }
示例#8
0
        public void PhoneHungUp(string phonenumber)
        {
            var a = GetCallInstanceFromPhoneNumber(phonenumber);
            var v = new LogObj()
            {
                Caption      = "X Phone hung up call",
                LogSymbol    = Code.LogSymbol.PhoneToTwilio,
                CallInstance = a
            };


            SystemController.Instance.Logger.LogObj(v);
            MarkCallEnded(a, "Hung up", false);
        }
示例#9
0
        public Call Modify([FromUri] string id)
        {
            var d  = SystemController.Instance.Office.GetCallInstanceFromCallSid(id);
            var lg = new LogObj()
            {
                Caption      = "Call status request ",
                LogSymbol    = Code.LogSymbol.WebToTwilio,
                CallInstance = d
            };

            lg.AddNode("Request", d).AddNode("Response", d.CallForGet).LogIt();

            return(d.CallForGet);
        }
示例#10
0
        public Call Post(CallOptions c)
        {
            var cl = SystemController.Instance.Office.NewCallRequest(c);

            var lg = new LogObj()
            {
                Caption      = "Call request from application ",
                LogSymbol    = Code.LogSymbol.WebToTwilio,
                CallInstance = cl
            };

            lg.AddNode("Request", c).AddNode("Response", cl.CallForGet).LogIt();

            return(cl.CallForGet);
        }
        public static void Log(Logger logger, NLog.LogLevel LogLevel,
                               string Class, string Device, string Data,
                               string VehicleID = null, string CarrierID = null, string LogID = null, string Level = null, string ThreadID = null, string Lot = null, string XID = null, string Details = null,
                               [CallerMemberName] string Method = "")
        {
            LogObj logObj = LogObjPool.GetObject();

            try
            {
                logObj.dateTime  = DateTime.Now;
                logObj.Sequence  = getSequence();
                logObj.LogLevel  = LogLevel.Name;
                logObj.Class     = Class;
                logObj.Method    = Method;
                logObj.Device    = Device;
                logObj.Data      = Data;
                logObj.VH_ID     = VehicleID;
                logObj.CarrierID = CarrierID;

                logObj.LogID    = LogID;
                logObj.ThreadID = ThreadID != null ?
                                  ThreadID : Thread.CurrentThread.ManagedThreadId.ToString();
                logObj.Lot   = Lot;
                logObj.Level = Level;

                string xid = System.Runtime.Remoting.Messaging.CallContext.GetData(CALL_CONTEXT_KEY_WORD_SERVICE_ID) as string;
                logObj.XID = xid;

                Transaction Transaction = getCurrentTransaction();
                logObj.TransactionID = Transaction == null ?
                                       string.Empty : Transaction.TransactionInformation.LocalIdentifier.ToString();
                logObj.Details = Details;
                logObj.Index   = "SystemProcessLog";

                LogHelper.logger.Log(LogLevel, logObj.ToString());
            }
            catch (Exception e)
            {
                LogHelper.logger.Error($"{e}, Exception");
            }
            finally
            {
                LogObjPool.PutObject(logObj);
            }
        }
示例#12
0
        public Call Modify([FromUri] string id, HttpRequestMessage request)
        {
            var a    = request.RequestUri.ParseQueryString();
            var d    = SystemController.Instance.Office.GetCallInstanceFromCallSid(id);
            var stat = a.Get("Status");

            if (stat != "")
            {
                var lg = new LogObj()
                {
                    Caption      = "Calls Hang up request - " + stat,
                    LogSymbol    = Code.LogSymbol.WebToTwilio,
                    CallInstance = d
                }.AddNode("Request", request);

                SystemController.Instance.Office.MarkCallEnded(d, stat, true);
                lg.AddNode("Response", d).LogIt();
            }
            return(d.CallForGet);
        }
示例#13
0
        public void LogObj(LogObj logObject)
        {
            this.BeginInvoke((Action)(() =>
            {
                TreeNode tn = new TreeNode();
                string nodeTxt = DateTime.Now.ToString() + " " + logObject.LogSymbol.ToDisplayString() + " " + logObject.Caption;
                if (logObject.CallInstance != null)
                {
                    nodeTxt = nodeTxt + " (" + logObject.CallInstance.CallOptions.From + "->" + logObject.CallInstance.CallOptions.To + ")";
                    tn.BackColor = logObject.CallInstance.CallColor;
                }

                tn.Text = nodeTxt;

                trvLog.Nodes.Add(tn);
                logObject.logObjs.ToList().ForEach(x =>
                {
                    tn.Nodes.Add(new TreeNode(x.Key + " : " + this.GetObjectText(x.Value)));
                }
                                                   );

                tn.EnsureVisible();

                // figure out if we need to change anythign on the call list log
                if (logObject.CallInstance != null)
                {
                    // this is a phone call
                    // find the call node by callsid
                    var v = trvCallView.Nodes.Find(logObject.CallInstance.CallForGet.Sid, true).FirstOrDefault();
                    if (v == null)
                    {
                        v = CreateNewCallListEntry(logObject.CallInstance);
                    }
                    ApplyImageToNode(logObject.CallInstance, v);
                    var cInst = logObject.CallInstance.CallForGet;
                    v.Text = logObject.CallInstance.CallDirection + " " + cInst.From + " -> " + cInst.To + " : " + cInst.Status;
                }
            }));
        }
示例#14
0
        public void PhonePickedUp(string phonenumber, bool IsMachine)
        {
            // find the ci with that phone number
            var a = GetCallInstanceFromPhoneNumber(phonenumber);



            if (a.CallOptions.IfMachine != "")
            {
                if (!IsMachine)
                {
                    a.CallForSet.AnsweredBy = "Human";
                }
                else
                {
                    a.CallForSet.AnsweredBy = "Machine";
                    if (a.CallOptions.IfMachine == "Hangup")
                    {
                        MarkCallEnded(a, "Answered by answering machine", true);


                        return;
                    }
                }
            }


            a.CallStatus        = CallStatus.ReadyForProcessing;
            a.CallForSet.Status = TwilioCallStatuses.INPROGRESS;
            //ProcessDoTwimlRequest(a, a.CallOptions.Url, "Get Welcome message Twiml");
            var v = new LogObj()
            {
                Caption      = "^ Phone Picked Up " + (IsMachine ? " Machine" : ""),
                LogSymbol    = LogSymbol.PhoneToTwilio,
                CallInstance = a
            };

            SystemController.Instance.Logger.LogObj(v);
        }
示例#15
0
        public static void WriteLog(LogTarget target, LogObj log)
        {
            try
            {
                var filename = string.Empty;
                var filePath = string.Empty;
                var sb       = new StringBuilder();

                switch (target)
                {
                case LogTarget.Database:
                    break;

                case LogTarget.File:
                {
                    filename = "logfile_" + DateTime.Now.ToString("dd.MM.yyyy HH:mm").Replace(".", "") + ".xml";
                    filePath = path + filename;
                    var fi = new FileInfo(AppContext.env.ContentRootPath + filePath);

                    if (!fi.Exists)
                    {
                        fi.Create().Close();
                    }

                    if (log != null)
                    {
                        sb.AppendLine("<log>" + Environment.NewLine);
                        sb.AppendLine("<logType>" + "FILE" + "</logType>" + Environment.NewLine);
                        sb.AppendLine("<date>" + log.DateInserted.ToString("dd.MM.yyyy HH:mm:ss") + "</date>" + Environment.NewLine);
                        sb.AppendLine("<message>" + log.Message + "</message>" + Environment.NewLine);
                        sb.AppendLine("<exceptionSource>" + log.InnerExceptionSource + "</exceptionSource>" + Environment.NewLine);
                        sb.AppendLine("<exceptionMessage>" + log.InnerExceptionMessage + "</exceptionMessage>" + Environment.NewLine);
                        sb.AppendLine("<exceptionStackTrace>" + log.InnerExceptionStackTrace + "</exceptionStackTrace>" + Environment.NewLine);
                        if (log.arrObject.Count > 0)
                        {
                            sb.AppendLine("<parameters>" + Environment.NewLine);
                            foreach (var item in log.arrObject)
                            {
                                sb.AppendLine("<" + item.Key + ">" + item.Value + "</" + item.Key + ">" + Environment.NewLine);
                            }
                            sb.AppendLine("</parameters>" + Environment.NewLine);
                        }
                        sb.AppendLine("</log>" + Environment.NewLine);
                        sb.AppendLine("------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                    }

                    break;
                }

                case LogTarget.EventLog:
                {
                    filename = "file_" + DateTime.Now.ToString("dd.MM.yyyy").Replace(".", "") + ".xml";
                    filePath = path + filename;
                    var fi = new FileInfo(AppContext.env.ContentRootPath + filePath);

                    if (!fi.Exists)
                    {
                        fi.Create().Close();
                    }

                    if (log != null)
                    {
                        sb.AppendLine("<log>" + Environment.NewLine);
                        sb.AppendLine("<logType>" + "EVENT LOG" + "</logType>" + Environment.NewLine);
                        sb.AppendLine("<date>" + log.DateInserted.ToString("dd.MM.yyyy HH:mm:ss") + "</date>" + Environment.NewLine);
                        sb.AppendLine("<message>" + log.Message + "</message>" + Environment.NewLine);
                        sb.AppendLine("</log>" + Environment.NewLine);
                        sb.AppendLine("------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                    }

                    break;
                }

                case LogTarget.Xml:
                    break;

                case LogTarget.Exception:
                {
                    filename = "exception_" + DateTime.Now.ToString("dd.MM.yyyy").Replace(".", "") + ".xml";
                    filePath = path + filename;
                    var fi = new FileInfo(AppContext.env.ContentRootPath + filePath);

                    if (!fi.Exists)
                    {
                        fi.Create().Close();
                    }

                    if (log != null)
                    {
                        sb.AppendLine("<log>" + Environment.NewLine);
                        sb.AppendLine("<logType>" + "EXCEPTION" + "</logType>" + Environment.NewLine);
                        sb.AppendLine("<date>" + log.DateInserted.ToString("dd.MM.yyyy HH:mm:ss") + "</date>" + Environment.NewLine);
                        sb.AppendLine("<controller>" + log.Controller + "</controller>" + Environment.NewLine);
                        sb.AppendLine("<action>" + log.Action + "</action>" + Environment.NewLine);
                        sb.AppendLine("<routedataid>" + log.RouteDataId + "</routedataid>" + Environment.NewLine);
                        sb.AppendLine("<user>" + log.User + "</user>" + Environment.NewLine);
                        sb.AppendLine("<message>" + log.Message + "</message>" + Environment.NewLine);
                        sb.AppendLine("<exceptionSource>" + log.InnerExceptionSource + "</exceptionSource>" + Environment.NewLine);
                        sb.AppendLine("<exceptionMessage>" + log.InnerExceptionMessage + "</exceptionMessage>" + Environment.NewLine);
                        sb.AppendLine("<exceptionInnerMessage>" + log.InnerExceptionMessage + "</exceptionInnerMessage>" + Environment.NewLine);
                        sb.AppendLine("<exceptionStackTrace>" + log.InnerExceptionStackTrace + "</exceptionStackTrace>" + Environment.NewLine);
                        if (log.arrObject != null)
                        {
                            sb.AppendLine("<parameters>" + Environment.NewLine);
                            foreach (var item in log.arrObject)
                            {
                                sb.AppendLine("<" + item.Key + ">" + item.Value + "</" + item.Key + ">" + Environment.NewLine);
                            }
                            sb.AppendLine("</parameters>" + Environment.NewLine);
                        }
                        sb.AppendLine("</log>" + Environment.NewLine);
                        sb.AppendLine("------------------------------------------------------------------------" + Environment.NewLine);
                    }

                    break;
                }

                default:
                    break;
                }

                using (var stw = new StreamWriter(AppContext.env.ContentRootPath + filePath, true))
                {
                    stw.WriteLine(sb.ToString());
                    stw.Close();
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
        }
        public static void Log(Logger logger, NLog.LogLevel LogLevel,
                               string Class, string Device, string Data = "",
                               string VehicleID = null, string CarrierID = null, LogConstants.Type?Type = null, string LogID = null, string Level = null, string ThreadID = null, string Lot = null, string XID = null, string Details = null,
                               [CallerMemberName] string Method = "")
        {
            LogObj logObj = LogObjPool.GetObject();

            try
            {
                logObj.dateTime  = DateTime.Now;
                logObj.Sequence  = getSequence();
                logObj.LogLevel  = LogLevel.Name;
                logObj.Class     = Class;
                logObj.Method    = Method;
                logObj.Device    = Device;
                logObj.Data      = Data;
                logObj.VH_ID     = VehicleID;
                logObj.CarrierID = CarrierID;

                logObj.Type     = Type;
                logObj.LogID    = LogID;
                logObj.ThreadID = ThreadID != null ?
                                  ThreadID : Thread.CurrentThread.ManagedThreadId.ToString();
                logObj.Lot   = Lot;
                logObj.Level = Level;
                string service_id = System.Runtime.Remoting.Messaging.CallContext.GetData(CALL_CONTEXT_KEY_WORD_SERVICE_ID) as string;
                logObj.ServiceID = service_id;

                logObj.XID = XID;

                Transaction Transaction = getCurrentTransaction();
                logObj.TransactionID = Transaction == null ?
                                       string.Empty : Transaction.TransactionInformation.LocalIdentifier.ToString();
                logObj.Details = Details;
                logObj.Index   = "SystemProcessLog";

                LogHelper.logger.Log(LogLevel, logObj.ToString());
                //Task.Run(() => SCApplication.getInstance().LineService.PublishSystemLog(logObj));
                SYSTEMPROCESS_INFO systemProc = new SYSTEMPROCESS_INFO();
                systemProc.TIME     = DateTime.Now.ToString(SCAppConstants.DateTimeFormat_23);
                systemProc.SEQ      = logObj.Sequence;
                systemProc.LOGLEVEL = LogLevel.Name == null ? string.Empty : LogLevel.Name;
                systemProc.CLASS    = Class == null ? string.Empty : Class;
                systemProc.METHOD   = Method == null ? string.Empty : Method;
                systemProc.DEVICE   = Device == null ? string.Empty : Device;
                systemProc.DATA     = Data == null ? string.Empty : Data;
                systemProc.VHID     = VehicleID == null ? string.Empty : VehicleID;
                systemProc.CRRID    = CarrierID == null ? string.Empty : CarrierID;
                systemProc.TYPE     = Type.ToString();
                systemProc.LOGID    = LogID == null ? string.Empty : LogID;
                systemProc.THREADID = logObj.ThreadID;
                systemProc.LOT      = Lot == null ? string.Empty : Lot;
                systemProc.LEVEL    = Level == null ? string.Empty : Level;
                systemProc.XID      = XID == null ? string.Empty : XID;
                systemProc.TRXID    = logObj.TransactionID;
                systemProc.DETAILS  = Details == null ? string.Empty : Details;
                System.Threading.ThreadPool.QueueUserWorkItem(new WaitCallback(SCApplication.getInstance().LineService.PublishSystemMsgInfo), systemProc);
            }
            catch (Exception e)
            {
                LogHelper.logger.Error($"{e}, Exception");
            }
            finally
            {
                LogObjPool.PutObject(logObj);
            }
        }
示例#17
0
        public static void loginUsers(String userName, String password)
        {
            MySqlConnection con = DBConnection.getConn();

            try
            {
                con.Open();
                String query = "Select Type,Password,Status,Shop from employee where EmpID = '" + userName + "'";

                MySqlCommand    cmd    = new MySqlCommand(query, con);
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    //string type = reader["Type"].ToString();
                    string type   = reader.GetString(0);
                    string status = reader.GetString(2);
                    if (status == "Active")
                    {
                        if (reader.GetString(1) == password)
                        {
                            User.CurrentUserName = userName;
                            User.UserShop        = reader.GetString(3);
                            User.UserType        = type;
                            if (type == "Owner")
                            {
                                /*AdminInterface owner = new AdminInterface();
                                 * owner.Show();
                                 * this.Hide();*/
                                Owner.login();
                                LogObj.Hide();
                            }
                            else if (type == "Supervisor")
                            {
                                /*SupervisorInterface sp = new SupervisorInterface();
                                 * sp.Show();
                                 * this.Hide();*/
                                Supervisor.login();
                                LogObj.Hide();
                            }
                            else if (type == "Cashier")
                            {
                                /*CashierInterface emp = new CashierInterface();
                                 * emp.Show();
                                 * this.Hide();*/
                                Cashier.login();
                                LogObj.Hide();
                            }
                            else
                            {
                                //nameErLbl.Visible = true;
                                User.LogObj.displayErr();
                            }
                        }
                        else
                        {
                            //nameErLbl.Visible = true;
                            User.LogObj.displayErr();
                            User.LogObj.showForgotPassButton();
                        }
                    }
                    else
                    {
                        User.LogObj.inactiveErr();
                    }
                }
                if (!reader.HasRows)
                {
                    //nameErLbl.Visible = true;
                    User.LogObj.displayErr();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                con.Close();
                DBConnection.returnConn(con);
                con = null;
            }
        }