Esempio n. 1
0
        public bool InserirExclusaoTotalizador(TbLog log)
        {
            using (var conn = SqlConnection)
            {
                try
                {
                    conn.Open();
                    string srtInsert = @"INSERT INTO [TBLOG]
										   ([DATA_INCLUSAO]
										   ,[USUARIO_INCLUSAO]
										   ,[OBSE])
									 VALUES
										   (@DATAINCLUSAO,
										   @USUARIOINCLUSAO,
										   @OBSE>)"                                        ;

                    var result = conn.Execute(srtInsert, log);

                    if (result == 1)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    throw new ApplicationException(ex.ToString());
                }
            }
        }
        /// <summary>
        /// 直接指定为主库
        /// </summary>
        /// <param name="Id"></param>
        public void DeleteCompanyAndUser(long Id)
        {
            {
                _Context = _ContextFactory.ConnWriteOrRead(WriteAndReadEnum.Read);
                TbLog tbLog = this.Find <TbLog>(Id, WriteAndReadEnum.Write);//也可以附加
                if (tbLog == null)
                {
                    throw new Exception("t is null");
                }

                //从主库删除数据,这样才会同步到从库,否则...
                _Context = _ContextFactory.ConnWriteOrRead(WriteAndReadEnum.Write);
                this._Context.Set <TbLog>().Remove(tbLog);
            }
            {
                //从主库删除数据,这样才会同步到从库,否则...
                TbLog tlog = this.Find <TbLog>(Id, WriteAndReadEnum.Write);//也可以附加
                if (tlog == null)
                {
                    throw new Exception("t is null");
                }
                this._Context.Set <TbLog>().Remove(tlog);
            }
            {
                //自己定义Service 的时候,一般都是删除、查询综合使用;
                //业务逻辑相对复杂;
                //建议:就直接从主库操作,避免因增删改从库后,无法同步问题。因为只能从主库同步到从库。可以考虑将从库设置为不允许程序增删改,只允许读。
            }

            this.Commit();
        }
Esempio n. 3
0
        //////////////////////////////////////////////////////////////////////////
        public void AddLog(string text)
        {
            TbLog.SelectionLength = 0;
            TbLog.AppendText(text.Replace("\n", "\r\n"));

            TbLog.SelectionStart  = TbLog.Text.Length;
            TbLog.SelectionLength = 0;
            TbLog.ScrollToCaret();
        }
Esempio n. 4
0
        private void LogScrollDown(object sender, TextChangedEventArgs e)
        {
            double bottom       = TbLog.VerticalOffset + TbLog.ViewportHeight;
            bool   isBottommost = bottom >= TbLog.ExtentHeight - 10;

            if (isBottommost)
            {
                TbLog.ScrollToEnd();
            }
        }
Esempio n. 5
0
 void StopServer()
 {
     WorkerAbort.Cancel();
     TbIp.ReadOnly  = TbPort.ReadOnly = TbPath.ReadOnly = false;
     BtnToggle.Text = "Start";
     Worker.Wait(100);
     Worker.Dispose();
     Worker = null;
     TbLog.AppendText("Server terminated.\r\n");
 }
Esempio n. 6
0
 private void WithAutoScroll(Action action)
 {
     Post(() => {
         double bottom     = TbLog.VerticalOffset + TbLog.ViewportHeight;
         bool isBottommost = bottom >= TbLog.ExtentHeight - 10;
         action();
         if (isBottommost)
         {
             TbLog.ScrollToEnd();
         }
     });
 }
Esempio n. 7
0
        public bool InserirLog(string data, string vendedor, string nome, string obse)
        {
            var objLog = new TbLog
            {
                DataInclusao    = DateTime.Now,
                Obse            = obse + "Exclusão de Totalizador do Vendedor: " + vendedor + " na data: " + data,
                UsuarioInclusao = vendedor
            };

            var log = _logRepository.InserirExclusaoTotalizador(objLog);

            return(log);
        }
Esempio n. 8
0
 private void AppendException(Exception e, string info = null)
 {
     WithAutoScroll(() => {
         TbLog.AppendText($"오류: {info ?? e.Message}");
         var r = new Run($"\r\n{e}")
         {
             FontSize = 1
         };
         var lastPara = TbLog.Document.Blocks.LastBlock as Paragraph;
         lastPara.Inlines.Add(new Span(r));
         lastPara.Inlines.Add(new Run("\r\n"));
     });
 }
        public IActionResult Index()
        {
            //using (LcDbContext context = new LcDbContext())
            //{
            //    context.TbLog.Find(1);
            //    //....
            //}
            //{
            //    ITbLogService service = new TbLogService(new LcDbContext());
            //    TbLog tblog= service.Find<TbLog>(1);
            //}

            //{

            {
                var addlog = new TbLog()
                {
                    Info       = "666",
                    Methodname = "777",
                    Mqpath     = "888",
                    Mqpathid   = 1,
                    Createtime = DateTime.Now,
                    Updatetime = DateTime.Now
                };
                //如果Insert进去以后,马上就去查询的,我也建议大家直接基于主库来;
                //因为数据库读写分离以后,数据同步会有延迟;
                var   t      = _tbLogService.Insert(addlog);
                TbLog tblog1 = _tbLogService.Find <TbLog>(t.Id, WriteAndReadEnum.Write);
                TbLog tblog2 = _tbLogService.Find <TbLog>(11);
                TbLog tblog3 = _tbLogService.Find <TbLog>(11);
                TbLog tblog4 = _tbLogService.Find <TbLog>(11);
            }

            {
                TbLog tbLog = _tbLogService.Find <TbLog>(4);
            }
            {
                TbLog tbLog = _tbLogService.Find <TbLog>(1);
                //做一系列的操作
                //做数据库跟新
                //tbLog.LastModifyTime = DateTime.Now;
                //_tbLogService.Update(tbLog);
            }
            return(View());
        }
Esempio n. 10
0
        private void Log(int _re_print, string _log)
        {
            switch (_re_print)
            {
            case 0:
                TbLog.Clear();
                TbLog.Text = DateTime.Now.ToString("yy-mm-dd hh-mm-ss") + "-> " + _log + "\n";
                break;

            case 1:
                TbLog.AppendText(DateTime.Now.ToString("yy-mm-dd hh-mm-ss") + "-> " + _log + "\n");
                break;

            default:
                TbLog.AppendText(DateTime.Now.ToString("yy-mm-dd hh-mm-ss") + "-> " + _log + "\n");
                break;
            }
        }
Esempio n. 11
0
        private async void ClientInstance(TcpClient client)
        {
            string ip = (client.Client.RemoteEndPoint as IPEndPoint)?.ToString();

            Log($"Connected from {ip}\r\n");
            try
            {
                var stream = client.GetStream();
                await PushTrackList(stream);

                Task <object> readTask  = stream.ReadObjAsync();
                Task <bool>   knockTask = Dispatcher.WaitAsync();

                var token = WorkerAbort.Token;
                token.Register(() => stream.Close());
                while (!token.IsCancellationRequested)
                {
                    await Task.WhenAny(readTask, knockTask);

                    if (readTask.IsCompleted)
                    {
                        if (readTask.IsFaulted)
                        {
                            return;
                        }
                        switch (await readTask)
                        {
                        case DownloadRequest req:
                            var item = await UIDispatcher.Send(() => LvTracks.Items[req.Index].Tag) as TrackMetadata;

                            var blob = new FileBlob()
                            {
                                Name = Path.GetFileName(item.Path),
                                Body = File.ReadAllBytes(item.Path)
                            };
                            Log($"{ip} requested {blob.Name}\r\n");
                            await stream.WriteObjAsync(new Announcement($"Downloading {blob.Name}"));

                            await new MemoryStream(SerialUtility.GetPrefixedSerial(blob))
                            .ThrottleCopyTo(stream, 2 * 1024 * 1024, token);
                            //await stream.WriteObjAsync(blob);
                            break;

                        case FileBlob file:
                            var repo = await UIDispatcher.Send(() =>
                            {
                                TbLog.AppendText($"{ip} is uploading {file.Name}\r\n");
                                return(TbPath.Text);
                            });

                            var path      = Path.Combine(repo, file.Name);
                            var preExists = File.Exists(path);
                            try
                            {
                                using (FileStream fs = File.Create(path))
                                {
                                    await fs.WriteAsync(file.Body, 0, file.Body.Length).ConfigureAwait(false);
                                }
                                UIDispatcher.Post(() =>
                                {
                                    TbLog.AppendText($"{ip} uploaded {file.Name}\r\n");
                                    BtnBrowse.PerformClick();
                                });
                            }
                            catch (Exception e)
                            {
                                Log(e.Message + "\r\n");
                            }
                            break;
                        }
                        readTask = stream.ReadObjAsync();
                    }
                    if (knockTask.IsCompleted)
                    {
                        await PushTrackList(stream);

                        knockTask = Dispatcher.WaitAsync();
                    }
                }
            }
            catch (Exception e)
            {
                Log(e.Message + "\r\n");
            }
            finally
            {
                client.Close();
                Log($"Disconnected from {ip}\r\n");
            }
        }
Esempio n. 12
0
 void Log(string text)
 {
     UIDispatcher.Post(() => TbLog.AppendText(text));
 }
Esempio n. 13
0
 private void TbLog_OnTextChanged(object sender, TextChangedEventArgs e)
 {
     TbLog.CaretIndex = TbLog.Text.Length;
     TbLog.ScrollToEnd();
 }
Esempio n. 14
0
 private void AppendText(string res)
 {
     WithAutoScroll(() => {
         TbLog.AppendText(res);
     });
 }