public void SaveVersion <T>(T cName, int UserId) { int Version = 0; User val = (User)(object)cName; var result = _db.User_History.Where(i => i.UserID == val.UserID).OrderByDescending(x => x.Version).FirstOrDefault(); Version = (result == null) ? 1 : result.Version + 1; User_History obj = new User_History(); val.CopyProperties(obj); obj.UserID = val.UserID; obj.Version = Version; obj.ModifiedDate = DateTime.Now; obj.ModifiedUserId = UserId; _db.User_History.Add(obj); _db.SaveChanges(); UserRole_History roleHistory = new UserRole_History(); var role = _db.userRole.Where(i => i.UserID == val.UserID).FirstOrDefault(); role.CopyProperties(roleHistory); roleHistory.UserVersion = Version; _db.UserRole_History.Add(roleHistory); _db.SaveChanges(); var client = _db.userClient.Where(i => i.UserID == val.UserID).ToList(); foreach (UserClient clnt in client) { UserClient_History clientHistory = new UserClient_History(); clnt.CopyProperties(clientHistory); clientHistory.UserVersion = Version; _db.UserClient_History.Add(clientHistory); _db.SaveChanges(); } }
public ActionResult Napthe(FormCollection collection) { if (Session["login"] == null) { HttpContext.Application["_controler"] = "Service"; HttpContext.Application["_action"] = "Napthe"; return(RedirectToAction("Index", "Account")); //return RedirectToAction("Index", HttpContext.Application["_controler"] as string); } if (collection["seri"].ToString() == "" || collection["pin"].ToString() == "") { TempData["errorcard"] = "Vui lòng nhập đầy đủ thông tin thẻ cào."; TempData["successcard"] = null; _9d_percen p = accountContext._9d_percens.FirstOrDefault(); TempData["status"] = p.status; return(View()); } try { _9d_percen p = accountContext._9d_percens.FirstOrDefault(); TempData["status"] = p.status; RequestInfo info = new RequestInfo(); info.Merchant_id = "36680"; info.Merchant_acount = "*****@*****.**"; info.Merchant_password = "******"; //Nhà mạng info.CardType = collection["MovieType"].ToString(); info.Pincard = collection["pin"].ToString(); //Mã đơn hàng info.Refcode = (new Random().Next(0, 10000)).ToString(); info.SerialCard = collection["seri"].ToString(); ResponseInfo resutl = NLCardLib.CardChage(info); if (resutl.Errorcode.Equals("00")) { _9d_user user = accountContext._9d_users.Where(c => c.user_name == Session["login"].ToString() && c.delete_flag == false).FirstOrDefault(); int coutncar = (Convert.ToInt32(resutl.Card_amount) * p.percen) / 100; user.balance = user.balance + coutncar; accountContext.SubmitChanges(); User_History addhistory = new User_History(); addhistory.user_name = Session["login"].ToString(); addhistory.time_into = DateTime.Now; addhistory.car_info = coutncar.ToString(); addhistory.car_type = collection["MovieType"].ToString(); accountContext.User_Histories.InsertOnSubmit(addhistory); accountContext.SubmitChanges(); _9d_user u = common.getUserInfo(Session["login"].ToString()); ViewBag.balance = u != null?u.balance.ToString() : "0"; TempData["errorcard"] = null; TempData["successcard"] = "Chúc mừng, bạn đã nạp thành công thẻ mệnh giá " + coutncar.ToString() + "."; } else { TempData["errorcard"] = resutl.Message.ToString(); TempData["successcard"] = null; } return(View()); } catch (Exception) { throw; } }