/// <summary> /// 添加个人信息 /// </summary> /// <param name="collection"></param> /// <returns></returns> public ActionResult AddInfo(FormCollection collection) { string userID = collection["userID"]; int roomID = Convert.ToInt32(collection["roomID"]); if (userID == null || userID.Trim() == "" || Session["userID"] == null || userID.Trim() != Session["userID"].ToString() || roomID < 0) { return(RedirectToAction("Error", "Shared")); } EnergyMonitor.Models.LinqEntity.User user = new EnergyMonitor.Models.LinqEntity.User(); user.USR_ID = userID; user.USR_Name = collection["userName"]; user.USR_Mail = collection["userEmail"]; user.USR_DepartID = Convert.ToInt32(collection["userDepartment"]); user.USR_DepartName = collection["departmentName"]; user.USR_RoleID = 1;//默认插入角色为1,即默认为学生组 user.USR_Status = true; user.USR_LastLoginTime = Session["userLoginTime"] as DateTime?; string clientIP; if (HttpContext.Request.ServerVariables["HTTP_VIA"] != null) { clientIP = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); } else { clientIP = HttpContext.Request.ServerVariables["REMOTE_ADDR"].ToString(); } user.USR_LastLoginIP = clientIP;//插入用户登录IP // 用线程发送邮箱激活邮件 string activeStr = Guid.NewGuid().ToString(); user.USR_MailActiveCode = activeStr; string webSiteName = "http://" + Request.Url.Authority; new Thread(delegate() { Util.SendActiveMail(webSiteName, user.USR_Mail, user.USR_ID, user.USR_Name, "/Homes/ActiveMail", activeStr); }).Start(); user = _userRepos.InsertUser(user); bool flag = _roomRepos.AddUserRoom(user.USR_ID, roomID); if (user == null || !flag)//添加信息失败 { ViewBag.error = true; } else { ViewBag.error = null; //Session["loginUser"] = user; //Session["loginUserName"] = user.USR_Name; //Session["userRoomInfo"] = null; } return(View("AddInfoResult")); }
public ActionResult ModifiedInfo(string userName, string userEmail, int userDepartment, string departmentName) { bool isModified = false; EnergyMonitor.Models.LinqEntity.User loginUser = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; if (!String.IsNullOrWhiteSpace(userName) && loginUser.USR_Name != userName) { loginUser.USR_Name = userName; Session["loginUserName"] = userName; isModified = true; } string activeStr = null; if (!String.IsNullOrWhiteSpace(userEmail) && loginUser.USR_Mail != userEmail) { loginUser.USR_Mail = userEmail; activeStr = Guid.NewGuid().ToString(); loginUser.USR_MailActiveCode = activeStr; isModified = true; } if (userDepartment > 0 && loginUser.USR_DepartID != userDepartment) { loginUser.USR_DepartID = userDepartment; isModified = true; } if (!String.IsNullOrWhiteSpace(departmentName) && loginUser.USR_DepartName != departmentName) { loginUser.USR_DepartName = departmentName; isModified = true; } if (isModified) { if (_userRepos.ModifyUserInfo(loginUser) == null) { return(RedirectToAction("Error", "Shared")); } if (activeStr != null)//需要激活邮箱 { string webSiteName = "http://" + Request.Url.Authority; // 线程发送 new Thread(delegate() { Util.SendActiveMail(webSiteName, userEmail, loginUser.USR_ID, userName, "/Homes/ActiveMail", activeStr); }).Start(); ViewBag.isMailSendError = false; ViewBag.mailAddr = userEmail; } else { ViewBag.isMailSendError = null; } } ViewBag.isModified = isModified; return(View("RedirectPage")); }
/// <summary> /// 注册个人信息(给微信平台使用) /// </summary> /// <param name="collection"></param> /// <returns></returns> public ActionResult RegisteredForMobile(String userID, String password, String userName, String userEmail, String userDepartment, String userDepartmentName, String roomID, String registerIP) { var dec = true; if (string.IsNullOrWhiteSpace(userID) || Convert.ToInt32(roomID) < 0 || string.IsNullOrWhiteSpace(password)) { dec = false; return(Json(dec, JsonRequestBehavior.AllowGet)); } // 加密后的密码 string encryptPassword = Util.SHA1Encrypt(userID + password); EnergyMonitor.Models.LinqEntity.User user = new EnergyMonitor.Models.LinqEntity.User(); user.USR_ID = userID; user.USR_Name = userName; user.USR_Mail = userEmail; user.USR_DepartID = Convert.ToInt32(userDepartment); user.USR_DepartName = userDepartmentName; // 使用USR_Remark作为用户密码 user.USR_Remark = encryptPassword; user.USR_RoleID = 22;//默认插入角色为22,即默认为测试用户组 user.USR_Status = true; user.USR_LastLoginTime = DateTime.Now; user.USR_LastLoginIP = registerIP;//插入用户注册IP // 用线程发送邮箱激活邮件 string activeStr = Guid.NewGuid().ToString(); user.USR_MailActiveCode = activeStr; string webSiteName = "http://" + Request.Url.Authority; new Thread(delegate() { Util.SendActiveMail(webSiteName, user.USR_Mail, user.USR_ID, user.USR_Name, "/Homes/ActiveMail", activeStr); }).Start(); user = _userRepos.InsertUser(user); bool flag = _roomRepos.AddUserRoom(user.USR_ID, Convert.ToInt32(roomID)); if (user == null || !flag)//添加信息失败 { dec = false; } return(Json(dec, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 当前用电 /// </summary> /// <returns></returns> public ActionResult EnergyBrief() { IList <UserRoomFullName> userRoomList = null; if (Session["userRoomInfo"] != null) { userRoomList = Session["userRoomInfo"] as IList <UserRoomFullName>; } else { EnergyMonitor.Models.LinqEntity.User loginUser = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; userRoomList = _userRepos.GetUserRelatedRooms(loginUser.USR_ID); Session["userRoomInfo"] = userRoomList; } ViewBag.userRoomList = userRoomList; DateTime endTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-1")); // 开始时间为前三个月 DateTime startTime = endTime.AddMonths(-3); IDictionary <int, IList <ChartStatisEntity> > dic = new Dictionary <int, IList <ChartStatisEntity> >(); // 当月用电 IDictionary <int, double> currentDic = new Dictionary <int, double>(); // 剩余用电 IDictionary <int, double> remDic = new Dictionary <int, double>(); // 当前表值 IDictionary <int, IList <AnalogMeasurePoint> > ampDic = new Dictionary <int, IList <AnalogMeasurePoint> >(); foreach (var item in userRoomList) { int roomID = item.RIID; var ampList = _ampRepos.GetRealTimeEnergy(roomID); ampDic.Add(roomID, ampList); var list = _analogHistoryRepos.GetEnergyMonthConsume(roomID, startTime, endTime); double val = _analogHistoryRepos.GetCurrentMonthEnergy(roomID); currentDic.Add(roomID, val); dic.Add(roomID, list); double remVal = _analogHistoryRepos.GetCurrentRemVal(roomID); remDic.Add(roomID, remVal); } ViewBag.currentDic = currentDic; ViewBag.remDic = remDic; ViewBag.ampDic = ampDic; return(View(dic)); }
/// <summary> /// 用电历史页面 /// </summary> /// <returns></returns> public ActionResult EnergyHistory() { EnergyMonitor.Models.LinqEntity.User loginUser = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; if (loginUser != null) { if (Session["userRoomInfo"] != null) { var list = Session["userRoomInfo"]; return(View(list)); } else { var list = _userRepos.GetUserRelatedRooms(loginUser.USR_ID); Session["userRoomInfo"] = list; return(View(list)); } } return(RedirectToAction("Error", "Shared")); }
public ActionResult PersonalInfo() { EnergyMonitor.Models.LinqEntity.User loginUser = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; if (loginUser != null) { ViewBag.userID = loginUser.USR_ID; ViewBag.userName = loginUser.USR_Name; ViewBag.userMail = loginUser.USR_Mail; ViewBag.userDepartName = loginUser.USR_DepartName; if (Session["userRoomInfo"] != null) { var list = Session["userRoomInfo"]; return(View(list)); } else { var list = _userRepos.GetUserRelatedRooms(loginUser.USR_ID); Session["userRoomInfo"] = list; return(View(list)); } } return(View()); }
/// <summary> /// 当前用电值(只返回值不返回页面) /// </summary> /// <returns></returns> public ActionResult EnergyBriefVal() { IList <UserRoomFullName> userRoomList = null; if (Session["userRoomInfo"] != null) { userRoomList = Session["userRoomInfo"] as IList <UserRoomFullName>; } else { EnergyMonitor.Models.LinqEntity.User loginUser = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; userRoomList = _userRepos.GetUserRelatedRooms(loginUser.USR_ID); Session["userRoomInfo"] = userRoomList; } ViewBag.userRoomList = userRoomList; DateTime endTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-1")); // 开始时间为前三个月 DateTime startTime = endTime.AddMonths(-3); IDictionary <int, IList <ChartStatisEntity> > dic = new Dictionary <int, IList <ChartStatisEntity> >(); // 当月用电 IDictionary <int, double> currentDic = new Dictionary <int, double>(); // 剩余用电 IDictionary <int, double> remDic = new Dictionary <int, double>(); // 当前表值 IDictionary <int, IList <AnalogMeasurePoint> > ampDic = new Dictionary <int, IList <AnalogMeasurePoint> >(); foreach (var item in userRoomList) { int roomID = item.RIID; var ampList = _ampRepos.GetRealTimeEnergy(roomID); ampDic.Add(roomID, ampList); var list = _analogHistoryRepos.GetEnergyMonthConsume(roomID, startTime, endTime); double val = _analogHistoryRepos.GetCurrentMonthEnergy(roomID); currentDic.Add(roomID, val); dic.Add(roomID, list); double remVal = _analogHistoryRepos.GetCurrentRemVal(roomID); remDic.Add(roomID, remVal); } ViewBag.currentDic = currentDic; ViewBag.remDic = remDic; ViewBag.ampDic = ampDic; string roomName = ""; int roomId = 0; string AMP_ValRem = ""; string AMP_Val = ""; foreach (var room in userRoomList) { roomName = room.urFullName; roomId = room.RIID; } foreach (var ampItem in ampDic[roomId]) { AMP_Val = ampItem.AMP_Val.ToString("f1"); AMP_ValRem = ampItem.AMP_ValRem.ToString(); } var result = new { roomName = roomName, AMP_Val = AMP_Val, AMP_ValRem = AMP_ValRem, currentVal = currentDic[roomId].ToString("f1") }; return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 当前用电剩余额 /// </summary> /// <returns></returns> public JsonResult EnergyBrief(string userID) { if (Session["loginUser"] == null)//已经登录 { if (String.IsNullOrEmpty(userID)) { var reData = new { //没有填写用户名 status = -1 }; return(Json(reData, JsonRequestBehavior.AllowGet)); } var user = _userRepos.GetUserByID(userID); if (user != null) { Session["loginUser"] = user; Session["loginUserName"] = user.USR_Name; Session["userRoomInfo"] = null; // 记录用户登录时间IP和登录时间 DateTime loginTime = DateTime.Now; Session["loginTime"] = loginTime; string loginIP; if (HttpContext.Request.ServerVariables["HTTP_VIA"] != null) { loginIP = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); } else { loginIP = HttpContext.Request.ServerVariables["REMOTE_ADDR"].ToString(); } Session["loginIP"] = loginIP; if (user != null) { _userRepos.ModifyUserInfo(user.USR_ID, loginTime.ToString(), loginIP); } if (user.USR_RoleID == 1)//先写死为1认为是学生用户 { var reData = new { //非管理员用户 status = 1 }; return(Json(reData, JsonRequestBehavior.AllowGet)); //return RedirectToAction("Welcome", "Home", new { area = "User" }); //return RedirectToRoute("~/User/Home/Welcome"); } else//非学生用户 { var reData = new { //管理员用户 status = 2 }; } } else { Session["userID"] = userID; Session["userLoginTime"] = DateTime.Now; //return RedirectToAction("ForwardAddInfo", "User", new { area = "User" }); var reData = new { //用户没有注册 status = 0 }; return(Json(reData, JsonRequestBehavior.AllowGet)); } } else { var user = Session["loginUser"] as EnergyMonitor.Models.LinqEntity.User; if (user.USR_RoleID == 1)//先写死为1认为是学生用户 { //return RedirectToAction("Welcome", "Home", new { area = "User" }); return(null); } else//非学生用户 { IList <UserRoomFullName> userRoomList = null; if (Session["userRoomInfo"] != null) { userRoomList = Session["userRoomInfo"] as IList <UserRoomFullName>; } else { EnergyMonitor.Models.LinqEntity.User loginUser = user; userRoomList = _userRepos.GetUserRelatedRooms(loginUser.USR_ID); Session["userRoomInfo"] = userRoomList; } // ViewBag.userRoomList = userRoomList; DateTime endTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-1")); // 开始时间为前三个月 DateTime startTime = endTime.AddMonths(-3); IDictionary <int, IList <ChartStatisEntity> > dic = new Dictionary <int, IList <ChartStatisEntity> >(); // 当月用电 IDictionary <int, double> currentDic = new Dictionary <int, double>(); // 剩余用电 IDictionary <int, double> remDic = new Dictionary <int, double>(); // 当前表值 IDictionary <int, IList> ampDic = new Dictionary <int, IList>(); IList jsonList = new ArrayList(); foreach (var item in userRoomList) { int roomID = item.RIID; //var ampList = _ampRepos.GetRealTimeEnergy(roomID); //ampDic.Add(roomID, ampList); // var list = _analogHistoryRepos.GetEnergyMonthConsume(roomID, startTime, endTime); //double val = _analogHistoryRepos.GetCurrentMonthEnergy(roomID); //currentDic.Add(roomID, val); // dic.Add(roomID, list); double remVal = _analogHistoryRepos.GetCurrentRemVal(roomID); //remDic.Add(roomID, remVal); jsonList.Add(new { remainEnergy = remVal, status = 2 }); } // ViewBag.currentDic = currentDic; // ViewBag.remDic = remDic; // ViewBag.ampDic = ampDic; return(Json(jsonList, JsonRequestBehavior.AllowGet)); //return RedirectToAction("Welcome", "Home", new { area = "Admin" }); //return null; } } return(null); //return View(dic); }
/// <summary> /// 注册个人信息 /// </summary> /// <param name="collection"></param> /// <returns></returns> public ActionResult Registered(FormCollection collection) { string userID = collection["userID"]; string password = collection["password"]; int roomID = Convert.ToInt32(collection["roomID"]); if (string.IsNullOrWhiteSpace(userID) || roomID < 0 || string.IsNullOrWhiteSpace(password)) { return(RedirectToAction("Error", "Shared")); } // 加密后的密码 string encryptPassword = Util.SHA1Encrypt(userID + password); EnergyMonitor.Models.LinqEntity.User user = new EnergyMonitor.Models.LinqEntity.User(); user.USR_ID = userID; user.USR_Name = collection["userName"]; user.USR_Mail = collection["userEmail"]; user.USR_DepartID = Convert.ToInt32(collection["userDepartment"]); user.USR_DepartName = collection["departmentName"]; // 使用USR_Remark作为用户密码 user.USR_Remark = encryptPassword; user.USR_RoleID = 22;//默认插入角色为22,即默认为测试用户组 user.USR_Status = true; user.USR_LastLoginTime = Session["userLoginTime"] as DateTime?; string clientIP; if (HttpContext.Request.ServerVariables["HTTP_VIA"] != null) { clientIP = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); } else { clientIP = HttpContext.Request.ServerVariables["REMOTE_ADDR"].ToString(); } user.USR_LastLoginIP = clientIP;//插入用户登录IP // 用线程发送邮箱激活邮件 string activeStr = Guid.NewGuid().ToString(); user.USR_MailActiveCode = activeStr; string webSiteName = "http://" + Request.Url.Authority; new Thread(delegate() { Util.SendActiveMail(webSiteName, user.USR_Mail, user.USR_ID, user.USR_Name, "/Homes/ActiveMail", activeStr); }).Start(); user = _userRepos.InsertUser(user); bool flag = _roomRepos.AddUserRoom(user.USR_ID, roomID); if (user == null || !flag)//添加信息失败 { ViewBag.error = true; } else { ViewBag.error = null; //Session["loginUser"] = user; //Session["loginUserName"] = user.USR_Name; //Session["userRoomInfo"] = null; } return(View("AddInfoResult")); }