public ActionResult Login(LoginModelView loginInfo) { if (ModelState.IsValid) { var model = userBll.Get(c => c.LoginName == loginInfo.LoginName && c.PassWord == loginInfo.Password); if (model != null) { var extends = model.toEntity <UsersExtend>(); if (model.OrganId != null) { var organ = _organBll.Get(c => c.OrganId == model.OrganId); extends.OrganName = organ.OrganName; } if (model.DepartmentId != null) { var dep = _departmentBll.Get(c => c.DepartmentId == model.DepartmentId); extends.DepartmentName = dep.DepartmentName; } WebHelper.FormPrincipal.MyFormsPrincipal <UserInfo> .SignIn(model.LoginName, new UserInfo() { Id = model.UserId }, 40); //将用户信息存入缓存 DepositHelper.Set(RedisKeyManager.LoginUserInfo(model.UserId.ToString()), extends); return(Success("登陆成功")); } else { return(Fail("登陆失败")); } } return(View(loginInfo)); }
public ActionResult Sendmessage(Message message) { message.CreateTime = DateTime.Now; message.SendHeadPath = CurrentUser.HeadPath; message.SendName = CurrentUser.UserName; DepositHelper.ListLeftPush(RedisKeyManager.MessageQueue, message); return(base.Success("发送成功")); }
public override void ExecuteDelete() { if (SelectedDeposit != null && ConfirmDelete()) { DepositHelper.Delete(SelectedDeposit); SaveChanges(); DepositCollection.Remove(SelectedDeposit); } }
public void PrcoessOfflineMessage(string uid) { string keya = RedisKeyManager.OfflineMessageQueue(uid); string keyb = RedisKeyManager.OfflineGroupMessageQueue(uid); //点对点离线消息 List <Message> usermessage = DepositHelper.GetList <Message>(keya); //群聊消息 List <Message> groupMessage = DepositHelper.GetList <Message>(keyb); SignalrClient.BLL.UserBLL user = new SignalrClient.BLL.UserBLL(); List <object> objes = null; if (usermessage != null && usermessage.Count > 0) { var id = usermessage[0].SendId; var sendUser = user.Get(c => c.UserId == id); objes = new List <object>(); usermessage.ForEach(message => { objes.Add(new { username = sendUser.UserName, avatar = sendUser.HeadPath, type = message.MessageType, id = message.SendId, content = message.MessageContent, mine = false, timestamp = message.CreateTime, }); }); Clients.User(uid).receiveOffline(objes); //发送完则删除 DepositHelper.RemoveKey(keya); } if (groupMessage != null && groupMessage.Count > 0) { objes = new List <object>(); groupMessage.ForEach(message => { objes.Add(new { username = message.SendName, avatar = message.SendHeadPath, type = message.MessageType, id = message.ReceiveId, sendid = message.SendId, content = message.MessageContent, mine = false, timestamp = message.CreateTime }); }); Clients.User(uid).receiveGroupOffline(objes); //发送完则删除 DepositHelper.RemoveKey(keyb); } }
public ViewPageBase() { if (HttpContext.Current.Request.IsAuthenticated) { var data = HttpContext.Current.User as MyFormsPrincipal <UserInfo>; if (data != null) { this.CurrentUser = DepositHelper.GetAsync <UsersExtend>(RedisKeyManager.LoginUserInfo((data).UserData.Id.ToString())); } } }
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext) { MyFormsPrincipal <UserInfo> .TrySetUserInfo(HttpContext.Current); if (!filterContext.HttpContext.Request.IsAuthenticated) { filterContext.Result = new RedirectResult("/Home/Login"); } else { var baseContorller = filterContext.Controller as BaseController; baseContorller.CurrentUser = DepositHelper.GetAsync <UsersExtend>(RedisKeyManager.LoginUserInfo((HttpContext.Current.User as MyFormsPrincipal <UserInfo>).UserData.Id.ToString()));; } base.OnAuthorization(filterContext); }
public override void MessageProcess(Message message, Microsoft.AspNet.SignalR.IHubContext hucontext) { int orgid = -1; int depid = -1; var ids = message.ReceiveId.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); if (ids.Length == 2) { orgid = Convert.ToInt32(ids[0]); depid = Convert.ToInt32(ids[1]); } else { orgid = Convert.ToInt32(ids[0]); } List <Users> groupuser = null; if (depid == -1) { groupuser = userbll.LoadAll(c => c.OrganId == orgid && c.UserId != message.SendId).ToList(); } else { groupuser = userbll.LoadAll(c => c.OrganId == orgid && c.DepartmentId == depid && c.UserId != message.SendId).ToList(); } groupuser.ForEach(c => { if (MyHub.Usermananger.Contains(c.UserId.ToString())) { return; } DepositHelper.ListRightPush(RedisKeyManager.OfflineGroupMessageQueue(c.UserId.ToString()), message); }); hucontext.Clients.Group(message.ReceiveId.ToString()).receive(new { username = message.SendName, avatar = message.SendHeadPath, type = message.MessageType, id = message.ReceiveId, sendid = message.SendId, content = message.MessageContent, mine = false, timestamp = DateTime.Now }); }
public string TryConfirmDeposit(ConversationMessage transactionMessage) { //Make the deposit Money CommissionFee = GetWithdrawalFees(transactionMessage.RepresentativeTransferAmount); DepositHelper.TransferToBalance(User.Name, transactionMessage.RepresentativeTransferAmount - CommissionFee, "ViaRepresentative", String.Empty, targetBalanceName, true); //Deposit fee for Representative Member RepresentativeUser = new Member(RepresentativeUserId); RepresentativeUser.AddToMainBalance(CommissionFee, "Payout fee for representative deposit"); RepresentativeUser.SaveBalances(); //Send message to the user RepresentativeUser.SendMessage(User.Id, String.Format(U6010.DEPOSITSUCCESSFULLMESSAGE, transactionMessage.RepresentativeTransferAmount - CommissionFee, User.Name)); return(String.Format(U6010.DEPOSITSUCCESSFULLINFO, transactionMessage.RepresentativeTransferAmount - CommissionFee, User.Name)); }
private void Process() { if (SelectedDeposit != null && SelectedDeposit.Cash + selectedDeposit.Cheque > (decimal)Config.MaximoDepositos && !ConfirmDialog("Los depositos sobrepasan los $200, desea continuar", "Confirmar")) { return; } if (SelectedDeposit != null && ConfirmDialog("Desea procesar los cambios ?", "Procesar")) { SelectedDeposit.StateL = LocalStatus.Procesado; DepositHelper.AddOrUpdate(SelectedDeposit); SaveChanges(); ForceRefresh = true; RaisePropertyChanged("DepositCollection"); ViewModelManager.CloseModal(); } else { UndoChanges(); } }
public void SaveNewDetails() { // TODo after save item if (SelectedDeposit != null && SelectedDeposit.Cash + selectedDeposit.Cheque > (decimal)Config.MaximoDepositos && !ConfirmDialog("Los depositos sobrepasan los $200, desea continuar", "Confirmar")) { return; } if (SelectedDeposit != null && ConfirmDialog("Desea Guardar los cambios", "Confirmar")) { DepositHelper.AddOrUpdate(SelectedDeposit); SaveChanges(); ForceRefresh = true; RaisePropertyChanged("DepositCollection"); ViewModelManager.CloseModal(); } else { UndoChanges(); } }
public override void MessageProcess(Message message, Microsoft.AspNet.SignalR.IHubContext hubcontext) { var sendUser = user.Get(c => c.UserId == message.SendId); if (MyHub.Usermananger.Contains(message.ReceiveId.ToString())) { var id = Convert.ToInt32(message.ReceiveId); hubcontext.Clients.User(message.ReceiveId.ToString()).receive(new{ username = message.SendName, avatar = message.SendHeadPath, type = message.MessageType, id = message.SendId, content = message.MessageContent, mine = false, timestamp = DateTime.Now }); } else { DepositHelper.ListRightPush(RedisKeyManager.OfflineMessageQueue(message.ReceiveId.ToString()), message); } }
public override void OnException(ExceptionContext filterContext) { filterContext.ExceptionHandled = true; //表示已经处理 不需要mvc框架处理 var UserData = HttpContext.Current.User as MyFormsPrincipal <UserInfo>; //当前操作用户 UsersExtend curentUser = null; var routeValueDic = filterContext.RouteData.Values; string actionParameterInfo; try { actionParameterInfo = GetActionParametersInfoStr(filterContext); } catch { actionParameterInfo = "参数信息:不能处理参数绑定"; } if (UserData != null) { curentUser = DepositHelper.GetAsync <UsersExtend>(RedisKeyManager.LoginUserInfo(UserData.UserData.Id.ToString())); } //如果是ajax请求则返回json格式数据 否则跳转到错误页面 if (filterContext.HttpContext.Request.IsAjaxRequest()) { JsonResult json = new JsonResult(); json.Data = new ProcessResult() { State = ProcessEnum.Fail, Message = filterContext.Exception.Message }; filterContext.Result = json; } else { filterContext.Result = new RedirectResult("/plug/Error/Error404.html"); } log.Error(ClientIP.GetIp(filterContext.RequestContext.HttpContext.ApplicationInstance.Request), curentUser == null ? "未登陆" : curentUser.LoginName, filterContext.HttpContext.Request.UrlReferrer.ToString(), routeValueDic["action"].ToString(), "mvc全局捕获异常", filterContext.Exception, actionParameterInfo);//写入日志 base.OnException(filterContext); }
public static void Configure(CommandLineApplication app, CommandLineOptions options, IConsole console) { // description app.Description = "Deposits to an asset account"; app.ExtendedHelpText = $"{Environment.NewLine}Use 'accounts deposit -i' to enter interactive mode{Environment.NewLine}"; // arguments var argumentAssetAccountId = app.Argument("account", "The asset account id to deposit", false); var argumentReferenceId = app.Argument("reference", "The unique reference identifier for this transaction", false); var argumentAmount = app.Argument("amount", "The amount to deposit", false); var argumentSettlementCurrency = app.Argument("currency", "The ISO currency code for settlement currency", false); // options var optionInteractive = app.Option("-i|--interactive", "Enters interactive mode", CommandOptionType.NoValue); var optionReferenceText = app.Option("-t|--info", "The reference text which describes about this transaction", CommandOptionType.SingleValue); // action (for this command) app.OnExecute( () => { if ((string.IsNullOrWhiteSpace(argumentAssetAccountId.Value) || string.IsNullOrWhiteSpace(argumentReferenceId.Value) || string.IsNullOrWhiteSpace(argumentSettlementCurrency.Value) || string.IsNullOrWhiteSpace(argumentAmount.Value)) && !optionInteractive.HasValue()) { app.ShowVersionAndHelp(); return; } if (!decimal.TryParse(argumentAmount.Value, out decimal amount) && !optionInteractive.HasValue()) { app.ShowVersionAndHelp(); return; } var reporter = new ConsoleReporter(console, options.Verbose.HasValue(), false); var helper = new DepositHelper(); var deposit = new DepositAssetAccount { AssetAccountId = argumentAssetAccountId.Value, ReferenceId = argumentReferenceId.Value, ReferenceText = optionReferenceText.Value(), Amount = amount, SettlementCurrency = argumentSettlementCurrency.Value, Precision = string.IsNullOrEmpty(argumentAmount.Value) ? 0 : helper.GetPrecision(argumentAmount.Value) }; reporter.Verbose("Prototype deposit (from command line arguments):"); reporter.Verbose(JsonConvert.SerializeObject(deposit)); if (!helper.IsValid(deposit) || optionInteractive.HasValue()) { try { deposit = helper.GetValid(deposit); } catch (NotSupportedException ex) { throw new CommandParsingException(app, $"Operation Aborted. {ex.Message}", ex); } reporter.Verbose("Validated deposit (from interactive console):"); reporter.Verbose(JsonConvert.SerializeObject(deposit)); } options.Command = new DepositAssetAccountCommand { deposit = deposit }; }); }