private void InitUI() { Action <LawData> action = null; MouseTool.ShowLoading(); LawCT_Title.Text = Settings.Default.LawButtonName; new HttpRequest(); if (NetworkTool.CheckNetwork() > 0) { if (action == null) { action = new Action <LawData>(_003CInitUI_003Eb__1b); } GetLawData.AsyncPOST(action); return; } DataTable dataTable = MSCE.GetDataTable("select LawJson from LawData"); if (dataTable.Rows.Count > 0) { LawData ld = JsonConvert.DeserializeObject <LawData>(dataTable.Rows[0]["LawJson"].ToString()); GetLawData_DoAction(ld); } else { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); MouseTool.ShowArrow(); } }
private void btnDownload_btnPausing_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Action <MeetingData> action = null; _003C_003Ec__DisplayClass21 _003C_003Ec__DisplayClass = new _003C_003Ec__DisplayClass21(); _003C_003Ec__DisplayClass.sender = sender; _003C_003Ec__DisplayClass._003C_003E4__this = this; e.Handled = true; MouseTool.ShowLoading(); if (NetworkTool.CheckNetwork() > 0) { string iD = userMeeting.ID; string userID = UserID; string userPWD = UserPWD; if (action == null) { action = new Action <MeetingData>(_003C_003Ec__DisplayClass._003CbtnDownload_btnPausing_MouseLeftButtonDown_003Eb__1f); } GetMeetingData.AsyncPOST(iD, userID, userPWD, action); } else { DataTable dataTable = MSCE.GetDataTable("select MeetingJson from MeetingData where MeetingID=@1 and UserID =@2", userMeeting.ID, UserID); if (dataTable.Rows.Count > 0) { MeetingData md = JsonConvert.DeserializeObject <MeetingData>(dataTable.Rows[0]["MeetingJson"].ToString()); GetMeetingData_DoAction(md, (Image)_003C_003Ec__DisplayClass.sender); } else { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); MouseTool.ShowArrow(); } } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var now = DateTime.Now; using (var db = new livecloudEntities()) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "clearSystemBarrageTimes", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current), Remarks = "系统弹幕使用次数清零" }; db.dt_ManageLog.Add(manageLog); foreach (var data in db.dt_SystemBarrageTimes) { data.times = 0; data.updatetime = now; } db.SaveChanges(); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (Exception ex) { Log.Error("ClearSystemBarrageTimes", "ClearSystemBarrageTimes", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
private void btnDownload_btnPausing_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { e.Handled = true; // 先撈一次MeetingData MouseTool.ShowLoading(); //GetMeetingData.AsyncPOST(userMeeting.ID, UserID, UserPWD, (md) => { GetMeetingData_DoAction(md,(Image)sender); }); if (NetworkTool.CheckNetwork() > 0) { GetMeetingData.AsyncPOST(userMeeting.ID, UserID, UserPWD, (md) => { GetMeetingData_DoAction(md, (Image)sender); }); } else { //DB查詢登入 DataTable dt = MSCE.GetDataTable("select MeetingJson from MeetingData where MeetingID=@1 and UserID =@2" , userMeeting.ID , UserID); if (dt.Rows.Count > 0) { MeetingData md = JsonConvert.DeserializeObject <MeetingData>(dt.Rows[0]["MeetingJson"].ToString()); GetMeetingData_DoAction(md, (Image)sender); } else { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); MouseTool.ShowArrow(); } } }
/// <summary> /// 发送受伤信息 /// </summary> /// <param name="pos">角色位置</param> public void SendHarmInfo(Vector2 pos) { var deathInfo = new GameDeathInfoDTO(pos.x, pos.y); StartCoroutine(NetworkTool.PostJsonRequest( "/push_death_info" , JsonConvert.SerializeObject(deathInfo), result => {})); }
public void Login(string code, NetworkTool.RequestCallback callback) { StartCoroutine(NetworkTool.GetRequest($"/login_code/{code}", (result => { user = JsonConvert.DeserializeObject <GameUserInfoDTO>(result); loginSucceedEvent.Send(); // Debug.Log(user); isInitMapInfos = false; // 让地图信息也初始化 callback(result); }))); }
private void InitUI() { MouseTool.ShowLoading(); //LawCT_Title.Text = MyPL.Properties.Settings.Default.LawButtonName; txtTitle.Text = ButtonName; //Network.HttpRequest hr = new Network.HttpRequest(); if (1 == 1 || NetworkTool.CheckNetwork() > 0) { // 非同步POST方法 //GetLawData.AsyncPOST((ld) => { GetLawData_DoAction(ld); }); GetUserFolder.AsyncPOST(UserID, UserPWD, (fd) => { GetUserFolder_DoAction(fd); }); //, () => { this.Dispatcher.BeginInvoke(new Action(() => { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); })); }); } else { DataTable dt = MSCE.GetDataTable("select LawJson from LawData"); if (dt.Rows.Count > 0) { LawData ld = JsonConvert.DeserializeObject <LawData>(dt.Rows[0]["LawJson"].ToString()); GetLawData_DoAction(ld); } else { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); MouseTool.ShowArrow(); } } #region 步POST //LawData lawData = GetLawData.POST(); //if (lawData != null) //{ // int i=0; // foreach (LawDataLaw item in lawData.LawList) // { // i++; // bool IsLastRow= (i==lawData.LawList.Length); // LawRowSP.Children.Add(new LawRow(item,IsLastRow, LawListCT_HangTheDownloadEvent_Callback)); // } //} //else //{ // AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); //} #endregion }
/// <summary> /// 通过地图 Id 取得地图数据 /// </summary> /// <param name="mapId"></param> /// <param name="callback"></param> private void GetMap(string mapId, NetworkTool.RequestCallback callback) { // 先检查缓存里面有没有 if (mapCache.TryGetValue(mapId, out var value)) { callback(value); return; } StartCoroutine(NetworkTool.GetRequest($"/get_map/{mapId}", result => { // 先添加到缓存里面 mapCache.Add(mapId, result); callback(result); })); }
/// <summary> /// 取得图片 /// </summary> /// <param name="path"></param> /// <param name="callback"></param> public void GetSpriteByPath(string path, NetworkTool.RequestSpriteCallback callback) { // 先检查缓存里面有没有 if (imgCache.TryGetValue(path, out var value)) { callback(value); return; } StartCoroutine(NetworkTool.GetSpriteRequest(path, result => { // 先添加到缓存里面 imgCache.Add(path, result); callback(result); })); }
/// <summary> /// 用于初始化地图信息 /// </summary> /// <param name="callback"></param> public void InitMapInfoList(NetworkTool.RequestCallback callback) { if (isInitMapInfos) { callback(""); return; } StartCoroutine(NetworkTool.GetRequest("/get_map_infos", result => { // 先清空 mapInfos.Clear(); var array = JArray.Parse(result); foreach (var item in array) { mapInfos.Add(JsonConvert.DeserializeObject <GameMapInfoDTO>(item.ToString())); } callback(result); isInitMapInfos = true; })); }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } int id = int.TryParse(request.Form["ID"] ?? "", out id) ? id : -1; var action = request.Form["Type"] ?? ""; var name = request.Form["Name"] ?? ""; var roleListJson = request.Form["RoleList"] ?? ""; var now = DateTime.Now; PermissionsList permissionsList = null; try { permissionsList = (string.IsNullOrEmpty(roleListJson)) ? null : JsonConvert.DeserializeObject <PermissionsList>(roleListJson); } catch (Exception jsonEx) { permissionsList = null; } switch (action.ToLower()) { case "add": { if (string.IsNullOrEmpty(name) || permissionsList == null) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (id <= 0) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { ////驗證權限(不確定是否為相應的欄位) //var operationManager = db.dt_Manager.Find(managerId); //var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); //if (operationManagerRole.RoleManage == false) //{ // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; //} var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "ManagerEdit", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; if (!string.IsNullOrEmpty(name)) { var dupNameRole = action.ToLower() == "add" ? db.dt_ManagerRole.Where(a => a.RoleName == name.Trim()).FirstOrDefault() : db.dt_ManagerRole.Where(a => a.RoleName == name.Trim() & a.Id != id).FirstOrDefault(); if (dupNameRole != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已存在相同名称的角色!"; return(result); } } switch (action.ToLower()) { case "add": { var role = new dt_ManagerRole() { RoleName = name, LiveCmsManage = permissionsList.liveCmsManage.ToBoolByOnOffString(), DealerManage = permissionsList.AnchorManage.ToBoolByOnOffString(), DealerList = permissionsList.AnchorList.ToBoolByOnOffString(), DealerPost = permissionsList.AnchorPost.ToBoolByOnOffString(), DealerTime = permissionsList.AnchorTime.ToBoolByOnOffString(), LiveManage = permissionsList.liveManage.ToBoolByOnOffString(), VideoList = permissionsList.videoList.ToBoolByOnOffString(), BarrageManage = permissionsList.barrageManage.ToBoolByOnOffString(), SystemBarrage = permissionsList.systemBarrage.ToBoolByOnOffString(), WordsManage = permissionsList.wordsManage.ToBoolByOnOffString(), ManualReview = permissionsList.manualReview.ToBoolByOnOffString(), GiftManage = permissionsList.giftManage.ToBoolByOnOffString(), GiftList = permissionsList.giftList.ToBoolByOnOffString(), DealerTable = permissionsList.AnchorTable.ToBoolByOnOffString(), Manager = permissionsList.Manager.ToBoolByOnOffString(), ManagerList = permissionsList.managerList.ToBoolByOnOffString(), RoleManage = permissionsList.roleManage.ToBoolByOnOffString(), ManageLog = permissionsList.manageLog.ToBoolByOnOffString(), ShieldedRecord = permissionsList.shieldedRecord.ToBoolByOnOffString(), LiveNotSpeak = permissionsList.liveNotSpeak.ToBoolByOnOffString(), BlackWordManage = permissionsList.blackWordManage.ToBoolByOnOffString(), RealTimeBarrage = permissionsList.realTimeBarrage.ToBoolByOnOffString(), AllowIp = permissionsList.AllowIp.ToBoolByOnOffString(), AddTime = now }; db.dt_ManagerRole.Add(role); manageLog.Remarks = "添加角色:" + name; break; } case "edit": { var role = db.dt_ManagerRole.Find(id); if (role == null) { result.Code = ResultHelper.ParamFail; result.StrCode = "ID:" + id + "的角色不存在!"; return(result); } if (!string.IsNullOrEmpty(name)) { role.RoleName = name; } if (permissionsList != null) { if (!string.IsNullOrEmpty(permissionsList.liveCmsManage)) { role.LiveCmsManage = permissionsList.liveCmsManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AnchorManage)) { role.DealerManage = permissionsList.AnchorManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AnchorList)) { role.DealerList = permissionsList.AnchorList.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AnchorPost)) { role.DealerPost = permissionsList.AnchorPost.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AnchorTime)) { role.DealerTime = permissionsList.AnchorTime.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.liveManage)) { role.LiveManage = permissionsList.liveManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.videoList)) { role.VideoList = permissionsList.videoList.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.barrageManage)) { role.BarrageManage = permissionsList.barrageManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.systemBarrage)) { role.SystemBarrage = permissionsList.systemBarrage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.sentenceManage)) { role.SentenceManage = permissionsList.sentenceManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.wordsManage)) { role.WordsManage = permissionsList.wordsManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.manualReview)) { role.ManualReview = permissionsList.manualReview.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.giftManage)) { role.GiftManage = permissionsList.giftManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.giftList)) { role.GiftList = permissionsList.giftList.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AnchorTable)) { role.DealerTable = permissionsList.AnchorTable.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.Manager)) { role.Manager = permissionsList.Manager.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.managerList)) { role.ManagerList = permissionsList.managerList.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.roleManage)) { role.RoleManage = permissionsList.roleManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.manageLog)) { role.ManageLog = permissionsList.manageLog.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.shieldedRecord)) { role.ShieldedRecord = permissionsList.shieldedRecord.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.liveNotSpeak)) { role.LiveNotSpeak = permissionsList.liveNotSpeak.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.blackWordManage)) { role.BlackWordManage = permissionsList.blackWordManage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.realTimeBarrage)) { role.RealTimeBarrage = permissionsList.realTimeBarrage.ToBoolByOnOffString(); } if (!string.IsNullOrEmpty(permissionsList.AllowIp)) { role.AllowIp = permissionsList.AllowIp.ToBoolByOnOffString(); } } manageLog.Remarks = "修改角色:" + name; break; } } db.dt_ManageLog.Add(manageLog); db.SaveChanges(); result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; } return(result); } catch (Exception ex) { Log.Error("SetRole", "SetRole", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } int id = int.TryParse(request.Form["ID"], out id) ? id : -1; byte state = byte.TryParse(request.Form["State"], out state) ? state : (byte)255; //0黑名单|1白名单 var content = request.Form["Content"] ?? ""; var remark = request.Form["Remark"] ?? ""; var action = request.Form["Type"] ?? ""; var now = DateTime.Now; switch (action.ToLower()) { case "add": { if (string.IsNullOrEmpty(content) || state == (byte)255) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (id <= 0 || string.IsNullOrEmpty(content)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { ////驗證權限(不確定是否為相應的欄位) //var operationManager = db.dt_Manager.Find(managerId); //var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); //if (operationManagerRole.SentenceManage == false) //{ // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; //} var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "setSentenceManage", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; switch (action.ToLower()) { case "add": { var sentence = db.dt_SensitiveSentences .Where(s => s.content == content.Trim()) .FirstOrDefault(); if (sentence != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已有相同内容之" + (sentence.state == 0 ? "黑" : "白") + "名单!"; return(result); } var blockWords = db.dt_SensitiveWords .Where(s => s.state == 0 && content.Trim().Contains(s.content)) .FirstOrDefault(); if (blockWords != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已有包含该内容之禁用词语!"; return(result); } sentence = new dt_SensitiveSentences() { content = content.Trim(), remark = remark, state = state, addtime = now, updatetime = now, adminid = managerId, adminname = db.dt_Manager.Find(managerId).user_name }; manageLog.Remarks = "添加" + ((state == 1) ? "白" : "黑") + "名单:" + content; db.dt_SensitiveSentences.Add(sentence); break; } case "edit": { var sentence = db.dt_SensitiveSentences .Where(s => s.content == content.Trim() && s.id != id) .FirstOrDefault(); if (sentence != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已有相同内容之" + (sentence.state == 0 ? "黑" : "白") + "名单!"; return(result); } var blockWords = db.dt_SensitiveWords .Where(s => s.state == 0 && content.Trim().Contains(s.content)) .FirstOrDefault(); if (blockWords != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已有包含该内容之禁用词语!"; return(result); } sentence = db.dt_SensitiveSentences.Find(id); if (sentence == null) { result.Code = ResultHelper.ParamFail; result.StrCode = "找不到ID:" + id + "的数据!"; return(result); } if (!string.IsNullOrEmpty(content.Trim())) { sentence.content = content.Trim(); } if (!string.IsNullOrEmpty(remark.Trim())) { sentence.remark = remark.Trim(); } if (state < 255) { sentence.state = state; } sentence.updatetime = now; sentence.adminid = managerId; sentence.adminname = db.dt_Manager.Find(managerId).user_name; manageLog.Remarks = "修改黑白名单ID:" + sentence.id + ", 內容:" + content; break; } } db.dt_ManageLog.Add(manageLog); db.SaveChanges(); UpdateMsg.PostUpdate("dt_SensitiveSentences"); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (DbUpdateException ex) { Log.Info("SetSentenceManage", "SetSentenceManage", ex.InnerException.Message.ToString()); result.Code = ResultHelper.ParamFail; result.StrCode = "已有重复的内容,请刷新页面"; return(result); } catch (Exception ex) { Log.Error("SetSentenceManage", "SetSentenceManage", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var userName = request.Form["UserName"] ?? ""; var oldPassword = request.Form["oldPassword"] ?? ""; var newPassword = request.Form["newPassword"] ?? ""; var action = request.Form["Type"] ?? ""; var now = DateTime.Now; if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(oldPassword) || string.IsNullOrEmpty(newPassword) || action.ToLower() != "edit") { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { ////驗證權限(不確定是否為相應的欄位) //var operationManager = db.dt_Manager.Find(managerId); //var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); //if (operationManagerRole.Manager == false) //{ // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; //} var manager = db.dt_Manager.Where(m => m.user_name == userName).FirstOrDefault(); if (manager == null) { result.Code = ResultHelper.ParamFail; result.StrCode = "不存在管理员帐户:" + userName + "!"; return(result); } if (manager.password != oldPassword) { result.Code = ResultHelper.ParamFail; result.StrCode = "原密码错误!"; return(result); } manager.password = newPassword; var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "setPassword", AddTime = now, Remarks = "修改帐户密码:" + manager.user_name, IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); db.SaveChanges(); result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; } return(result); } catch (Exception ex) { Log.Error("SetPassword", "SetPassword", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
private void CallLigon() { canLogin = false; MouseTool.ShowLoading(); try { string UserID = tbUserID.Text.Trim(); string UserPWD = tbUserPWD.Password.Trim(); string UserDateBegin = DateTool.MonthFirstDate(DateTime.Today).ToString("yyyyMMdd"); //"20190101"; string UserDateEnd = DateTool.MonthFirstDate(DateTime.Today.AddMonths(1)).ToString("yyyyMMdd"); //"20190101"; //Network.HttpRequest hr = new Network.HttpRequest(); if (NetworkTool.CheckNetwork() > 0) { string url = WsTool.GetUrl(); string xmlData = "<?xml version=\"1.0\"?><UserInfo><UserID><![CDATA[{0}]]></UserID><UserPW><![CDATA[{1}]]></UserPW><UserDevice>1</UserDevice><UserDateBegin>{2}</UserDateBegin><UserDateEnd>{3}</UserDateEnd></UserInfo>"; xmlData = string.Format(xmlData, UserID, UserPWD, UserDateBegin, UserDateEnd); Dictionary <string, string> postData = new Dictionary <string, string>(); postData["XmlDoc"] = xmlData; //LogTool.Debug(xmlData); HttpWebRequest request = HttpTool.GetHttpWebRequest(url + "/UserData", "POST", postData); // init your request...then: //lambda //呼叫方法,第二個是lambda匿名方法 DoWithResponse(request, (response) => { //這裡面是不同的執行序; User user = null; try { string data = new StreamReader(response.GetResponseStream()).ReadToEnd(); //LogTool.Debug(data); user = XmlHelper.XmlDeserialize <User>(data, Encoding.UTF8); } catch (Exception ex) { this.Dispatcher.BeginInvoke(new Action(() => { AutoClosingMessageBox.Show("登入失敗,請重新登入"); })); LogTool.Debug(ex); } this.Dispatcher.BeginInvoke(new Action <User>(CheckLogin), user); }); } else { //DB查詢登入 DataTable dt = MSCE.GetDataTable("select UserID from LoginInfo where UserID =@1", UserID); if (dt.Rows.Count > 0) { dt = MSCE.GetDataTable("select UserJson from LoginInfo where UserID =@1 and UserPWD=@2" , UserID , UserPWD); if (dt.Rows.Count > 0) { User user = JsonConvert.DeserializeObject <User>(dt.Rows[0]["UserJson"].ToString()); string HomeUserButtonAryJSON = JsonConvert.SerializeObject(user.EnableButtonList); string UTC = user.UTC.ToString(); long deltaUTC = 0; try { deltaUTC = DateTool.GetCurrentTimeInUnixMillis() - long.Parse(UTC); } catch (Exception ex) { LogTool.Debug(ex); } string SQL = @"Update NowLogin set UserID=@1,UserName=@2,UserPWD=@3,MeetingListDate=getdate(),HomeUserButtonAryJSON=@4,UserEmail=@5,UTC=@6,DeltaUTC=@7,RemeberLogin=@8"; int success = MSCE.ExecuteNonQuery(SQL , user.ID , user.Name , tbUserPWD.Password.Trim() , HomeUserButtonAryJSON , user.Email , DateTool.GetCurrentTimeInUnixMillis().ToString() , deltaUTC.ToString() , cbRemeberLogin.IsChecked == true ? "true" : "false"); if (success < 1) { LogTool.Debug(new Exception(@"DB失敗: " + SQL)); return; } this.Dispatcher.BeginInvoke(new Action <User>(CheckLogin), user); } else { MouseTool.ShowArrow(); AutoClosingMessageBox.Show("您的密碼錯誤"); canLogin = true; } } else { MouseTool.ShowArrow(); AutoClosingMessageBox.Show("無此使用者帳號,請重新輸入"); canLogin = true; } } } catch (Exception ex) { MouseTool.ShowArrow(); AutoClosingMessageBox.Show("登入失敗"); canLogin = true; } }
void Run(object obj) { var server = obj as Socket; if (server != null) { #region SocketConnected SocketConnected?.Invoke(this, new SocketEventArgs(server)); #endregion List <byte> lstResponse = new List <byte>(); var prev = DateTime.Now; var chr = new Chattering() { ChatteringTime = DisconnectCheckTime }; bool IsThStart = true; chr.StateChanged += (o, s) => { if (!s.Value) { IsThStart = false; } }; while (IsThStart) { try { #region DataRead if (server.Available > 0) { try { int n = server.Receive(baResponse); for (int i = 0; i < n; i++) { lstResponse.Add(baResponse[i]); } prev = DateTime.Now; } catch (TimeoutException) { } } #endregion #region Modbus Parse if (lstResponse.Count >= 10) { int Slave = lstResponse[6]; ModbusFunction Function = (ModbusFunction)lstResponse[7]; int StartAddress = (lstResponse[8] << 8) | lstResponse[9]; switch (Function) { case ModbusFunction.BITREAD_F1: case ModbusFunction.BITREAD_F2: #region BitRead if (lstResponse.Count == 12) { int Length = (lstResponse[10] << 8) | lstResponse[11]; if (BitReadRequest != null) { var args = new BitReadRequestArgs(lstResponse.ToArray()); BitReadRequest?.Invoke(this, args); if (args.Success && args.ResponseData != null && args.ResponseData.Length == args.Length) { #region MakeData List <byte> Datas = new List <byte>(); int nlen = args.ResponseData.Length / 8; nlen += (args.ResponseData.Length % 8 == 0) ? 0 : 1; for (int i = 0; i < nlen; i++) { byte val = 0; for (int j = (i * 8), nTemp = 0; j < args.ResponseData.Length && j < (i * 8) + 8; j++, nTemp++) { if (args.ResponseData[j]) { val |= Convert.ToByte(Math.Pow(2, nTemp)); } } Datas.Add(val); } #endregion #region Write List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add((byte)(((nlen + 3) & 0xFF00) >> 8)); ret.Add((byte)(((nlen + 3) & 0x00FF))); ret.Add((byte)Slave); ret.Add((byte)Function); ret.Add((byte)Datas.Count); ret.AddRange(Datas.ToArray()); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } #endregion break; case ModbusFunction.WORDREAD_F3: case ModbusFunction.WORDREAD_F4: #region WordRead if (lstResponse.Count == 12) { int Length = (lstResponse[10] << 8) | lstResponse[11]; if (WordReadRequest != null) { var args = new WordReadRequestArgs(lstResponse.ToArray()); WordReadRequest?.Invoke(this, args); if (args.Success && args.ResponseData != null && args.ResponseData.Length == args.Length) { #region MakeData List <byte> Datas = new List <byte>(); for (int i = 0; i < args.ResponseData.Length; i++) { Datas.Add((byte)((args.ResponseData[i] & 0xFF00) >> 8)); Datas.Add((byte)((args.ResponseData[i] & 0x00FF))); } #endregion #region Write int nlen = Length * 2; List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add((byte)(((nlen + 3) & 0xFF00) >> 8)); ret.Add((byte)(((nlen + 3) & 0x00FF))); ret.Add((byte)Slave); ret.Add((byte)Function); ret.Add((byte)Datas.Count); ret.AddRange(Datas.ToArray()); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } #endregion break; case ModbusFunction.BITWRITE_F5: #region BitWrite if (lstResponse.Count == 12) { int WriteValue = (lstResponse[10] << 8) | lstResponse[11]; if (BitWriteRequest != null) { var args = new BitWriteRequestArgs(lstResponse.ToArray()); BitWriteRequest?.Invoke(this, args); if (args.Success) { #region Write int nv = args.WriteValue ? 0xFF00 : 0; List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(6); ret.Add((byte)Slave); ret.Add((byte)Function); ret.Add((byte)((StartAddress & 0xFF00) >> 8)); ret.Add((byte)((StartAddress & 0x00FF))); ret.Add((byte)((nv & 0xFF00) >> 8)); ret.Add((byte)((nv & 0x00FF))); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } #endregion break; case ModbusFunction.WORDWRITE_F6: #region WordWrite if (lstResponse.Count == 12) { int WriteValue = (lstResponse[10] << 8) | lstResponse[11]; if (WordWriteRequest != null) { var args = new WordWriteRequestArgs(lstResponse.ToArray()); WordWriteRequest?.Invoke(this, args); if (args.Success) { #region Write List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(6); ret.Add((byte)args.Slave); ret.Add((byte)args.Function); ret.Add((byte)((args.StartAddress & 0xFF00) >> 8)); ret.Add((byte)((args.StartAddress & 0x00FF))); ret.Add((byte)((args.WriteValue & 0xFF00) >> 8)); ret.Add((byte)((args.WriteValue & 0x00FF))); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } #endregion break; case ModbusFunction.MULTIBITWRITE_F15: #region MultiBitWrite if (lstResponse.Count >= 13) { int ByteCount = lstResponse[12]; if (lstResponse.Count >= 13 + ByteCount) { var args = new MultiBitWriteRequestArgs(lstResponse.ToArray()); if (MultiBitWriteRequest != null) { MultiBitWriteRequest?.Invoke(this, args); if (args.Success) { #region Write List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(6); ret.Add((byte)args.Slave); ret.Add((byte)args.Function); ret.Add((byte)((args.StartAddress & 0xFF00) >> 8)); ret.Add((byte)((args.StartAddress & 0x00FF))); ret.Add((byte)((args.Length & 0xFF00) >> 8)); ret.Add((byte)((args.Length & 0x00FF))); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } } #endregion break; case ModbusFunction.MULTIWORDWRITE_F16: #region MultiWordWrite if (lstResponse.Count >= 13) { int ByteCount = lstResponse[12]; if (lstResponse.Count >= 13 + ByteCount) { if (MultiWordWriteRequest != null) { var args = new MultiWordWriteRequestArgs(lstResponse.ToArray()); MultiWordWriteRequest?.Invoke(this, args); if (args.Success) { #region Write List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(6); ret.Add((byte)args.Slave); ret.Add((byte)args.Function); ret.Add((byte)((args.StartAddress & 0xFF00) >> 8)); ret.Add((byte)((args.StartAddress & 0x00FF))); ret.Add((byte)((args.Length & 0xFF00) >> 8)); ret.Add((byte)((args.Length & 0x00FF))); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } } #endregion break; case ModbusFunction.WORDBITSET_F26: #region WordBitSet if (lstResponse.Count == 13) { if (WordBitSetRequest != null) { var args = new WordBitSetRequestArgs(lstResponse.ToArray()); WordBitSetRequest?.Invoke(this, args); if (args.Success) { #region Write int nv = args.WriteValue ? 0xFF00 : 0; List <byte> ret = new List <byte>(); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(0); ret.Add(6); ret.Add((byte)args.Slave); ret.Add((byte)args.Function); ret.Add((byte)((args.StartAddress & 0xFF00) >> 8)); ret.Add((byte)((args.StartAddress & 0x00FF))); ret.Add((byte)((nv & 0xFF00) >> 8)); ret.Add((byte)((nv & 0x00FF))); byte[] send = ret.ToArray(); server.Send(send); #endregion } } lstResponse.Clear(); } #endregion break; } } #endregion #region Buffer Clear if ((DateTime.Now - prev).TotalMilliseconds >= 50 && lstResponse.Count > 0) { lstResponse.Clear(); } #endregion chr.Set(NetworkTool.IsSocketConnected(server)); } catch (SocketException ex) { if (ex.SocketErrorCode == SocketError.TimedOut) { } else if (ex.SocketErrorCode == SocketError.ConnectionReset) { } else if (ex.SocketErrorCode == SocketError.ConnectionAborted) { IsThStart = false; } } catch { } Thread.Sleep(10); } #region Socket Closed if (server.Connected) { server.Close(); } SocketDisconnected?.Invoke(this, new SocketEventArgs(server)); #endregion } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } int id = int.TryParse(request.Form["ID"] ?? "-1", out id) ? id : -1; var userName = request.Form["UserName"] ?? ""; var password = request.Form["Password"] ?? ""; var realName = request.Form["RealName"] ?? ""; var adminRole = request.Form["AdminRole"] ?? ""; var action = request.Form["Type"] ?? ""; var now = DateTime.Now; ////驗證權限 //using (var db = new livecloudEntities()) //{ // var operationManager = db.dt_Manager.Find(managerId); // var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); // if (operationManagerRole.Manager == false) // { // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; // } //} switch (action.ToLower()) { case "add": { if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(adminRole)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (id <= 0) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } //if (!string.IsNullOrEmpty(userName)) //{ // result.Code = ResultHelper.ParamFail; // result.StrCode = "不允许修改管理员帐户名称!"; // return result; //} break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "ManagerEdit", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; dt_ManagerRole role = null; if (!string.IsNullOrEmpty(adminRole)) { int roleId = int.TryParse(adminRole, out roleId) ? roleId : -1; role = (roleId > 0) ? db.dt_ManagerRole.Find(roleId) : db.dt_ManagerRole.Where(r => r.RoleName == adminRole).FirstOrDefault(); if (role == null) { result.Code = ResultHelper.ParamFail; result.StrCode = "找不到管理员角色ID:" + roleId + "的数据!"; return(result); } } switch (action.ToLower()) { case "add": { var dupNameManager = db.dt_Manager.Where(a => a.user_name == userName).FirstOrDefault(); if (dupNameManager != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已存在相同名称的管理员!"; return(result); } var manager = new dt_Manager() { user_name = userName, real_name = realName, password = password, admin_role = role.Id, add_time = now, Status = 1 }; db.dt_Manager.Add(manager); manageLog.Remarks = "新增管理员帐户:" + userName; break; } case "edit": { var manager = db.dt_Manager.Find(id); if (manager == null) { result.Code = ResultHelper.ParamFail; result.StrCode = "ID:" + id + "的管理员不存在!"; return(result); } if (!string.IsNullOrEmpty(realName)) { manager.real_name = realName; } if (!string.IsNullOrEmpty(password)) { manager.password = password; } if (role != null) { manager.admin_role = role.Id; } manageLog.Remarks = "修改管理员信息:" + manager.user_name + "(ID:" + manager.id + ")"; break; } } db.dt_ManageLog.Add(manageLog); db.SaveChanges(); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (Exception ex) { Log.Error("ManagerEdit", "ManagerEdit", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.NotLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { var pwd = request.Form["Password"] ?? ""; var userName = request.Form["Username"] ?? ""; //缺少正則檢查 if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(pwd)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } //缺少已登入檢查 using (livecloudEntities db = new Models.livecloudEntities()) { var manager = db.dt_Manager .Where(m => m.user_name == userName && m.password == pwd) .FirstOrDefault(); //缺少檢查管理員帳號是否已停用 if (manager == null) // || manager.Status != 1) { result.Code = ResultHelper.ParamFail; result.StrCode = "帐户或密码错误"; return(result); } if (manager.Status == (byte)0) { result.Code = ResultHelper.ParamFail; result.StrCode = "帐户已被停用"; return(result); } var role = db.dt_ManagerRole .Where(r => r.Id == manager.admin_role) .FirstOrDefault(); if (role == null) { throw new Exception("找不到 管理員ID:" + manager.id + " 對應的角色權限ID:" + manager.admin_role + " 的訊息"); } var manageLog = new dt_ManageLog() { ManagerId = manager.id, ManagerName = manager.user_name, ActionType = "Login", AddTime = DateTime.Now, Remarks = "登入成功", IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); db.SaveChanges(); session["ManagerId"] = manager.id; session["ManagerName"] = manager.user_name; session["RoleId"] = manager.admin_role; result.Code = ResultHelper.Success; result.StrCode = "登录成功"; result.IsLogin = ResultHelper.IsLogin; result.BackData = new GetRoleInfoBodyData() { barrageManage = role.BarrageManage.ToOnOff(), AnchorList = role.DealerList.ToOnOff(), AnchorManage = role.DealerManage.ToOnOff(), AnchorPost = role.DealerPost.ToOnOff(), AnchorTable = role.DealerTable.ToOnOff(), AnchorTime = role.DealerTime.ToOnOff(), giftList = role.GiftList.ToOnOff(), giftManage = role.GiftManage.ToOnOff(), livecmsManage = role.LiveCmsManage.ToOnOff(), liveManage = role.LiveManage.ToOnOff(), manageLog = role.ManageLog.ToOnOff(), Manager = role.Manager.ToOnOff(), managerList = role.ManagerList.ToOnOff(), manualReview = role.ManualReview.ToOnOff(), roleManage = role.RoleManage.ToOnOff(), systemBarrage = role.SystemBarrage.ToOnOff(), videoList = role.VideoList.ToOnOff(), wordsManage = role.WordsManage.ToOnOff(), sentenceManage = role.SentenceManage.ToOnOff(), shieldedRecord = role.ShieldedRecord.ToOnOff(), liveNotSpeak = role.LiveNotSpeak.ToOnOff(), blackWordManage = role.BlackWordManage.ToOnOff(), realTimeBarrage = role.RealTimeBarrage.ToOnOff() }; } return(result); } catch (Exception ex) { Log.Error("Login", "Login", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var timeNow = DateTime.Now; var multiId = request.Form["ID"] ?? ""; if (string.IsNullOrEmpty(multiId) || !(new Regex(@"^(([\d]{1,}){1}|(([\d]{1,}\,){1,}([\d]{1,}){1}))$").IsMatch(multiId))) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } var idList = multiId.Split(',').Select(o => Convert.ToInt32(o)).Distinct().OrderBy(o => o).ToList(); using (var db = new livecloudEntities()) { var manager = db.dt_Manager.Find(managerId); var UserBarrageNoSpeakList = db.dt_UserBarrageNoSpeak.Where(o => idList.Contains(o.id)).ToList(); foreach (var item in UserBarrageNoSpeakList) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = manager.user_name, ActionType = "delLiveNotSpeak", AddTime = timeNow, Remarks = "删除用戶禁言: " + item.identityid + "_" + item.UserName + "(ID:" + item.id + ")", IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); } db.dt_UserBarrageNoSpeak.RemoveRange(UserBarrageNoSpeakList); db.SaveChanges(); UpdateMsg.PostUpdate("dt_UserBarrageNoSpeak"); result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; } return(result); } catch (Exception ex) { Log.Error("DelManager", "DelManager", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
// private void btnLastNext_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { SV.ScrollToVerticalOffset(1); Image img = sender as Image; if (img.Name.Equals("btnLast")) { MeetingListDate = MeetingListDate.AddMonths(-1); } else { MeetingListDate = MeetingListDate.AddMonths(1); } // 非同步POST方法 MouseTool.ShowLoading(); //檢查是否有網路連線 Network.HttpRequest hr = new Network.HttpRequest(); if (NetworkTool.CheckNetwork() > 0) { Task.Factory.StartNew(() => { //無快取機制 //GetUserData.AsyncPOST(UserID, UserPWD // , MeetingListDate // , (userObj, dateTime) => GetUserData_DoAction(userObj, dateTime)); //有快取機制 if (PreLoadLastNextMonthDict.ContainsKey(MeetingListDate) == true) { GetUserData_DoAction(PreLoadLastNextMonthDict[MeetingListDate], MeetingListDate); //預載上一個月和下一個月 PreLoadLastNextMonth(); } else { GetUserData.AsyncPOST(UserID, UserPWD , MeetingListDate , (userObj, dateTime) => { GetUserData_DoAction(userObj, dateTime); //預載上一個月和下一個月 PreLoadLastNextMonth(); }); } }); //}).ContinueWith(task => //{ // //預載上一個月 // //Thread.Sleep(100); // //GetUserData.AsyncPOST(UserID, UserPWD // // , MeetingListDate.AddMonths(-1) // // , (userObj, dateTime) => { LastNextDict[dateTime] = userObj; }); //}).ContinueWith(task => //{ // //預載下一個月 // //Thread.Sleep(100); // //GetUserData.AsyncPOST(UserID, UserPWD // // , MeetingListDate.AddMonths(1) // // , (userObj, dateTime) => { LastNextDict[dateTime] = userObj; }); //}); } else { //DB查詢日期 DataTable dt = MSCE.GetDataTable("select UserJson from UserData where UserID =@1 and ListDate=@2" , UserID , DateTool.MonthFirstDate(MeetingListDate).ToString("yyyyMMdd")); User user = new User(); if (dt.Rows.Count > 0) { user = JsonConvert.DeserializeObject <User>(dt.Rows[0]["UserJson"].ToString()); } else { dt = MSCE.GetDataTable("select top 1 UserJson from UserData where UserID =@1" , UserID); if (dt.Rows.Count > 0) { user = JsonConvert.DeserializeObject <User>(dt.Rows[0]["UserJson"].ToString()); } user.MeetingList = new UserMeeting[0]; } GetUserData_DoAction(user, MeetingListDate); } //, () => { this.Dispatcher.BeginInvoke(new Action(() => { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); })); }); #region 步POST方法 //User user=GetUserData.POST(UserID, UserPWD, // DateTool.MonthFirstDate(MeetingListDate).ToString("yyyyMMdd"), // DateTool.MonthLastDate(MeetingListDate).ToString("yyyyMMdd")); //if (user != null) //{ // if (user.MeetingList.Length < 1) // txtNothing.Visibility = Visibility.Visible; // InitUI(user.MeetingList, MeetingListDate); // // 會議列表的上下一頁不要複寫Buton的JSON了 // // HomeUserButtonAryJSON = JsonConvert.SerializeObject(user.EnableButtonList); //} //else //{ // AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); //} #endregion // 先做UI,再把按鈕的JSON存下來 string SQL = @"update NowLogin Set MeetingListDate=@1"; //,HomeUserButtonAryJSON=@2 int success = MSCE.ExecuteNonQuery(SQL, MeetingListDate.ToString("yyyy/MM/dd")); //, HomeUserButtonAryJSON); if (success < 1) { LogTool.Debug(new Exception(@"DB失敗: " + SQL)); } }
/// <summary> /// 发送游戏结束的信息 /// </summary> /// <param name="score"></param> /// <param name="time"></param> /// <param name="hp"></param> /// <param name="isWin"></param> public void SendGameEnd(int score, float time, int hp, bool isWin) { StartCoroutine(NetworkTool.PostJsonRequest("/push_end_info", JsonConvert.SerializeObject(new GameEndInfoDTO(score, time, hp, isWin)), result => { })); }
/// <summary> /// 发送开始游戏的信息 /// </summary> public void SendStartGame() { StartCoroutine(NetworkTool.GetRequest($"/play_map/{currentMapId}", result => { })); }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; var now = DateTime.Now; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } string ids = request.Form["ID"] ?? ""; if (string.IsNullOrEmpty(ids) || !regex.IsMatch(ids)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } ////驗證權限 //using (var db = new livecloudEntities()) //{ // var operationManager = db.dt_Manager.Find(managerId); // var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); // if (operationManagerRole.WordsManage == false) // { // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; // } //} using (var db = new livecloudEntities()) { var idList = ids.Split(',').Select(i => int.Parse(i)).ToList(); var query = from w in db.dt_SensitiveWords where idList.Contains(w.id) select w; var removeList = db.dt_SensitiveWords.RemoveRange(query); var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "delWordsManage", AddTime = now, Remarks = "删除禁用敏感字词ID:" + ids, IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); db.SaveChanges(); UpdateMsg.PostUpdate("dt_SensitiveWords"); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (Exception ex) { Log.Error("DelWordsManage", "DelWordsManage", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var now = DateTime.Now; var multiId = request.Form["ID"] ?? ""; if (string.IsNullOrEmpty(multiId) || !(new Regex(@"^(([\d]{1,}){1}|(([\d]{1,}\,){1,}([\d]{1,}){1}))$").IsMatch(multiId))) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } //驗證權限 using (var db = new livecloudEntities()) { var operationManager = db.dt_Manager.Find(managerId); var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); if (operationManagerRole.RoleManage == false) { result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotAuthorizedMsg; return(result); } } var idList = multiId.Split(',').Select(o => Convert.ToInt32(o)).Distinct().OrderBy(o => o).ToList(); using (var db = new livecloudEntities()) { var usedRolesManagerList = db.dt_Manager.Where(m => idList.Contains(m.admin_role)); if (usedRolesManagerList.Count() > 0) { result.Code = ResultHelper.ParamFail; result.StrCode = "无法删除已绑定管理员之角色!"; return(result); } var delRoleList = db.dt_ManagerRole.RemoveRange(db.dt_ManagerRole.Where(o => idList.Contains(o.Id))); var manager = db.dt_Manager.Find(managerId); foreach (var role in delRoleList) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = manager.user_name, ActionType = "delRole", AddTime = now, Remarks = "删除角色:" + role.RoleName + "(ID:" + role.Id + ")", IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); } db.dt_ManagerRole.RemoveRange(delRoleList); db.SaveChanges(); result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; } //刷新腳色緩存 //Cache.refreshRole(); return(result); } catch (Exception ex) { Log.Error("DelRole", "DelRole", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var action = request.Form["Type"] ?? ""; int id = int.TryParse(request.Form["AnchorID"] ?? "-1", out id) ? id : -1; var name = request.Form["Name"] ?? ""; byte sex = byte.TryParse(request.Form["Sex"] ?? "", out sex) ? sex : (byte)255; byte age = byte.TryParse(request.Form["Age"] ?? "", out age) ? age : (byte)255; var city = request.Form["City"] ?? ""; int height = int.TryParse(request.Form["Height"] ?? "-1", out height) ? height : -1; int weight = int.TryParse(request.Form["Weight"] ?? "-1", out weight) ? weight : -1; var image = request.Form["Image"] ?? ""; var photo = request.Form["Photo"] ?? ""; var bwh = (request.Form["BWH"] ?? "").Replace(" ", ""); var now = DateTime.Now; ////驗證權限 //using (var db = new livecloudEntities()) //{ // var operationManager = db.dt_Manager.Find(managerId); // var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); // if (operationManagerRole.DealerManage == false) // { // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; // } //} switch (action.ToLower()) { case "add": { if (string.IsNullOrEmpty(name) || sex > 2 || age > 250 || string.IsNullOrEmpty(city) || height < 0 || weight < 0 || bwh.Split(',').Length != 3 || string.IsNullOrEmpty(image) || string.IsNullOrEmpty(photo)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (id < 0 || (sex != (byte)255 && sex > 2) || (!string.IsNullOrEmpty(bwh) && bwh.Split(',').Length != 3)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } var imgName = ""; var photoName = ""; if (image.Split(',').Length > 1) { var imgUploader = new ImageUploader(); image = HttpUtility.UrlDecode(image.Split(',')[1].Trim()).Replace(" ", "+"); string jsonString = imgUploader.SaveToImageServer(image, ImageUploader.AnchorImageBaseUri); imgName = JsonConvert.DeserializeObject <ImgServicesResponse>(jsonString).data.FirstOrDefault(); } if (photo.Split(',').Length > 1) { var imgUploader = new ImageUploader(); photo = HttpUtility.UrlDecode(photo.Split(',')[1].Trim()).Replace(" ", "+"); string jsonString = imgUploader.SaveToImageServer(photo, ImageUploader.AnchorImageBaseUri); photoName = JsonConvert.DeserializeObject <ImgServicesResponse>(jsonString).data.FirstOrDefault(); } using (var db = new livecloudEntities()) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "setAnchor", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; var dupNameAnchor = action.ToLower() == "add" ? db.dt_dealer.Where(a => a.dealerName == name.Trim()).FirstOrDefault() : db.dt_dealer.Where(a => a.dealerName == name.Trim() & a.id != id).FirstOrDefault(); if (dupNameAnchor != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已存在相同名称的主播!"; return(result); } switch (action.ToLower()) { case "add": { //var dupNameAnchor = db.dt_dealer.Where(a=>a.dealerName == name.TrimEnd()).FirstOrDefault(); //if (dupNameAnchor != null) //{ // result.Code = ResultHelper.ParamFail; // result.StrCode = "已存在相同名称的主播!"; // return result; //} var anchor = new dt_dealer() { dealerName = name, sex = sex, age = age, area = city, height = height, weight = weight, bwh = bwh, add_time = now, update_time = now, img = imgName, img2 = photoName, imgStr = imgName, img2Str = photoName }; db.dt_dealer.Add(anchor); manageLog.Remarks = "添加主播信息:" + name; break; } case "edit": { var anchor = db.dt_dealer.Find(id); if (anchor == null) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg + " ID:" + id + "的主播不存在"; return(result); } if (!string.IsNullOrEmpty(name)) { anchor.dealerName = name; } if (sex < (byte)255) { anchor.sex = sex; } if (age < (byte)255) { anchor.age = age; } if (!string.IsNullOrEmpty(city)) { anchor.area = city; } if (height >= 0m) { anchor.height = height; } if (weight >= 0m) { anchor.weight = weight; } if (!string.IsNullOrEmpty(bwh)) { anchor.bwh = bwh; } if (!string.IsNullOrEmpty(imgName)) { anchor.img = "Anchor/Image/" + imgName; anchor.imgStr = imgName; } if (!string.IsNullOrEmpty(photoName)) { anchor.img2 = "Anchor/Image/" + photoName; anchor.img2Str = photoName; } anchor.update_time = now; manageLog.Remarks = "修改主播信息:" + anchor.dealerName + "(ID:" + anchor.id + ")"; break; } } db.dt_ManageLog.Add(manageLog); db.SaveChanges(); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (Exception ex) { Log.Error("SetAnchor", "SetAnchor", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var action = request.Form["Type"] ?? ""; int broadcastId = (int.TryParse(request.Form["BroadCastID"] ?? "", out broadcastId)) ? broadcastId : -1; int liveId = (int.TryParse(request.Form["GameID"] ?? "", out liveId)) ? liveId : -1; var now = DateTime.Now; DateTime startTime = DateTime.TryParse(request.Form["StartTime"] ?? "", out startTime) ? startTime : now; DateTime endTime = DateTime.TryParse(request.Form["EndTime"] ?? "", out endTime) ? endTime : now; var content = request.Form["Content"] ?? ""; ////驗證權限(不確定是否為相應的欄位) //using (var db = new livecloudEntities()) //{ // var operationManager = db.dt_Manager.Find(managerId); // var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); // if (operationManagerRole.SystemBarrage == false) // { // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; // } //} switch (action.ToLower()) { case "add": { if (liveId <= 0 || string.IsNullOrEmpty(content) || endTime <= startTime) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (broadcastId <= 0 || string.IsNullOrEmpty(content) || endTime <= startTime) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "setLiveBroadCast", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; dt_AdminBroadcastLog broadcast = null; switch (action.ToLower()) { case "add": { broadcast = new dt_AdminBroadcastLog() { LiveId = liveId, ManagerId = managerId, SendTime = now, StartTime = startTime, EndTime = endTime, Status = (byte)1, BroadcastText = content }; db.dt_AdminBroadcastLog.Add(broadcast); manageLog.Remarks = "添加广播至直播:" + liveId + ", 内容:" + content; break; } case "edit": { broadcast = db.dt_AdminBroadcastLog.Find(broadcastId); if (broadcast == null) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg + " ID:" + broadcastId + "的广播不存在"; return(result); } if (!string.IsNullOrEmpty(content)) { broadcast.BroadcastText = content; } broadcast.StartTime = startTime; broadcast.EndTime = endTime; manageLog.Remarks = "修改广播ID:" + broadcastId + ", 新内容:" + content; break; } } db.dt_ManageLog.Add(manageLog); var rowaffected = db.SaveChanges(); if (rowaffected > 0) { try { using (var client = new WebClient() { Encoding = Encoding.UTF8 }) { var broadcastModel = new { Target = "", GameID = liveId.ToString("0000"), Data = new { Type = "BroadCast", ID = broadcast.Id, Content = content, StartTime = startTime.ToString("yyyy-MM-dd HH:mm:ss"), EndTime = endTime.ToString("yyyy-MM-dd HH:mm:ss") } }; client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; var data = "content=" + JsonConvert.SerializeObject(broadcastModel); var response = client.UploadString(Conf.WSUrl, "POST", data); var broadcastResult = JsonConvert.DeserializeObject <Result>(response.ToString()); if (broadcastResult.code == 1) { result.Code = ResultHelper.Success; result.StrCode = "發送成功"; } else { result.Code = -1; result.StrCode = "發送廣播時出錯"; } } } catch (Exception te) { result.Code = -1; result.StrCode = "發送廣播時出錯"; } } else { result.Code = ResultHelper.ParamFail; result.StrCode = "執行時出錯"; } } return(result); } catch (Exception ex) { Log.Error("setLiveBroadCast", "setLiveBroadCast", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
// 外界只能使用靜態方法取得實例 public static SocketClient GetInstance(string _MeetingID, string _UserID, string _UserName, bool InitToSync) { bool SyncServerIsIP = false; IPAddress ip = default(IPAddress); IPAddress.TryParse(new Uri(WsTool.GetSyncServer_URL()).DnsSafeHost, out ip); if (IPAddress.Equals(default(IPAddress), ip) == false) { SyncServerIsIP = true; } if (SyncServerIsIP == false && NetworkTool.GetDomainNameIP(WsTool.GetSyncServer_URL(), 1000).Equals("") == true && NetworkTool.GetDomainNameIP(WsTool.GetSyncServerImp_URL(), 1000).Equals("") == true) { return(null); } // 先判斷目前有沒有實例,沒有的話才開始 lock, // 此次的判斷,是避免在有實例的情況,也執行 lock ,影響效能 if (instance == null) { // 避免多執行緒可能會產生兩個以上的實例,所以 lock lock (thisLock) { // lock 後,再判斷一次目前有無實例 // 此次的判斷,是避免多執行緒,同時通過前一次的 null == instance 判斷 if (instance == null) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } else { if (MeetingID.Equals(_MeetingID) == false) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } else { int i = 1; while (i <= 10) { bool IsConnected = instance.GetIsConnected(); if (instance != null && IsConnected == true) { break; } else if (i == 10) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } Thread.Sleep(10); i++; } } } } } else { lock (thisLock) { // lock 後,再判斷一次目前有無實例 // 此次的判斷,是避免多執行緒,同時通過前一次的 null == instance 判斷 if (instance == null) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } else { if (MeetingID.Equals(_MeetingID) == false) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } else { //if (instance.GetIsConnected() == false) // Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); int i = 1; while (i <= 10) { bool IsConnected = instance.GetIsConnected(); if (instance != null && IsConnected == true) { break; } else if (i == 10) { Init_Instance(_MeetingID, _UserID, _UserName, InitToSync); } Thread.Sleep(10); i++; } } } } } //Thread.Sleep(100); return(instance); }
private void GetNewMeeting_DoAction(string dataString) { // 先判斷是否要invoke if (this.Dispatcher.CheckAccess() == false) { // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。 this.Dispatcher.BeginInvoke(new Action <string>(GetNewMeeting_DoAction), dataString); } else { try { string CourseOrMeeting_String = PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String; XDocument xml = null; string State = ""; try { xml = XDocument.Parse(dataString); State = xml.Element("User").Attribute("State").Value.Trim(); } catch (Exception ex) { LogTool.Debug(ex); } switch (State) { case "0": string NewAddMeetingID = xml.Element("User").Element("MeetingData").Attribute("ID").Value.Trim(); string BeginTime = xml.Element("User").Element("MeetingData").Attribute("BeginTime").Value.Trim(); DateTime date = DateTime.Now; bool IsValid = DateTime.TryParse(BeginTime, out date); if (IsValid == false) { date = DateTime.Now; } // 先做UI,再把按鈕的JSON存下來 //string SQL = @"update NowLogin Set MeetingListDate=@1,NewAddMeetingID=@2";//,HomeUserButtonAryJSON=@2 //int success = MSCE.ExecuteNonQuery(SQL, date.ToString("yyyy/MM/dd"),NewAddMeetingID);//, HomeUserButtonAryJSON); //if (success < 1) // LogTool.Debug(new Exception(@"DB失敗: " + SQL)); this.NewAddMeetingID = NewAddMeetingID; // 非同步POST方法 MouseTool.ShowLoading(); //GetUserData.AsyncPOST(UserID, UserPWD // , date // , (userObj, dateTime) => GetUserData_DoAction(userObj, dateTime)); if (NetworkTool.CheckNetwork() > 0) { GetUserData.AsyncPOST(UserID, UserPWD , date , (userObj, dateTime) => GetUserData_DoAction(userObj, dateTime)); } else { //DB查詢日期 DataTable dt = MSCE.GetDataTable("select UserJson from UserData where UserID =@1 and ListDate=@2" , UserID , DateTool.MonthFirstDate(MeetingListDate).ToString("yyyyMMdd")); User user = new User(); if (dt.Rows.Count > 0) { user = JsonConvert.DeserializeObject <User>(dt.Rows[0]["UserJson"].ToString()); } else { dt = MSCE.GetDataTable("select top 1 UserJson from UserData where UserID =@1" , UserID); if (dt.Rows.Count > 0) { user = JsonConvert.DeserializeObject <User>(dt.Rows[0]["UserJson"].ToString()); } user.MeetingList = new UserMeeting[0]; } GetUserData_DoAction(user, MeetingListDate); } AutoClosingMessageBox.Show(string.Format("成功加入{0}", CourseOrMeeting_String)); //重整列表 break; case "1": //AutoClosingMessageBox.Show(string.Format("該機關非{0}人員", CourseOrMeeting_String)); AutoClosingMessageBox.Show(string.Format("本{0}未邀請貴機關單位參與", CourseOrMeeting_String)); //AutoClosingMessageBox.Show("該機關非與會人員"); break; case "2": AutoClosingMessageBox.Show("已加入過"); break; case "3": AutoClosingMessageBox.Show(string.Format("{0}不存在", CourseOrMeeting_String)); break; case "4": AutoClosingMessageBox.Show(string.Format("{0}尚未發佈", CourseOrMeeting_String)); break; case "5": AutoClosingMessageBox.Show("無此使用者"); break; case "6": AutoClosingMessageBox.Show("加入失敗"); break; case "7": AutoClosingMessageBox.Show("機密會議"); break; case "8": AutoClosingMessageBox.Show("會議已取消"); break; default: AutoClosingMessageBox.Show("新增錯誤,請聯絡系統管理人員"); break; } } catch (Exception ex) { AutoClosingMessageBox.Show("新增錯誤,請聯絡系統管理人員"); LogTool.Debug(ex); } txtPinCode.Text = ""; MouseTool.ShowArrow(); } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var action = request.Form["Type"] ?? ""; var content = request.Form["Content"] ?? ""; var remark = request.Form["Remark"] ?? ""; int id = int.TryParse(request.Form["ID"] ?? "", out id) ? id : -1; var now = DateTime.Now; switch (action.ToLower()) { case "add": { if (string.IsNullOrEmpty(content)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } case "edit": { if (id <= 0 || string.IsNullOrEmpty(content)) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } break; } default: result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } using (var db = new livecloudEntities()) { ////驗證權限(不確定是否為相應的欄位) //var operationManager = db.dt_Manager.Find(managerId); //var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); //if (operationManagerRole.SystemBarrage == false) //{ // result.Code = ResultHelper.NotAuthorized; // result.StrCode = ResultHelper.NotAuthorizedMsg; // return result; //} var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = db.dt_Manager.Find(managerId).user_name, ActionType = "setSystemBarrage", AddTime = now, IP = NetworkTool.GetClientIP(HttpContext.Current) }; switch (action.ToLower()) { case "add": { var dupContent = db.dt_SystemBarrage.Where(s => s.content == content).FirstOrDefault(); if (dupContent != null) { result.Code = ResultHelper.ParamFail; result.StrCode = "已存在相同内容的系统弹幕!"; return(result); } var totalCount = db.dt_SystemBarrage.Count(); if (totalCount >= Conf.MaxSystemBarrageCount) { result.Code = ResultHelper.ParamFail; result.StrCode = "系统弹幕已达" + Conf.MaxSystemBarrageCount.ToString() + "条,无法继续添加!"; return(result); } var sysBarrage = new dt_SystemBarrage() { content = content, add_time = now, update_time = now, state = (byte)1, times = 0, operUser = db.dt_Manager.Find(managerId).user_name, Remark = remark }; db.dt_SystemBarrage.Add(sysBarrage); manageLog.Remarks = "添加系统弹幕:" + content; break; } case "edit": { var sysBarrage = db.dt_SystemBarrage.Find(id); if (sysBarrage == null) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg + " ID:" + id + "的系统弹幕不存在"; return(result); } sysBarrage.content = content; sysBarrage.update_time = now; sysBarrage.operUser = db.dt_Manager.Find(managerId).user_name; if (!string.IsNullOrEmpty(remark)) { sysBarrage.Remark = remark; } manageLog.Remarks = "修改系统弹幕:" + content + "(ID:" + sysBarrage.id + ")"; break; } } db.dt_ManageLog.Add(manageLog); db.SaveChanges(); } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; return(result); } catch (DbUpdateException ex) { Log.Info("SetSystemBarrage", "SetSystemBarrage", ex.InnerException.Message.ToString()); result.Code = ResultHelper.ParamFail; result.StrCode = "已有重复的内容,请刷新页面"; return(result); } catch (Exception ex) { Log.Error("SetSystemBarrage", "SetSystemBarrage", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }
void Run(object obj) { var server = obj as Socket; if (server != null) { #region SocketConnected SocketConnected?.Invoke(this, new SocketEventArgs(server)); #endregion var lstResponse = new List <byte>(); var prev = DateTime.Now; var chr = new Chattering() { ChatteringTime = DisconnectCheckTime }; var bDLE = false; var bValid = false; var IsThStart = true; chr.StateChanged += (o, s) => { if (!s.Value) { IsThStart = false; } }; while (IsThStart) { try { #region DataRead while (server.Available > 0) { try { int n = server.Receive(baResponse); for (int i = 0; i < n; i++) { var d = baResponse[i]; var v = d; if (bDLE) { bDLE = false; if (v >= 0x10) { v -= 0x10; } else { bValid = false; } } switch (d) { #region STX case 0x02: lstResponse.Clear(); bValid = true; break; #endregion #region ETX case 0x03: { if (bValid) { if (lstResponse.Count >= 3) { var sum = (byte)(lstResponse.GetRange(0, lstResponse.Count - 1).Select(x => (int)x).Sum() & 0xFF); if (sum == lstResponse[lstResponse.Count - 1]) { byte slave = lstResponse[0]; byte cmd = lstResponse[1]; string msg = MessageEncoding.GetString(lstResponse.ToArray(), 2, lstResponse.Count - 3); if (MessageRequest != null) { var args = new MessageRequestArgs(slave, cmd, msg); MessageRequest.Invoke(this, args); if (!string.IsNullOrEmpty(args.ResponseMessage)) { server.Send(TextComm.MakePacket(MessageEncoding, slave, cmd, args.ResponseMessage)); } } } } } bValid = false; bDLE = false; lstResponse.Clear(); } break; #endregion #region DLE case 0x10: bDLE = true; break; #endregion #region Default default: lstResponse.Add(v); break; #endregion } } } catch (TimeoutException) { } prev = DateTime.Now; } #endregion #region Buffer Clear if ((DateTime.Now - prev).TotalMilliseconds >= 50 && lstResponse.Count > 0) { lstResponse.Clear(); } #endregion chr.Set(NetworkTool.IsSocketConnected(server)); } catch (SocketException ex) { if (ex.SocketErrorCode == SocketError.TimedOut) { } else if (ex.SocketErrorCode == SocketError.ConnectionReset) { } else if (ex.SocketErrorCode == SocketError.ConnectionAborted) { IsThStart = false; } } catch { } Thread.Sleep(10); } #region Socket Closed if (server.Connected) { server.Close(); } SocketDisconnected?.Invoke(this, new SocketEventArgs(server)); #endregion } }
public ResultInfoT <object> Post() { var result = new ResultInfoT <object>() { IsLogin = ResultHelper.IsLogin }; var request = HttpContext.Current.Request; var session = HttpContext.Current.Session; try { int managerId = (int)(session["ManagerId"] ?? -1); if (managerId < 0) { // 缺少Log紀錄 result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotLoginMsg; result.IsLogin = ResultHelper.NotLogin; return(result); } var now = DateTime.Now; var multiId = request.Form["ID"] ?? ""; if (string.IsNullOrEmpty(multiId) || !(new Regex(@"^(([\d]{1,}){1}|(([\d]{1,}\,){1,}([\d]{1,}){1}))$").IsMatch(multiId))) { result.Code = ResultHelper.ParamFail; result.StrCode = ResultHelper.ParamFailMsg; return(result); } ////驗證權限 using (var db = new livecloudEntities()) { var operationManager = db.dt_Manager.Find(managerId); var operationManagerRole = Cache.Role.Where(o => o.Id == operationManager.admin_role).FirstOrDefault(); if (operationManagerRole.AllowIp == false) { result.Code = ResultHelper.NotAuthorized; result.StrCode = ResultHelper.NotAuthorizedMsg; return(result); } } var idList = multiId.Split(',').Select(o => Convert.ToInt32(o)).Distinct().OrderBy(o => o).ToList(); using (var db = new livecloudEntities()) { var delAllowIpList = db.dt_AllowAccessIPList.Where(o => idList.Contains(o.Id)).ToList(); var manager = db.dt_Manager.Find(managerId); bool ipDicSingal = false; if (delAllowIpList.Count > 0) { foreach (var allowIp in delAllowIpList) { var manageLog = new dt_ManageLog() { ManagerId = managerId, ManagerName = manager.user_name, ActionType = "delAllowIp", AddTime = now, Remarks = "删除IP:" + allowIp.Ip + "(ID:" + allowIp.Id + ")", IP = NetworkTool.GetClientIP(HttpContext.Current) }; db.dt_ManageLog.Add(manageLog); ipDicSingal = apiController.RemoveIpList(allowIp.Ip); if (!ipDicSingal) { break; } } db.dt_AllowAccessIPList.RemoveRange(delAllowIpList); if (ipDicSingal) { db.SaveChanges(); } else { result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } } result.Code = ResultHelper.Success; result.StrCode = ResultHelper.SuccessMsg; } return(result); } catch (Exception ex) { Log.Error("DelAnchor", "DelAnchor", ex.Message.ToString()); result.Code = ResultHelper.ExecutingError; result.StrCode = ResultHelper.ExecutingErrorMsg; return(result); } }