Beispiel #1
0
        public ActionResult Person()
        {
            //构建登录状态
            if (sessionModel != null && sessionModel.User != null)
            {
                ViewBag.User    = UserService.GetViewUser(sessionModel.User);
                ViewBag.logined = true;
            }
            else
            {
                ViewBag.logined = false;
            }
            int          userid       = Convert.ToInt32(Request["userid"]);
            ViewUserInfo viewUserInfo = null;

            try
            {
                viewUserInfo = UserService.GetViewUserInfo(userid);
            }
            catch (UserException e)
            {
                //没有找到该用户进行跳转
                Response.Redirect("/userinfo/user/index", true);
            }

            return(View(viewUserInfo));
        }
Beispiel #2
0
        public ViewUserInfo GetViewUserInfo(int userid)
        {
            string       sql   = "usp_viewuserinfo";
            ViewUserInfo model = null;
            SqlParameter spm   = new SqlParameter("@userid", SqlDbType.Int)
            {
                Value = userid
            };

            using (SqlDataReader reader = SqlHelper.ExecuteReader(sql, CommandType.StoredProcedure, spm))
            {
                if (reader.HasRows)
                {
                    model = new ViewUserInfo();
                    reader.Read();
                    model.User.UserId          = userid;
                    model.User.UserName        = reader.GetString(1);
                    model.User.Head            = reader.GetString(2);
                    model.UserInfo.Description = reader.GetString(3);
                    model.UserInfo.Liked       = reader.GetInt32(4);
                    model.UserInfo.Follow      = reader.GetInt32(5);
                    model.UserInfo.Follower    = reader.GetInt32(6);
                }
            }
            return(model);
        }
Beispiel #3
0
        /// <summary>
        /// 用户点击gridUserInfo行事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridUserInfo_Click(object sender, EventArgs e)
        {
            try
            {
                DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.ViewUserInfo.CalcHitInfo(((Control)sender).PointToClient(Control.MousePosition));

                if (this.ViewUserInfo != null && this.ViewUserInfo.FocusedRowHandle >= 0 && hi.RowHandle >= 0)
                {
                    m_cutRow = this.ViewUserInfo.FocusedRowHandle;

                    if (m_cutRow < 0)
                    {
                        return;
                    }

                    DataRow dw        = ViewUserInfo.GetDataRow(m_cutRow);
                    string  userID    = dw["UserID"].ToString();              //用户ID
                    int     counterID = int.Parse(dw["CouterID"].ToString()); //柜台ID
                    InitAccountListByUserID(userID, counterID, m_cutRow);
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex.Message, ex);
                return;
            }
        }
        public async void SelectedPin(string poiId)
        {
            IsPoiDialogVisible = true;
            var poi = _pois.Single(p => p.Id.Equals(poiId));

            _currentViewPoi       = poi;
            CurrentPoiName        = poi.Name;
            CurrentPoiImage       = Path.Combine(ImagePathManager.GetPicturesDirectory(), poi.ImgFilename);
            CurrentPoiImage       = File.Exists(CurrentPoiImage) ? CurrentPoiImage : "emptyphoto.png";
            CurrentPoiDescription = poi.Description;
            if (!string.IsNullOrEmpty(_currentViewPoi?.ByRouteId))
            {
                var creator = new ViewUserInfo();
                creator.Load(_currentViewPoi.CreatorId);
                CurrentPoiCreatorName = creator?.Name;
                CurrentPoiCreatorImg  = !string.IsNullOrEmpty(creator?.ImgUrl)? creator?.ImgUrl : string.Empty;
                if (string.IsNullOrEmpty(CurrentPoiCreatorName))
                {
                    if (await creator.UpdateFromServerAsync())
                    {
                        CurrentPoiCreatorName = creator.Name;
                        CurrentPoiCreatorImg  = creator.ImgUrl;
                    }
                }
            }
            else
            {
                CurrentPoiCreatorName = string.Empty;
                CurrentPoiCreatorImg  = string.Empty;
            }
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsVisibleCreator"));
        }
        internal bool Save(ViewUserInfo viewUserInfo)
        {
            bool result = false;

            try
            {
                RealmInstance.Write(() =>
                {
                    var dbObject = !string.IsNullOrEmpty(viewUserInfo.UserId) ? RealmInstance.Find <User>(viewUserInfo.UserId) : null;
                    if (dbObject == null)
                    {
                        dbObject        = new User();
                        dbObject.UserId = viewUserInfo.UserId;
                        RealmInstance.Add(dbObject);
                    }
                    dbObject.Name   = viewUserInfo.Name;
                    dbObject.Email  = viewUserInfo.Email;
                    dbObject.ImgUrl = viewUserInfo.ImgUrl;
                });

                result = true;
            }
            catch (Exception e)
            {
                HandleError.Process("UserManager", "Save", e, false);
            }

            return(result);
        }
Beispiel #6
0
        public IActionResult Index()
        {
            var returnRequestUserData = _requestUserData.RequestUser(User.Identity.Name);

            ViewUserInfo viewUserInfo = new ViewUserInfo();

            viewUserInfo.AccountLevel           = returnRequestUserData.AccountLevel;
            viewUserInfo.Balance                = returnRequestUserData.Balance;
            viewUserInfo.CardId                 = returnRequestUserData.CardId;
            viewUserInfo.AmountOpenTransactions = returnRequestUserData.AmountTransactions;

#if DEBUG
            viewUserInfo.Balance      = 999;
            viewUserInfo.CardId       = "1234567890";
            viewUserInfo.AccountLevel = 2;
#endif

            ViewData["LoggedInUserData"] = viewUserInfo;

            if (viewUserInfo.AccountLevel > 0)
            {
                return(View());
            }

            return(RedirectToAction("Index", "Home"));
        }
Beispiel #7
0
        public ViewUserInfo GetViewUserInfo(int userid)
        {
            ViewUserInfo model = DbSession.UserDal.GetViewUserInfo(userid);

            if (null == model)
            {
                throw new UserException("未找到该用户相关信息");
            }
            //转换路径
            model.User.Head = ConvertPath.RelativeToAppLocation(model.User.Head);
            return(model);
        }
        /// <summary>
        /// 用户点击gridUserInfo行事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridUserInfo_Click(object sender, EventArgs e)
        {
            DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.ViewUserInfo.CalcHitInfo(((Control)sender).PointToClient(Control.MousePosition));

            if (this.ViewUserInfo != null && this.ViewUserInfo.FocusedRowHandle >= 0 && hi.RowHandle >= 0)
            {
                m_cutRow = this.ViewUserInfo.FocusedRowHandle;

                if (m_cutRow < 0)
                {
                    return;
                }

                DataRow dw     = ViewUserInfo.GetDataRow(m_cutRow);
                int     userID = int.Parse(dw["UserID"].ToString());
                InitAccountListByUserID(userID, 0);
            }
        }
Beispiel #9
0
        public IActionResult Index()
        {
            OverviewIncome overviewIncome = new OverviewIncome();

            overviewIncome.IncomeThisMonth       = _requestAllTransactions.RequestIncomeOverviewMonth();
            overviewIncome.IncomeTotal           = _requestAllTransactions.RequestIncomeOverviewTotal();
            overviewIncome.TotalOpenTransactions = _requestAllTransactions.RequestTotalOpenTransactions();
            ViewData["TotalIncome"] = overviewIncome;

            var returnRequestUserData = _requestUserData.RequestUser(User.Identity.Name);

            ViewUserInfo viewUserInfo = new ViewUserInfo();

            viewUserInfo.AccountLevel = returnRequestUserData.AccountLevel;
            viewUserInfo.Balance      = returnRequestUserData.Balance;
            viewUserInfo.CardId       = returnRequestUserData.CardId;

            ViewAdminInfo viewAdminInfo = new ViewAdminInfo();

            viewAdminInfo.Employee            = _requestAllUsers.RequestEveryUser();
            viewAdminInfo.Transaction         = _requestAllTransactions.RequestEveryTransaction();
            viewAdminInfo.TerminalAndProducts = _requestTerminalWithProduct.RequestAllTerminalsWithProduct();
            viewAdminInfo.Products            = _requestAllProducts.RequestEveryProduct();
            viewAdminInfo.OpenTransactions    = _requestAllTransactionsWithType.RequestEveryTransaction("OPEN");


#if DEBUG
            viewUserInfo.Balance      = 999;
            viewUserInfo.CardId       = "1234567890";
            viewUserInfo.AccountLevel = 2;
#endif

            //todo Should put this back to equals 2 when the debug/development account is implemented same for the authentication flags on the controllers
            if (viewUserInfo.AccountLevel == 2)
            {
                return(View(viewAdminInfo));
            }

            return(RedirectToAction("Index", "Home"));
        }
        /// <summary>
        /// 加载用户列表
        /// </summary>
        private void LoadUser()
        {
            try
            {
                ManagementCenter.BLL.UM_UserInfoBLL UserInfoBLL = new UM_UserInfoBLL();
                DataSet ds = UserInfoBLL.GetPagingUser(QueryUserInfo, this.m_pageNo, this.m_pageSize,
                                                       out this.m_rowCount);
                DataTable allUser;
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    allUser = new DataTable();
                    if (!isFirstInit)
                    {
                        ShowMessageBox.ShowInformation("不存在记录!");
                    }
                }
                else
                {
                    allUser = ds.Tables[0];
                }
                this.gridUserInfo.DataSource = allUser;

                if (ViewUserInfo.RowCount > 0)
                {
                    int userid = int.Parse(ViewUserInfo.GetDataRow(0)["UserID"].ToString());
                    InitAccountListByUserID(userid, 0);
                }
            }
            catch (Exception ex)
            {
                string      errCode   = "GL-0353";
                string      errMsg    = "读取交易员列表失败!";
                VTException exception = new VTException(errCode, errMsg, ex);
                LogHelper.WriteError(exception.ToString(), ex);
            }
            isFirstInit = false;
        }
Beispiel #11
0
        public async Task <string> SignInAsync(ViewUserInfo model)
        {
            BaseResult result = new BaseResult();

            try
            {
                ViewUserInfoValidation entityValidation = new ViewUserInfoValidation();
                ValidationResult       validationResilt = await entityValidation.ValidateAsync(model);

                if (validationResilt.IsValid)
                {
                    //判断验证码
                    if (!model.CaptchaCode.Equals(HttpContext.Session.GetString(CaptchaCodeSessionName), StringComparison.OrdinalIgnoreCase))
                    {
                        result.Code = 100;
                        result.Msg  = "验证码错误!";
                    }
                    else
                    {
                        //验验证用户名密码
                        model.Ip = HttpContext.GetClientUserIp();
                        UserInfo entityUserInfo = await _userInfoService.CheckUserAsync(model.UserName, model.Password, model.Ip);

                        if (entityUserInfo == null)
                        {
                            result.Code = 1;
                            result.Msg  = "用户名或密码错误!";
                        }
                        else
                        {
                            if (entityUserInfo.BisLock.Value)
                            {
                                result.Code = 2;
                                result.Msg  = "已被锁定,请联系管理员解锁!";
                            }
                            else
                            {
                                List <Claim> lstClaim = new List <Claim>()
                                {
                                    new Claim(ClaimTypes.Name, entityUserInfo.SloginName),
                                    new Claim("Id", entityUserInfo.Id.ToString()),
                                    new Claim("SuserName", entityUserInfo.SuserName.ToString()),
                                    new Claim("SloginLastIp", entityUserInfo.SloginLastIp.ToString()),
                                    new Claim("TloginLastTime", entityUserInfo.TloginLastTime.ToString())
                                };
                                ClaimsIdentity claimsIdentity = new ClaimsIdentity(lstClaim, CookieAuthenticationDefaults.AuthenticationScheme);
                                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity));

                                _httpContextAccessor.HttpContext.Session.SetInt32("Id", entityUserInfo.Id);
                                _httpContextAccessor.HttpContext.Session.SetString("SloginName", entityUserInfo.SloginName);
                                _httpContextAccessor.HttpContext.Session.SetString("SuserName", entityUserInfo.SuserName);
                                _httpContextAccessor.HttpContext.Session.SetString("SloginLastIp", entityUserInfo.SloginLastIp);
                                _httpContextAccessor.HttpContext.Session.SetString("TloginLastTime", entityUserInfo.TloginLastTime.ToString());
                                result.Code = 0;
                                result.Msg  = "登陆成功!";
                            }
                        }
                    }
                }
                else
                {
                    result.Code = 3;
                    result.Msg  = validationResilt.ToString("<br/>");
                }
            }
            catch (Exception ex)
            {
                result.Code = 4;
                result.Msg  = ex.Message;
            }
            return(JsonHelper.ObjectToJSON(result));
        }
Beispiel #12
0
        /// <summary>
        /// 自由转帐(同币种)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                CT_CounterBLL CounterBLL = new CT_CounterBLL();

                if (!CounterBLL.TestCenterConnection())
                {
                    MessageBox.Show("柜台服务连接失败,请检查柜台服务是否开启!", "系统提示");
                    return;
                }
                if (this.ViewUserInfo != null && this.ViewUserInfo.FocusedRowHandle >= 0 && ViewUserInfo.RowCount > 0)
                {
                    m_cutRow = this.ViewUserInfo.FocusedRowHandle;

                    if (m_cutRow < 0)
                    {
                        return;
                    }

                    DataRow dw        = ViewUserInfo.GetDataRow(m_cutRow);
                    int     userID    = Convert.ToInt32(dw["UserID"].ToString()); //用户ID
                    int     counterID = int.Parse(dw["CouterID"].ToString());     //柜台ID
                    int     FromCapitalAccountType = ((UComboItem)cmbTransOut.SelectedItem).ValueIndex;
                    int     ToCapitalAccountType   = ((UComboItem)cmbTransIn.SelectedItem).ValueIndex;
                    decimal TransferAmount         = AppGlobalVariable.INIT_DECIMAL;
                    string  _Money = string.Empty;//输入的金额
                    if (!string.IsNullOrEmpty(txtTransferMoney.Text))
                    {
                        if (InputTest.DecimalTest(this.txtTransferMoney.Text))
                        {
                            if (Convert.ToDecimal(txtTransferMoney.Text) <= 0)
                            {
                                ShowMessageBox.ShowInformation("转出金额需大于0!");
                                return;
                            }
                            _Money = this.txtTransferMoney.Text;
                            string[] _lengthRMB = _Money.Split('.');
                            if (_lengthRMB[0].Length > 12)
                            {
                                ShowMessageBox.ShowInformation("超出存储的范围(整数部分不能大于12位)!");
                                return;
                            }
                            if (_lengthRMB.Length > 1)
                            {
                                if (_lengthRMB[1].Length > 3)
                                {
                                    ShowMessageBox.ShowInformation("小数部分不能大于3位!");
                                    return;
                                }
                            }
                            if (this.txtTransferMoney.Text.Length > 16)
                            {
                                ShowMessageBox.ShowInformation("超出存储的范围(不能大于16位)!");
                                return;
                            }
                            TransferAmount = Convert.ToDecimal(txtTransferMoney.Text);
                        }
                        else
                        {
                            ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!");
                            return;
                        }
                    }
                    else
                    {
                        ShowMessageBox.ShowInformation("转出资金不能为空!");
                        return;
                    }
                    TransactionManageBLL = new ManagementCenter.BLL.UserManage.TransactionManage();
                    int    currencyType = ((UComboItem)cmbCurrencyType.SelectedItem).ValueIndex;
                    string outMessage   = string.Empty;
                    bool   result       = TransactionManageBLL.ConvertFreeTransferEntity(userID, FromCapitalAccountType, ToCapitalAccountType,
                                                                                         TransferAmount, currencyType, counterID, out outMessage);
                    if (result)
                    {
                        ShowMessageBox.ShowInformation("成功转出资金:" + TransferAmount + "元");
                        InitAccountListByUserID(userID.ToString(), counterID, m_cutRow);
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(outMessage))
                        {
                            ShowMessageBox.ShowInformation(outMessage + "!");//在柜台返回的异常信息后加!
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string      errCode   = "GL-0374";
                string      errMsg    = " 自由转帐(同币种)失败!";
                VTException exception = new VTException(errCode, errMsg, ex);
                LogHelper.WriteError(exception.ToString(), ex);
                return;
            }
        }
Beispiel #13
0
        public async void StartDialog()
        {
            MessagingCenter.Subscribe <SyncRouteCompleteMessage>(this, string.Empty, (sender) =>
            {
                if (sender.RouteId.Equals(_vroute.Id) && sender.SuccessSync)
                {
                    _vroute             = new ViewRoute(_vroute.Id);
                    IsVisibleList       = true;
                    IsVisibleProgress   = false;
                    IsVisibleStartRoute = !IsVisibleProgress;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PointsOfRoute"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Description"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("RouteCoverImage"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("CreateDateText"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Author"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("RowHeightForDescription"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("RowHeightForImage"));
                    if (!_isNeedShowAlbum)
                    {
                        Navigation.PopModalAsync(false);
                    }
                }
            });
            MessagingCenter.Subscribe <SyncProgressImageLoadingMessage>(this, string.Empty, (sender) =>
            {
                if (sender.RouteId.Equals(_vroute.Id))
                {
                    ProgressValue = sender.ProgressValue;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PointsOfRoute"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("RowHeightForDescription"));
                }
            });
            MessagingCenter.Subscribe <SyncProgressRouteLoadingMessage>(this, string.Empty, (sender) =>
            {
                if (!string.IsNullOrEmpty(sender.RouteId) && (sender.RouteId.Equals(_vroute.Id)))
                {
                    ProgressValue = sender.ProgressValue;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PointsOfRoute"));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("RowHeightForDescription"));
                }
            });

            if (string.IsNullOrEmpty(_vroute.ObjVerHash))
            {
                //Это не существующий или не до конца синхронизированный маршрут, синкать в любом случае
                Xamarin.Forms.MessagingCenter.Send <SyncMessage>(new SyncMessage()
                {
                    RouteId = _vroute.Id, NeedCheckVersionRoute = false
                }, string.Empty);
                IsVisibleProgress = true;
                IsVisibleList     = false;
            }
            else
            {
                //Тут возможны варианты - либо это актуальный маршрут, либо нет, но это надо еще проверить
                //Но показываем точки, и в фоне проверяем версию, только если она отличается, запускаем синхронизацию
                //updatePoints();
                IsVisibleProgress = false;
                IsVisibleList     = true;
                Xamarin.Forms.MessagingCenter.Send <SyncMessage>(new SyncMessage()
                {
                    RouteId = _vroute.Id, NeedCheckVersionRoute = true
                }, string.Empty);
            }

            IsVisibleStartRoute = IsVisibleList;

            var creator = new ViewUserInfo();

            creator.Load(_vroute.CreatorId);
            Author        = creator.Name;
            CreatorImgUrl = creator.ImgUrl;

            if (string.IsNullOrEmpty(creator.ImgUrl))
            {
                if (await creator.UpdateFromServerAsync())
                {
                    Author        = creator.Name;
                    CreatorImgUrl = creator.ImgUrl;
                }
            }
        }