private void saveuserstaffdata(HttpContext context)
        {
            int UserID = WebUtil.GetIntValue(context, "UserID");

            Foresight.DataAccess.User data = null;
            if (UserID > 0)
            {
                data = Foresight.DataAccess.User.GetUser(UserID);
            }
            if (data == null)
            {
                data            = new User();
                data.CreateTime = DateTime.Now;
                data.Type       = UserTypeDefine.APPUser.ToString();
            }
            data.LoginName = WebUtil.getServerValue(context, "tdLoginName");
            string Password = WebUtil.getServerValue(context, "tdPassword");

            if (!string.IsNullOrEmpty(Password))
            {
                data.Password = User.EncryptPassword(Password);
            }
            data.RealName    = WebUtil.getServerValue(context, "tdRealName");
            data.PhoneNumber = WebUtil.getServerValue(context, "tdPhoneNumber");
            data.Gender      = WebUtil.getServerValue(context, "tdGender");
            bool IsLocked = WebUtil.getServerIntValue(context, "tdIsLocked") == 1;

            if (IsLocked && !data.IsLocked)
            {
                data.LockTime = DateTime.Now;
            }
            if (!IsLocked && data.IsLocked)
            {
                data.ActiveTime = DateTime.Now;
            }
            data.IsLocked = IsLocked;
            int            OrgID = WebUtil.getServerIntValue(context, "tdDepartment");
            UserDepartment org   = null;

            if (OrgID > 0 && !data.Type.Equals(UserTypeDefine.SystemUser.ToString()))
            {
                org = UserDepartment.GetUserDepartment(UserID, OrgID);
                if (org == null)
                {
                    org = new UserDepartment();
                    org.DepartmentID = OrgID;
                }
            }
            data.ServiceFrom  = WebUtil.getServerValue(context, "tdServiceFrom");
            data.PositionName = WebUtil.getServerValue(context, "tdPositionName");
            using (SqlHelper helper = new SqlHelper())
            {
                try
                {
                    helper.BeginTransaction();
                    data.Save(helper);
                    if (org != null)
                    {
                        org.UserID = data.UserID;
                        org.Save(helper);
                        var parameters = new List <SqlParameter>();
                        parameters.Add(new SqlParameter("@UserID", data.UserID));
                        parameters.Add(new SqlParameter("@DepartmentID", org.DepartmentID));
                        helper.Execute("delete from [UserDepartment] where [UserID]=@UserID and [DepartmentID]!=@DepartmentID", CommandType.Text, parameters);
                    }
                    var userCompany = UserCompany.GetUserCompanyByUserID(data.UserID);
                    if (userCompany == null)
                    {
                        userCompany           = new UserCompany();
                        userCompany.UserID    = data.UserID;
                        userCompany.CompanyID = 1;
                        userCompany.Save(helper);
                    }
                    helper.Commit();
                }
                catch (Exception ex)
                {
                    helper.Rollback();
                    LogHelper.WriteError("SysSettingHandler", "saveuserdata", ex);
                    WebUtil.WriteJson(context, new { status = false, error = ex.Message });
                    return;
                }
            }
            WebUtil.WriteJson(context, new { status = true });
        }
Exemplo n.º 2
0
        private void saveapppwd(HttpContext context)
        {
            int RelationID = GetIntValue(context, "RelationID");
            var relation   = RoomPhoneRelation.GetRoomPhoneRelation(RelationID);

            if (relation == null)
            {
                WebUtil.WriteJson(context, new { status = false, errormsg = "房间用户不存在" });
                return;
            }
            string LoginName = context.Request.Params["LoginName"];
            string Pwd       = context.Request.Params["Password"];
            int    IsLocked  = WebUtil.GetIntValue(context, "IsLocked");
            User   user      = null;

            if (relation.UserID > 0)
            {
                user = User.GetUser(relation.UserID);
            }
            var exist_user = User.GetAPPUserByLoginName(LoginName);

            if (user == null && exist_user != null)
            {
                WebUtil.WriteJson(context, new { status = false, errormsg = "登录名已存在" });
                return;
            }
            if (user != null && exist_user != null && user.UserID != exist_user.UserID)
            {
                WebUtil.WriteJson(context, new { status = false, errormsg = "登录名已存在" });
                return;
            }
            if (user == null)
            {
                user            = new User();
                user.CreateTime = DateTime.Now;
                user.Type       = UserTypeDefine.APPCustomer.ToString();
                user.RealName   = relation.RelationName;
                user.RelationID = RelationID;
            }
            user.LoginName = LoginName;
            if (!string.IsNullOrEmpty(Pwd))
            {
                user.Password = User.EncryptPassword(Pwd);
            }
            user.IsLocked = IsLocked == 1 ? true : false;
            using (SqlHelper helper = new SqlHelper())
            {
                try
                {
                    helper.BeginTransaction();
                    user.Save(helper);
                    relation.UserID = user.UserID;
                    relation.Save(helper);
                    helper.Commit();
                }
                catch (Exception ex)
                {
                    helper.Rollback();
                    LogHelper.WriteError("UserHandler", "saveapppwd", ex);
                    WebUtil.WriteJson(context, new { status = false });
                }
            }
            var    company  = Foresight.DataAccess.Company.GetCompany(WebUtil.GetCompanyID(context));
            string errormsg = string.Empty;

            if (!EncryptHelper.SaveAPPUser(company, user.LoginName, user.Password, user.UserID, user.Type, out errormsg))
            {
                user.Delete();
                relation.UserID = 0;
                relation.Save();
                var result = new { status = false, msg = errormsg };
                WebUtil.WriteJson(context, result);
                return;
            }
            var usercompany = Foresight.DataAccess.UserCompany.GetUserCompanyByUserID(user.UserID);

            if (usercompany != null)
            {
                usercompany.Delete();
            }
            usercompany           = new UserCompany();
            usercompany.CompanyID = company.CompanyID;
            usercompany.UserID    = user.UserID;
            usercompany.Save();
            context.Response.Write("{\"status\":true}");
        }