Ejemplo n.º 1
0
        /// <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"));
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        /// <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"));
 }
Ejemplo n.º 6
0
 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));
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
        /// <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"));
        }