Пример #1
0
        public static int CreateOrganization(Dal.Models.Organization org, int iCurrentUserID, OleDbConnection conn, OleDbTransaction trans = null)
        {
            if (string.IsNullOrEmpty(org.OrganizationName) || string.IsNullOrEmpty(org.OrganizationCode))
            {
                return(-1);
            }

            // 判断重名
            if (GetOrganizationByName(org.OrganizationName, conn, trans) != null)
            {
                throw new Exception("单位名已存在!");
            }

            if (IsSocialCreditCode(org.OrganizationCode))
            {
                org.UnifiedCode = org.OrganizationCode;

                // 社会统一代码和组织机构代码对应关系:
                // 营业执照:全部号码
                // 组织机构代码:第9位至倒数第2位,共9位数
                // 税务登记证号码:第3位至倒数第2位,共15位数
                org.OrganizationCode = org.UnifiedCode.Substring(9, 9);
            }
            //else
            //{
            //    if (!IsOrganizationCode(org.OrganizationCode))
            //    {
            //        throw new Exception("组织机构代码或社会统一代码输入错误,请检查后再次输入!");
            //    }
            //}

            // 判断组织机构代码
            if (GetOrganizationByCode(org.OrganizationCode, conn, trans) != null)
            {
                throw new Exception("组织机构代码已存在!");
            }

            if (org.CreateTime == null || org.LastUpdateTime == null)
            {
                org.CreateTime     = DateTime.Now;
                org.LastUpdateTime = org.CreateTime;
            }

            Dal.Models.UserInfo user = new Dal.Models.UserInfo();
            user.UserName = string.IsNullOrEmpty(org.UserName) ? org.OrganizationName : org.UserName;
            //org.Password; //user.DefaultPassword;
            user.Password          = string.IsNullOrEmpty(org.UnifiedCode) ? org.OrganizationCode : org.UnifiedCode;
            user.Email             = org.EmailAddress;
            user.UserStatus        = "0701";
            user.UserType          = "0806";
            user.CreateTime        = org.CreateTime;
            user.LastUpdateTime    = org.CreateTime;
            user.CreateUser        = iCurrentUserID;
            user.IsPasswordChanged = false;

            // 创建用户
            int iResult = User.CreateUser(user, conn, trans);

            if (iResult <= 0)
            {
                return(iResult);
            }

            string strPwd = BLL.SysConstant.GetAppSettings("DefaultPassword", conn, trans);

            BLL.User.ResetPassword(iResult, strPwd, conn, trans);
            user.UserID = iResult;

            StringBuilder sbSql = new StringBuilder();

            sbSql.Append(" INSERT INTO Organization(        ");
            sbSql.Append("            UserID                ");
            sbSql.Append("           ,OrganizationName      ");
            sbSql.Append("           ,Abbreviation          ");
            sbSql.Append("           ,UnifiedCode           ");
            sbSql.Append("           ,OrganizationCode      ");
            sbSql.Append("           ,OrganizationAddress   ");
            sbSql.Append("           ,LegalPersonName       ");
            sbSql.Append("           ,LegalPersonIDNo       ");
            sbSql.Append("           ,Linkman               ");
            sbSql.Append("           ,MobileNumber          ");
            sbSql.Append("           ,TelephoneNumber       ");
            sbSql.Append("           ,Postcode              ");
            sbSql.Append("           ,FaxNumber             ");
            sbSql.Append("           ,EmailAddress          ");
            sbSql.Append("           ,CreateTime            ");
            sbSql.Append("           ,LastUpdateTime        ");
            sbSql.Append("    ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ");
            iResult = Dal.OleDbHlper.ExecuteNonQuery(sbSql.ToString(), conn, CommandType.Text, trans
                                                     , new OleDbParameter("@UserID", OleDbType.Integer)
            {
                Value = user.UserID
            }
                                                     , new OleDbParameter("@OrganizationName", OleDbType.VarWChar)
            {
                Value = org.OrganizationName
            }
                                                     , new OleDbParameter("@Abbreviation", OleDbType.VarWChar)
            {
                Value = org.Abbreviation
            }
                                                     , new OleDbParameter("@UnifiedCode", OleDbType.VarWChar)
            {
                Value = org.UnifiedCode
            }
                                                     , new OleDbParameter("@OrganizationCode", OleDbType.VarWChar)
            {
                Value = org.OrganizationCode
            }
                                                     , new OleDbParameter("@OrganizationAddress", OleDbType.VarWChar)
            {
                Value = org.OrganizationAddress
            }
                                                     , new OleDbParameter("@LegalPersonName", OleDbType.VarWChar)
            {
                Value = org.LegalPersonName
            }
                                                     , new OleDbParameter("@LegalPersonIDNo", OleDbType.VarWChar)
            {
                Value = org.LegalPersonIDNo
            }
                                                     , new OleDbParameter("@Linkman", OleDbType.VarWChar)
            {
                Value = org.Linkman
            }
                                                     , new OleDbParameter("@MobileNumber", OleDbType.VarWChar)
            {
                Value = org.MobileNumber
            }
                                                     , new OleDbParameter("@TelephoneNumber", OleDbType.VarWChar)
            {
                Value = org.TelephoneNumber
            }
                                                     , new OleDbParameter("@Postcode", OleDbType.VarWChar)
            {
                Value = org.Postcode
            }
                                                     , new OleDbParameter("@FaxNumber", OleDbType.VarWChar)
            {
                Value = org.FaxNumber
            }
                                                     , new OleDbParameter("@EmailAddress", OleDbType.VarWChar)
            {
                Value = org.EmailAddress
            }
                                                     , new OleDbParameter("@CreateTime", OleDbType.Date)
            {
                Value = org.CreateTime
            }
                                                     , new OleDbParameter("@LastUpdateTime", OleDbType.Date)
            {
                Value = org.LastUpdateTime
            });

            if (iResult > 0)
            {
                org     = GetOrganizationByName(org.OrganizationName, conn, trans);
                iResult = org.OrganizationID.Value;
            }

            return(iResult);
        }