public ActionResult WithdrawMoney(WithdrawMoney model) { ViewBag.message = ""; if (!ModelState.IsValid) { return View(model); } string updateBy = AccountInfo.GetUserName(Request); string username = model.Username; int withDrawMoney = model.AmountOfMoney; int transactionType = 3; string transactionContent = "Rút tiền"; UserinfoModel userinfo = new UserinfoModel(); DataTable userInfoDataTable = new DataTable(); UserInfoDetailTableAdapter userInfoDetailAdapter = new UserInfoDetailTableAdapter(); UserInfoTableAdapter userInfoAdapter = new UserInfoTableAdapter(); userInfoDataTable = userInfoAdapter.GetDataByUsername(username); //string userTypeName = null; //string email = null; //if (!string.IsNullOrEmpty(userInfoDataTable.Rows[0]["TypeShortName"].ToString())) //{ // userInfoDataTable = userInfoDetailAdapter.GetDataByUsername(username); // userTypeName = (string)userInfoDataTable.Rows[0]["TypeName"]; // email = userInfoDataTable.Rows[0]["Email"].ToString(); //} //else //{ // AccountTableAdapter accountAdapter = new AccountTableAdapter(); // DataTable accountDataTable = new DataTable(); // accountDataTable = accountAdapter.GetDataByUsername(username); // email = accountDataTable.Rows[0]["Email"].ToString(); //} DateTime date = DateTime.Parse(userInfoDataTable.Rows[0]["LastUpdatedMoney"].ToString()); int amountOfMoney = (int)userInfoDataTable.Rows[0]["AmountOfMoney"]; TransactionHistoryTableAdapter transactionAdapter = new TransactionHistoryTableAdapter(); int? money = transactionAdapter.GetCurrentMoney(username, date); if (money == null) { money = 0; } amountOfMoney += money.Value; if (withDrawMoney > amountOfMoney) { Session["withDrawMoney"] = "Giao dịch thất bại! Số tiền trong tài khoản không đủ để thực hiện giao dịch"; return View(model); } else { try { string transactionID = transactionAdapter.RechargeMoneyScalar(username, transactionType, amountOfMoney, transactionContent, null, false, date, updateBy, date).ToString(); int id = int.Parse(transactionID); XmlSync.SaveTransactionHistoryXml(id, username, transactionType, amountOfMoney, transactionContent, null, false, date, updateBy, date, null); Session["withDrawMoney"] = "Giao dịch thành công!"; } catch (Exception ex) { Log.ErrorLog(ex.Message); Session["withDrawMoney"] = "Giao dịch thất bại!"; } return RedirectToAction("WithdrawMoney","Transaction"); } }
public ActionResult RechargeMoney(RechargeMoney model) { if (!ModelState.IsValid) { return View(); } string updateBy = AccountInfo.GetUserName(Request); string username = model.Username; int amountOfMoney = 0; if (!string.IsNullOrEmpty(model.AmountOfMoney.ToString())) { amountOfMoney = model.AmountOfMoney; } string transactionContent = "Nạp tiền"; DateTime date = DateTime.Now; int transactionType = 2; UserInfoDetailTableAdapter userInfoAdapter = new UserInfoDetailTableAdapter(); DataTable userInfoDataTable = userInfoAdapter.GetDataByUsername(username); if (userInfoDataTable.Rows.Count != 1) { ModelState.AddModelError("", "Tên đăng nhập không tồn tại."); return View(model); } TransactionHistoryTableAdapter transactionAdapter = new TransactionHistoryTableAdapter(); try { string transactionID = transactionAdapter.RechargeMoneyScalar(username, transactionType, amountOfMoney, transactionContent, null, false, date, updateBy, date).ToString(); int id = int.Parse(transactionID); XmlSync.SaveTransactionHistoryXml(id, username, transactionType, amountOfMoney, transactionContent, null, false, date, updateBy, date, null); Session["rechargeMoney"] = "Giao dịch thành công!"; } catch (Exception ex) { Log.ErrorLog(ex.Message); Session["rechargeMoney"] = "Giao dịch thất bại!"; } return RedirectToAction("RechargeMoney", "Transaction"); }
public ActionResult UserInfo() { string username = AccountInfo.GetUserName(Request); UserinfoModel userinfo = new UserinfoModel(); DataTable userInfoDataTable = new DataTable(); UserInfoDetailTableAdapter userInfoDetailAdapter = new UserInfoDetailTableAdapter(); UserInfoTableAdapter userInfoAdapter = new UserInfoTableAdapter(); userInfoDataTable = userInfoAdapter.GetDataByUsername(username); string userTypeName = null; string email = null; if (!string.IsNullOrEmpty(userInfoDataTable.Rows[0]["TypeShortName"].ToString())) { userInfoDataTable = userInfoDetailAdapter.GetDataByUsername(username); userTypeName = (string)userInfoDataTable.Rows[0]["TypeName"]; email = userInfoDataTable.Rows[0]["Email"].ToString(); } else { AccountTableAdapter accountAdapter = new AccountTableAdapter(); DataTable accountDataTable = new DataTable(); accountDataTable = accountAdapter.GetDataByUsername(username); email = accountDataTable.Rows[0]["Email"].ToString(); } DateTime date = DateTime.Parse(userInfoDataTable.Rows[0]["LastUpdatedMoney"].ToString()); int amountOfMoney = (int)userInfoDataTable.Rows[0]["AmountOfMoney"]; TransactionHistoryTableAdapter transactionAdapter = new TransactionHistoryTableAdapter(); int? money = transactionAdapter.GetCurrentMoney(username, date); if (money == null) { money = 0; } amountOfMoney += money.Value; userinfo.Username = username; userinfo.Name = userInfoDataTable.Rows[0]["Name"].ToString(); userinfo.TypeName = userTypeName; userinfo.Email = email; userinfo.AmountOfMoney = amountOfMoney; return View(userinfo); }
public ActionResult ListUser() { UserInfoDetailTableAdapter userInfoAdapter = new UserInfoDetailTableAdapter(); DataTable userDT = new DataTable(); string username = Request.QueryString["username"]; string name = Request.QueryString["name"]; string userType = Request.QueryString["userType"]; string role = Request.QueryString["role"]; string active = Request.QueryString["active"]; string page = Request.QueryString["page"]; string amountPerPage = Request.QueryString["amountPerPage"]; if (String.IsNullOrWhiteSpace(userType)) { userType = null; } int role_; if (!int.TryParse(role, out role_)) { role = null; } int active_; if (!int.TryParse(active, out active_)) { active = null; } int page_; if (!int.TryParse(page, out page_)) { page = null; page_ = 1; } int amountPerPage_; if (!int.TryParse(amountPerPage, out amountPerPage_)) { amountPerPage = "10"; amountPerPage_ = 10; } try { string query = "SELECT * FROM ( SELECT UserInfo.Username, UserInfo.Name, UserInfo.TypeShortName, " + "UserInfo.AmountOfMoney, UserInfo.LastUpdatedMoney, UserInfo.FingerPosition, UserInfo.IsCafeteriaStaff, " + "UserInfo.InsertedDate, UserInfo.UpdatedBy, UserInfo.LastUpdated, Account.Email, Account.Role, " + "UserType.TypeName, UserType.MealValue, UserType.MoreMealValue, UserType.CanDebt, " + "UserType.CanEatMore, UserInfo.IsActive, ROW_NUMBER() OVER (order by UserInfo.InsertedDate DESC) AS RowNum " + "FROM UserInfo INNER JOIN Account ON UserInfo.Username = Account.Username INNER JOIN " + "UserType ON UserInfo.TypeShortName = UserType.TypeShortName "; string countQuery = "SELECT COUNT(UserInfo.Username) FROM UserInfo INNER JOIN Account " + "ON UserInfo.Username = Account.Username "; string conditionQuery = ""; if (username != null || name != null || userType != null || role != null || active != null) { conditionQuery += "WHERE "; bool isFirst = false; if (username != null) { conditionQuery += "UserInfo.Username like '%" + username + "%' "; isFirst = true; } if (name != null) { if (isFirst) { conditionQuery += "AND "; } conditionQuery += "UserInfo.Name like N'%" + name + "%' "; isFirst = true; } if (userType != null) { if (isFirst) { conditionQuery += "AND "; } conditionQuery += "UserInfo.TypeShortName = '" + userType + "' "; isFirst = true; } if (role != null) { if (isFirst) { conditionQuery += "AND "; } conditionQuery += "Account.Role = " + role + " "; isFirst = true; } if (active != null) { if (isFirst) { conditionQuery += "AND "; } conditionQuery += "UserInfo.IsActive = " + active + " "; } } int minRowNum = ((page_ - 1) * amountPerPage_) + 1; int maxRowNum = page_ * amountPerPage_; query += conditionQuery; query += ") AS UI WHERE UI.RowNum BETWEEN " + minRowNum + " AND " + maxRowNum + " "; SqlCommand countCmd = new SqlCommand(countQuery + conditionQuery, userInfoAdapter.Connection); SqlCommand getDataCmd = new SqlCommand(query, userInfoAdapter.Connection); SqlDataAdapter getDataAdapter = new SqlDataAdapter(getDataCmd); userInfoAdapter.Connection.Open(); int count = (int)countCmd.ExecuteScalar(); getDataAdapter.Fill(userDT); int maxPage = (count / amountPerPage_); if (count % amountPerPage_ != 0) { maxPage++; } ViewBag.maxPage = maxPage; if (page_ > maxPage) { page_ = maxPage; } ViewBag.curPage = page_; ViewBag.amountPerPage = amountPerPage_; ViewBag.roleList = AccountInfo.GetRoleListVnese(); DataTable userTypeDT = new UserTypeTableAdapter().GetData(); List<KeyValuePair<string, string>> userTypes = new List<KeyValuePair<string, string>>(); foreach (DataRow row in userTypeDT.Rows) { userTypes.Add(new KeyValuePair<string, string>(row.Field<string>("TypeShortName"), row.Field<string>("TypeName"))); } ViewBag.userTypes = userTypes; } catch (Exception ex) { Log.ErrorLog(ex.Message); return View("Error"); } return View(userDT); }
public ActionResult EditUser(string username) { UserTypeTableAdapter userTypeAdapter = new UserTypeTableAdapter(); DataTable userTypeDT = userTypeAdapter.GetData(); List<SelectListItem> items = new List<SelectListItem>(); foreach (DataRow row in userTypeDT.Rows) { items.Add(new SelectListItem { Text = row["TypeName"].ToString(), Value = row["TypeShortName"].ToString() }); } ViewData["UserType"] = items; EditUserModel userInfo = new EditUserModel(); UserInfoDetailTableAdapter userinfoAdapter = new UserInfoDetailTableAdapter(); DataTable userinfoDataTable = userinfoAdapter.GetDataByUsername(username); try { userInfo.Username = username; userInfo.Name = userinfoDataTable.Rows[0]["Name"].ToString(); userInfo.UserTypeID = (string)userinfoDataTable.Rows[0]["TypeShortName"]; userInfo.Email = userinfoDataTable.Rows[0]["Email"].ToString(); userInfo.Role = (int)userinfoDataTable.Rows[0]["Role"]; userInfo.isActive = (bool)userinfoDataTable.Rows[0]["IsActive"]; return View(userInfo); } catch (Exception ex) { Log.ErrorLog(ex.Message); return RedirectToAction("Error", "Error"); } }
public ActionResult DetailUser(string username) { UserinfoModel userinfo = new UserinfoModel(); UserInfoDetailTableAdapter userinfoAdapter = new UserInfoDetailTableAdapter(); DataTable userinfoDataTable = userinfoAdapter.GetDataByUsername(username); DateTime date = DateTime.Parse(userinfoDataTable.Rows[0]["LastUpdatedMoney"].ToString()); int amountOfMoney = (int)userinfoDataTable.Rows[0]["AmountOfMoney"]; TransactionHistoryTableAdapter transactionAdapter = new TransactionHistoryTableAdapter(); int? money = transactionAdapter.GetCurrentMoney(username, date); if (money == null) { money = 0; } amountOfMoney += money.Value; userinfo.Username = username; userinfo.Name = userinfoDataTable.Rows[0]["Name"].ToString(); userinfo.TypeName = (string)userinfoDataTable.Rows[0]["TypeName"]; userinfo.Email = userinfoDataTable.Rows[0]["Email"].ToString(); userinfo.AmountOfMoney = amountOfMoney; userinfo.Role = (int)userinfoDataTable.Rows[0]["Role"]; return View(userinfo); }