Beispiel #1
0
        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));
        }
Beispiel #2
0
 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);
     }
 }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
 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()));
         }
     }
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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();
            }
        }
Beispiel #11
0
        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);
            }
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        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
                };
            });
        }