private void LoadData() { txtTmplCode.Text = WebUtil.Param("tmplCode"); hidTmplCode.Value = WebUtil.Param("tmplCode"); string tmplCode = Cast.String(WebUtil.Param("tmplCode")); MsgTemplate msgTemplate = null; msgTemplate = MsgTemplate.Retrieve(_session, tmplCode); if (msgTemplate != null) { txtName.Text = msgTemplate.Name; ddlMsgType.SelectedValue = msgTemplate.MsgTypeId.ToString(); rdlAccessibility.SelectedValue = msgTemplate.Accessibility.ToString(); txtExpires.Text = msgTemplate.Expires.ToString(); txtSource.Text = msgTemplate.Source; txtViewEntry.Text = msgTemplate.ViewEntry; txtTitleFormat.Value = msgTemplate.TitleFormat; txtContentFormat.Value = msgTemplate.ContentFormat; txtNavId.Value = msgTemplate.NavId.ToString(); //Navigator nav = Navigator.Retrieve(_session, msgTemplate.NavId); //if (nav != null) // txtNavName.Text = nav.Name; txtResponseEntry.Text = msgTemplate.ResponseEntry; } txtTmplCode.ReadOnly = true; }
/// <summary> /// 新增MsgTemplateUser信息 /// </summary> public static void InsertMsgTemplateUser(MsgTemplate entity) { DataCommand cmd = new DataCommand("InsertMsgTemplateUser"); cmd.SetParameter <MsgTemplate>(entity); cmd.ExecuteNonQuery(); }
public JsonResult Maintain(MsgTemplate info) { AjaxResult result = new AjaxResult(); //info.CompanySysNo = CurrUser.CompanySysNo; if (info.SysNo > 0)//update { info.EditUserSysNo = CurrUser.UserSysNo; info.EditUserName = CurrUser.UserDisplayName; MsgTemplateRPCService.UpdateMsgTemplate(info, CurrUser); //Rpc.Call<dynamic>("RPCService.MsgTemplateRPCService.UpdateMsgTemplate", info, CurrUser); result = new AjaxResult { Success = true, Message = "修改成功!" }; return(Json(result)); } //insert info.EditUserSysNo = CurrUser.UserSysNo; info.EditUserName = CurrUser.UserDisplayName; int r = MsgTemplateRPCService.InsertMsgTemplate(info, CurrUser); //int r = Rpc.Call<int>("RPCService.MsgTemplateRPCService.InsertMsgTemplate", info, CurrUser); result = new AjaxResult { Success = true, Message = "添加成功!", Code = r }; return(Json(result)); }
//Save Data private void SaveData() { MsgTemplate msgTemplate = new MsgTemplate(); bool flag = true; try { msgTemplate.Name = Cast.String(txtName.Text.Trim()); msgTemplate.MsgTypeId = Cast.Int(ddlMsgType.SelectedValue.Trim()); msgTemplate.Accessibility = Cast.Enum <MessageAccessibility>(rdlAccessibility.SelectedValue); msgTemplate.Expires = Cast.Int(txtExpires.Text.Trim()); msgTemplate.Source = Cast.String(txtSource.Text.Trim()); msgTemplate.ViewEntry = Cast.String(txtViewEntry.Text.Trim()); msgTemplate.TitleFormat = Cast.String(txtTitleFormat.Value.Trim()); msgTemplate.ContentFormat = Cast.String(txtContentFormat.Value.Trim()); msgTemplate.NavId = Cast.Int(txtNavId.Value.Trim()); msgTemplate.ResponseEntry = Cast.String(txtResponseEntry.Text.Trim()); msgTemplate.ModifyBy = SecuritySession.CurrentUser.UserId; msgTemplate.ModifyTime = DateTime.Now; msgTemplate.TmplCode = this.txtTmplCode.Text.Trim(); using (_session = new Session()) { if (IsAddNew()) { msgTemplate.CreateBy = msgTemplate.ModifyBy; msgTemplate.CreateTime = msgTemplate.ModifyTime; flag = msgTemplate.Create(_session); } else { flag = msgTemplate.Update(_session, "Name", "MsgType", "Accessibility", "Expires", "Source", "ViewEntry", "TitleFormat", "ContentFormat", "NavId", "ResponseEntry"); } } this.hidTmplCode.Value = msgTemplate.TmplCode.Trim(); this.txtTmplCode.Text = msgTemplate.TmplCode.Trim(); this.txtTmplCode.ReadOnly = true; if (flag) { WebUtil.ShowMsg(this, "操作成功", "提示"); } else { WebUtil.ShowMsg(this, "操作失败", "提示"); } } catch (UnauthorizedException ex) { WebUtil.ShowMsg(this, ex.Message, "警告"); } catch (ApplicationException ex) { WebUtil.ShowMsg(this, ex.Message, "提示"); } catch (Exception ex) { logger.Info("保存消息模板", ex); WebUtil.ShowMsg(this, "发生未处理的异常,请刷新页面重新操作,或者联系系统管理员"); } }
public void Index(MsgTemplate MsgTemplate) { MsgTemplate baseMsgTemplate = Entity.MsgTemplate.FirstOrDefault(n => n.Id == MsgTemplate.Id); baseMsgTemplate = Request.ConvertRequestToModel <MsgTemplate>(baseMsgTemplate, MsgTemplate); Entity.SaveChanges(); Response.Write("OK"); }
internal static MsgTemplate LoadMsgTemplate(int sysNo) { DataCommand cmd = new DataCommand("LoadMsgTemplate"); cmd.SetParameter("@SysNo", DbType.Int32, sysNo); MsgTemplate result = cmd.ExecuteEntity <MsgTemplate>(); return(result); }
internal static int InsertMsgTemplate(MsgTemplate entity) { DataCommand cmd = new DataCommand("InsertMsgTemplate"); cmd.SetParameter <MsgTemplate>(entity); int result = cmd.ExecuteScalar <int>(); return(result); }
/// <summary> /// 更新MsgTemplate信息 /// </summary> public static bool UpdateMsgTemplate(MsgTemplate entity) { DataCommand cmd = new DataCommand("UpdateMsgTemplate"); cmd.SetParameter <MsgTemplate>(entity); int r = cmd.ExecuteNonQuery(); return(r > 0 ? true : false); }
/// <summary> /// 修改MsgTemplateUser信息 /// </summary> public static void UpdateMsgTemplateUser(MsgTemplate entity) { DataCommand cmd = new DataCommand("UpdateMsgTemplateUser"); cmd.SetParameter("@MsgTemplateSysNo", DbType.Int32, entity.SysNo); cmd.SetParameter("@UserSysNo", DbType.Int32, entity.EditUserSysNo); cmd.SetParameter("@EditUserSysNo", DbType.Int32, entity.EditUserSysNo); cmd.SetParameter("@EditUserName", DbType.String, entity.EditUserName); cmd.SetParameter("@Enabled", DbType.Boolean, entity.Enabled); cmd.ExecuteNonQuery(); }
public JsonResult SaveMsgTemplateUser(int sysNo) { MsgTemplate entity = new MsgTemplate(); entity.SysNo = sysNo; entity.EditUserSysNo = CurrUser.UserSysNo; entity.EditUserName = CurrUser.UserDisplayName; entity.Enabled = true; MsgTemplateRPCService.SaveMsgTemplateUser(entity, CurrUser); // Rpc.Call<int>("RPCService.MsgTemplateRPCService.SaveMsgTemplateUser", entity, CurrUser); return(Json(new AjaxResult { Success = true, Message = "保存成功!" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 更新MsgTemplate信息 /// </summary> public bool UpdateMsgTemplate(MsgTemplate entity, CurrentUser user) { //return MsgTemplateProcessor.UpdateMsgTemplate(entity,user); CheckMsgTemplate(entity, false); bool result = false; using (ITransaction transaction = TransactionManager.Create()) { result = MessageCenter.Server.SMSBusinessServer.UpdateMsgTemplate(entity); //记录操作日志 //OperationLogProcessor.WriteLog(BizObjectType.MsgTemplate, BizOperationType.Update, entity.SysNo.ToString(), user, LangHelper.GetText("修改消息模板"), entity); transaction.Complete(); } return(result); }
public static bool IsExistMsgTemplate(string actionCode, int msgType, int companySysNo) { DataCommand cmd = new DataCommand("IsExistMsgTemplate"); cmd.SetParameter("@MsgType", DbType.Int32, msgType); cmd.SetParameter("@ActionCode", DbType.String, cmd.SetSafeParameter(actionCode)); cmd.SetParameter("@CompanySysNo", DbType.Int32, companySysNo); MsgTemplate result = cmd.ExecuteEntity <MsgTemplate>(); if (result != null) { return(true); } return(false); }
public OpResult CreateMsgTemplate(MsgTemplate msgTemp) { OpResult result = new OpResult(); result.Successed = false; try { context.MsgTemplates.Add(msgTemp); } catch { result.Message = "添加失败"; } return(result); }
/// <summary> /// 检查MsgTemplate信息 /// </summary> private static void CheckMsgTemplate(MsgTemplate entity, bool isCreate) { if (!isCreate && entity.SysNo == 0) { throw new BusinessException(LangHelper.GetText("请传入数据主键!")); } if (entity.CompanySysNo < 0) { throw new BusinessException(LangHelper.GetText("公司id错误!")); } if (!string.IsNullOrWhiteSpace(entity.TemplateContent)) { if (entity.TemplateContent.Length > 1000) { throw new BusinessException(LangHelper.GetText("模板内容长度不能超过1000!")); } } }
public void SaveMsgTemplateUser(MsgTemplate entity, CurrentUser user) { //检查是否存在 MsgTemplateUser msgTemplateUser = MessageCenter.Server.SMSBusinessServer.MsgTemplateUserIsExist(entity.SysNo, user.UserSysNo); if (msgTemplateUser.SysNo > 0) { if (msgTemplateUser.Enabled == false) { entity.Enabled = true; MessageCenter.Server.SMSBusinessServer.UpdateMsgTemplateUser(entity); } else { entity.Enabled = false; MessageCenter.Server.SMSBusinessServer.UpdateMsgTemplateUser(entity); } } else { MessageCenter.Server.SMSBusinessServer.InsertMsgTemplateUser(entity); } }
/// <summary> /// 新增/编辑 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Mannager(int?id, int?companysysno) { MsgTemplate template = new MsgTemplate(); template.LimitCount = 1; template.SendFrequency = 60; CurrentUser currentUser = new CurrentUser(); if (companysysno.HasValue && companysysno.Value == 0) { currentUser.MasterSysNo = 0; ViewBag.MsgTenantActionList = MsgTenantActionRPCService.LoadMsgTenantActionList(currentUser); //ViewBag.MsgTenantActionList = Rpc.Call<List<SMSTemplate>>("RPCService.MsgTenantActionRPCService.LoadMsgTenantActionList", currentUser); ViewBag.companySysNo = companysysno; } if (id.HasValue && id.Value > 0) { template = MsgTemplateRPCService.LoadMsgTemplate(id.Value); //template = Rpc.Call<MsgTemplate>("RPCService.MsgTemplateRPCService.LoadMsgTemplate", id); ViewBag.MsgTemplateVarList = LoadMsgTemplate(template.ActionCode).SMSTemplateVariableList; } return(View(template)); }
public int InsertMsgTemplate(MsgTemplate entity, CurrentUser user) { CheckMsgTemplate(entity, true); if (SMSBusinessServer.IsExistMsgTemplate(entity.ActionCode, (int)entity.MsgType, entity.CompanySysNo) == true) { throw new BusinessException(LangHelper.GetText("已存在当前选项的模板!")); } int sysNo = 0; using (ITransaction transaction = TransactionManager.Create()) { var tep = new SMSTemplateRPCService().LoadMsgTemplate(entity.ActionCode); entity.ReceiverType = tep.MsgReceiverType; entity.TemplateName = tep.SMSTemplateName; //entity.CompanySysNo = DataContextHelper.CompanySysNo; sysNo = SMSBusinessServer.InsertMsgTemplate(entity); //记录操作日志 // OperationLogProcessor.WriteLog(BizObjectType.MsgTemplate, BizOperationType.Create, sysNo.ToString(), user, LangHelper.GetText("新增消息模板"), entity); transaction.Complete(); } return(sysNo); }
private void LoadData() { try { string tmplCode = WebUtil.Param("tmplcode"); if (string.IsNullOrEmpty(tmplCode)) { throw new ApplicationException("没有传递消息模板的代码"); } MsgTemplate tmpl = MsgTemplate.Retrieve(_session, tmplCode); if (tmpl == null) { throw new ApplicationException(string.Format("模板代码:{0}的消息模板为空", tmplCode)); } this.txtTmplCode.Text = tmpl.TmplCode.Trim(); this.txtTmplName.Text = tmpl.Name.Trim(); this.txtMsgTypeId.Value = tmpl.MsgTypeId.ToString(); this.txtMsgTypeName.Text = MessageType.Retrieve(_session, tmpl.MsgTypeId).TypeName; QueryAndBindData(this.rptSubscribeGroup, this.magicPagerGroup, true, 1, this.magicPagerGroup.PageSize, true); QueryAndBindData(this.rptSubscribeUser, this.magicPagerUser, false, 1, this.magicPagerUser.PageSize, true); } catch (UnauthorizedException ex) { WebUtil.ShowMsg(this, ex.Message, "警告"); } catch (ApplicationException ex) { WebUtil.ShowMsg(this, ex.Message, "提示"); } catch (Exception ex) { logger.Info("查询MsgSubscriber", ex); WebUtil.ShowMsg(this, "发生未处理的异常,请刷新页面重新操作,或者联系系统管理员"); } }
//MagicToolbar's MagicItem OnClick Event Handler, it's for both the top one and the bottom one. protected void MagicItemCommand(object sender, MagicItemEventArgs e) { try { if (e.CommandName == "Delete") { // do delete using (ISession session = new Session()) { foreach (RepeaterItem item in this.rptMsgTemplate.Items) { HtmlInputCheckBox chk = item.FindControl("checkbox") as HtmlInputCheckBox; if (chk != null && chk.Checked) { string tmplCode = Cast.String(chk.Attributes["tmplCode"]); MsgTemplate.Delete(session, tmplCode); } } QueryAndBindData(1, this.magicPagerMain.PageSize, true); } } } catch (UnauthorizedException ex) { WebUtil.ShowMsg(this, ex.Message, "警告"); } catch (ApplicationException ex) { WebUtil.ShowMsg(this, ex.Message, "提示"); } catch (Exception ex) { logger.Info("删除MsgTemplate", ex); WebUtil.ShowMsg(this, "发生未处理的异常,请刷新页面重新操作,或者联系系统管理员"); } }
public MailTemplate(MsgTemplate template) : this() { htmlEditorControl1.InnerHtml = template.Content; textBoxSujet.Text = template.Title; }
public static void InsertMsgTemplateUser(MsgTemplate entity) { MessageTemplateDA.InsertMsgTemplateUser(entity); }
/// <summary> /// 修改MsgTemplateUser信息 /// </summary> public static void UpdateMsgTemplateUser(MsgTemplate entity) { MessageTemplateDA.UpdateMsgTemplateUser(entity); }
public static int InsertMsgTemplate(MsgTemplate entity) { return(MessageTemplateDA.InsertMsgTemplate(entity)); }
public static bool UpdateMsgTemplate(MsgTemplate entity) { return(MessageTemplateDA.UpdateMsgTemplate(entity)); }
internal async Task Acceptor(HttpContext context, Func <Task> next) { if (!context.WebSockets.IsWebSocketRequest) { return; } string token = context.Request.Query["token"]; if (string.IsNullOrEmpty(token)) { return; } var token_value = _redis.Get($"{_redisPrefix}Token{token}"); if (string.IsNullOrEmpty(token_value)) { throw new Exception("授权错误:用户需通过 ImHelper.PrevConnectServer 获得包含 token 的连接"); } var data = JsonConvert.DeserializeObject <(string clientId, string clientMetaData)>(token_value); CancellationToken ct = context.RequestAborted; var socket = await context.WebSockets.AcceptWebSocketAsync(); var cli = new ImServerClient(socket, data.clientId); var newid = Guid.NewGuid().ToString(); var wslist = _clients.GetOrAdd(data.clientId, cliid => new ConcurrentDictionary <string, ImServerClient>()); wslist.TryAdd(newid, cli); using (var pipe = _redis.StartPipe()) { pipe.HIncrBy($"{_redisPrefix}Online", data.clientId.ToString(), 1); pipe.Publish($"evt_{_redisPrefix}Online", token_value); pipe.EndPipe(); } var buffer = new byte[BufferSize]; var seg = new ArraySegment <byte>(buffer); try { while (socket.State == WebSocketState.Open && _clients.ContainsKey(data.clientId)) { if (ct.IsCancellationRequested) { break; } string response = await ReceiveStringAsync(socket, ct); if (string.IsNullOrEmpty(response)) { continue; } MsgTemplate msg = null; try { msg = JsonConvert.DeserializeObject <MsgTemplate>(response); ImServerClient currentSocket = wslist.Values.First(u => u.clientId == msg.clientId); if (currentSocket == null) { continue; } if (msg.type == "ping") { if (msg.currentSence == 0) { await SendStringAsync(currentSocket.socket, JsonConvert.SerializeObject(msg), ct); } else if (msg.currentSence == 1) { await _redis.SetAsync($"KEY_IM_DOCITOR_CONNECTION_SESSION:{msg.clientId}", msg.connectionBatchCode, 3); } } } catch { } } socket.Abort(); //await socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closing", ct); //socket.Dispose(); } catch (Exception ex) { Console.WriteLine($"Socket异常:{ex.Message}"); } wslist.TryRemove(newid, out var oldcli); if (wslist.Any() == false) { _clients.TryRemove(data.clientId, out var oldwslist); } _redis.Eval($"if redis.call('HINCRBY', KEYS[1], '{data.clientId}', '-1') <= 0 then redis.call('HDEL', KEYS[1], '{data.clientId}') end return 1", new[] { $"{_redisPrefix}Online" }); LeaveChan(data.clientId, GetChanListByClientId(data.clientId)); //_redis.Publish($"evt_{_redisPrefix}Offline", token_value); }
public async Task <IActionResult> SetContainerBG(Input_ContainerSet model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_ContainerSet)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); var uol = Method.GetLoginUserName(dbContext, this.HttpContext); if (string.IsNullOrEmpty(uol.UserName)) { _Result.Code = "401"; _Result.Msg = "请登陆后再进行操作"; _Result.Data = ""; return(Json(_Result)); } try { //检测用户登录情况 //string username = Method.GetLoginUserName(dbContext, this.HttpContext); //if (string.IsNullOrEmpty(username)) //{ // _Result.Code = "401"; // _Result.Msg = "请登陆后再进行操作"; // _Result.Data = ""; // return Json(_Result); //} var screenCount = await dbContext.ScreenInfo.Where(i => i.Code == model.ScreenCode).CountAsync(); if (screenCount <= 0) { _Result.Code = "510"; _Result.Msg = "无效的分辨率编码:" + model.ScreenCode; _Result.Data = ""; return(Json(_Result)); } var files = await dbContext.AssetFiles.Where(i => i.Code == model.FileCode).FirstOrDefaultAsync(); if (files == null) { _Result.Code = "510"; _Result.Msg = "无效的文件编码:" + model.FileCode; _Result.Data = ""; return(Json(_Result)); } var container = await dbContext.ContainerBG.Where(i => i.ScreenCode == model.ScreenCode).FirstOrDefaultAsync(); if (container == null) { container = new ContainerBG(); container.AddTime = DateTime.Now; container.Code = Guid.NewGuid().ToString(); container.FileCode = model.FileCode; container.ScreenCode = model.ScreenCode; container.UpdateTime = DateTime.Now; container.MallCode = uol.MallCode; dbContext.ContainerBG.Add(container); } else { container.FileCode = model.FileCode; container.UpdateTime = DateTime.Now; dbContext.ContainerBG.Update(container); } if (await dbContext.SaveChangesAsync() > 0) { var deviceList = await dbContext.Device.Where(i => i.ScreenInfo == model.ScreenCode).ToListAsync(); if (deviceList.Count() > 0) { foreach (var item in deviceList) { MsgTemplate msg = new MsgTemplate(); msg.SenderID = Method.ServerAddr; msg.ReceiverID = item.Code; msg.MessageType = "json"; msg.Content = new { Type = "BGSet", FilePath = Method.OSSServer + files.FilePath }; await Method.SendMsgAsync(msg); } } _Result.Code = "200"; _Result.Msg = "设置成功"; _Result.Data = ""; } else { _Result.Code = "501"; _Result.Msg = "设置失败"; _Result.Data = ""; } return(Json(_Result)); } catch (Exception e) { _Result.Code = "500"; _Result.Msg = "" + e.ToString(); _Result.Data = ""; return(Json(_Result)); } }
public async Task <IActionResult> Edit(Input_LiveEdit model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_LiveEdit)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); if (string.IsNullOrEmpty(model.Code)) { _Result.Code = "510"; _Result.Msg = "请输入直播编码"; _Result.Data = ""; return(Json(_Result)); } if (string.IsNullOrEmpty(model.Url)) { _Result.Code = "510"; _Result.Msg = "直播路径不可为空"; _Result.Data = ""; return(Json(_Result)); } if (string.IsNullOrEmpty(model.Name)) { _Result.Code = "510"; _Result.Msg = "直播名称不可为空"; _Result.Data = ""; return(Json(_Result)); } var live = dbContext.Live.Where(i => i.Code == model.Code).FirstOrDefault(); if (live == null) { _Result.Code = "510"; _Result.Msg = "无效的直播编码"; _Result.Data = ""; return(Json(_Result)); } if (live.Url != model.Url && live.BeingUsed) { var ldlist = await dbContext.LiveToDev.Where(i => !i.IsDel && i.LiveCode == model.Code).ToListAsync(); foreach (var ld in ldlist) { ld.IsDel = true; ld.UpdateTime = DateTime.Now; dbContext.LiveToDev.Update(ld); //发送删除通知到前端 取消删除任务的关联性 var dev = await dbContext.Device.Where(i => i.Code == ld.DevCode).FirstOrDefaultAsync(); MsgTemplate msg = new MsgTemplate(); msg.SenderID = Method.ServerAddr; msg.ReceiverID = dev.Code; msg.MessageType = "json"; msg.Content = new { Type = "Live", Data = new { Command = "update", Code = ld.LiveCode, live.Url } }; await Method.SendMsgAsync(msg); } } live.Name = model.Name; live.Url = model.Url; live.UpdateTime = DateTime.Now; dbContext.Live.Update(live); if (await dbContext.SaveChangesAsync() > 0) { _Result.Code = "200"; _Result.Msg = "更新成功"; _Result.Data = ""; } else { _Result.Code = "2"; _Result.Msg = "更新失败"; _Result.Data = ""; } return(Json(_Result)); }
public async Task <IActionResult> LiveCtr(Input_LiveCtr model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_LiveCtr)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); try { if (string.IsNullOrEmpty(model.Code)) { _Result.Code = "510"; _Result.Msg = "请输入编码"; _Result.Data = ""; return(Json(_Result)); } var live = await dbContext.Live.Where(i => !i.IsDel && i.Code == model.Code).AsNoTracking().FirstOrDefaultAsync(); if (live == null) { _Result.Code = "510"; _Result.Msg = "无效的直播编码"; _Result.Data = ""; return(Json(_Result)); } var ldlist = await dbContext.LiveToDev.Where(i => !i.IsDel).ToListAsync(); switch (model.Command.ToLower()) { case "start": live.BeingUsed = true; live.UpdateTime = DateTime.Now; dbContext.Live.Update(live); foreach (var ld in ldlist) { //发送命令到机器 var device = await dbContext.Device.Where(i => i.Code == ld.DevCode).FirstOrDefaultAsync(); if (device != null) { MsgTemplate msg = new MsgTemplate(); msg.SenderID = Method.ServerAddr; msg.ReceiverID = device.Code; msg.MessageType = "json"; msg.Content = new { Type = "Live", Data = new { Command = "start", Code = model.Code, live.Url } }; await Method.SendMsgAsync(msg); } } if (await dbContext.SaveChangesAsync() > 0) { _Result.Code = "200"; _Result.Msg = "设置成功"; _Result.Data = ""; } break; case "cancel": live.BeingUsed = false; live.UpdateTime = DateTime.Now; dbContext.Live.Update(live); foreach (var ld in ldlist) { //发送命令到机器 var device = await dbContext.Device.Where(i => i.Code == ld.DevCode).FirstOrDefaultAsync(); if (device != null) { MsgTemplate msg = new MsgTemplate(); msg.SenderID = Method.ServerAddr; msg.ReceiverID = device.Code; msg.MessageType = "json"; msg.Content = new { Type = "Live", Data = new { Command = "cancel", Code = model.Code, live.Url } }; await Method.SendMsgAsync(msg); } } if (await dbContext.SaveChangesAsync() > 0) { _Result.Code = "200"; _Result.Msg = "设置成功"; _Result.Data = ""; } break; default: _Result.Code = "510"; _Result.Msg = "无效的命令:" + model.Command; _Result.Data = ""; break; } } catch (Exception e) { _Result.Code = "500"; _Result.Msg = e.ToString(); _Result.Data = ""; throw; } return(Json(_Result)); }
public async Task <IActionResult> SetScreensaver(Input_Screensaver model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_Screensaver)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); var uol = Method.GetLoginUserName(dbContext, this.HttpContext); if (string.IsNullOrEmpty(uol.UserName)) { _Result.Code = "401"; _Result.Msg = "请登陆后再进行操作"; _Result.Data = ""; return(Json(_Result)); } //var mall = await dbContext.Mall.Where(i => i.Code == uol.MallCode).FirstOrDefaultAsync(); //if (mall == null) //{ // _Result.Code = "510"; // _Result.Msg = "无效的商场编码"; // _Result.Data = ""; // return Json(_Result); //} //数据验证 if (model.Time == null) { _Result.Code = "510"; _Result.Msg = "无效的时间"; _Result.Data = ""; return(Json(_Result)); } //获取当前时间 var screensaver = await dbContext.Screensaver.Where(i => i.MallCode == uol.MallCode).FirstOrDefaultAsync(); //更改时间 if (screensaver == null) { dbContext.Screensaver.Add(new Screensaver { MallCode = uol.MallCode, Time = (int)model.Time, ScreenType = (int)model.ScreenType }); } else { screensaver.Time = (int)model.Time; screensaver.ScreenType = model.ScreenType.HasValue ? model.ScreenType.Value : 0; dbContext.Screensaver.Update(screensaver); } if (await dbContext.SaveChangesAsync() > 0) { _Result.Code = "200"; _Result.Msg = "设置成功"; _Result.Data = ""; var deviceList = await dbContext.Device.Where(i => i.MallCode == uol.MallCode && !i.IsDelete).ToListAsync(); if (deviceList.Count > 0) { foreach (var item in deviceList) { MsgTemplate msg = new MsgTemplate(); msg.SenderID = Method.ServerAddr; msg.ReceiverID = item.Code; msg.MessageType = "json"; msg.Content = new { Type = "Screensaver", model.Time }; await Method.SendMsgAsync(msg); } } } else { _Result.Code = "2"; _Result.Msg = "设置失败"; _Result.Data = ""; } return(Json(_Result)); }