Пример #1
0
        static OutsideWS.SMC_User CopySMC_User(SMC_User user)
        {
            OutsideWS.SMC_User entity = new OutsideWS.SMC_User();
            entity.U_CREATEDDATE = user.U_CREATEDDATE;
            entity.U_ID = user.U_ID;
            entity.U_NAME = user.U_NAME;
            entity.U_PASSWORD = user.U_PASSWORD;
            entity.U_UID = user.U_UID;
            entity.U_UNITCODE = user.U_UNITCODE;

            return entity;
        }
        public virtual void BUAUserSyncToInside()
        {
            try
            {
                ServiceFactory factory = Beyondbit.BUA.Client.ServiceFactory.Instance();
                SMC_UserDao userDao = new SMC_UserDao(AppConfig.statisticDBKey);
                IUserService us = factory.GetUserService();
                IOrgService os = factory.GetOrgService();
                Org topOrg = os.GetTopOrg();
                Beyondbit.BUA.Client.User[] users = us.QueryUsersByObjectCode(ObjectType.Org, topOrg.OrgCode);
                string orgCode = topOrg.OrgCode;
                List<Org> orgs = new List<Org>();
                GetOrgs(os, orgCode, orgs);
                if (orgs.Count > 0)
                {
                    foreach (Org o in orgs)
                    {
                        Beyondbit.BUA.Client.User[] user = GetUsers(us, o.OrgCode);
                        if (users != null && users.Length > 0)
                        {
                            foreach (Beyondbit.BUA.Client.User _u in users)
                            {
                                SMC_User u = null;
                                u = userDao.GetUser(_u.UserUid);
                                if (u == null)
                                {
                                    u = new SMC_User();
                                    u.U_NAME = _u.UserFullName;
                                    u.U_PASSWORD = _u.UserPassword;
                                    u.U_UID = _u.UserUid;
                                    int id = userDao.GetMaxId() + 1;
                                    u.U_ID = id;
                                    string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID);
                                    Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
                                    u.u_unitname = unitOrg.OrgName;
                                    u.U_UNITCODE = unitCode;
                                    u.u_enable_status = UserEnabledStatus.UnAuthed;
                                    u.u_auth_submit_time = DateTime.Now;
                                    userDao.Insert(u);
                                    userDao.UpdateMaxId();
                                }
                                else
                                {
                                    u.U_NAME = _u.UserFullName;
                                    u.U_PASSWORD = _u.UserPassword;
                                    string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID);
                                    Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
                                    u.u_unitname = unitOrg.OrgName;
                                    u.U_UNITCODE = unitCode;
                                    u.u_enable_status = UserEnabledStatus.UnAuthed;
                                    u.u_auth_submit_time = DateTime.Now;
                                    userDao.Update(u);
                                }
                            }

                        }
                    }
                }
            }
            catch (DalException ex)
            {
                throw new BOException("同步BUA用户出错", ex);
            }
        }
        public virtual void BUAUserSyncToInside(string ids, Hashtable result)
        {
            ServiceFactory factory = Beyondbit.BUA.Client.ServiceFactory.Instance();
            IUserService us = factory.GetUserService();
            IOrgService os = factory.GetOrgService();
            SMC_UserDao userDao = new SMC_UserDao(AppConfig.statisticDBKey);
            SMC_BUAUserSyncToInsideDao buaSyncInsideDao = new SMC_BUAUserSyncToInsideDao(AppConfig.statisticDBKey);
            GlobalParamDao globalParamDao = new GlobalParamDao(AppConfig.statisticDBKey);
            GlobalParam p = globalParamDao.GetGlobalParam("user_default_status");
            int batNo = 0;
            try
            {
                batNo = buaSyncInsideDao.GetMaxBatNo();
            }
            catch (Exception e)
            {
            }
            batNo += 1;

            string[] idlist = ids.Split(",".ToCharArray());
            foreach (string uid in idlist)
            {
                if (String.IsNullOrEmpty(uid))
                {
                    continue;
                }
                Beyondbit.BUA.Client.User _u = null;
                try
                {
                    _u = us.GetUserInfo(uid);
                }
                catch (Exception ex)
                {
                    result["Msg"] += uid + ex.Message;
                    continue;
                }

                SMC_BUAUserSyncToInside log = new SMC_BUAUserSyncToInside();
                log.sync_bat_no = batNo;

                try
                {
                    log.sync_status = true;
                    log.sync_time = DateTime.Now;
                    log.sync_user_name = "";
                    log.sync_user_uid = "";
                    log.user_name = _u.UserFullName;
                    log.user_uid = _u.UserUid;
                    log.description = "同步成功";
                    log.busi_id = buaSyncInsideDao.GetMaxId() + 1;
                    SMC_UnitDao unitDao = new SMC_UnitDao(AppConfig.statisticDBKey);

                    SMC_User u = null;
                    u = userDao.GetUser(_u.UserUid);
                    if (u == null)
                    {
                        u = new SMC_User();
                        u.U_NAME = _u.UserFullName;
                        u.U_PASSWORD = _u.UserPassword;
                        u.U_UID = _u.UserUid;
                        int id = userDao.GetMaxId() + 1;
                        u.U_ID = id;
                        string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID);
                        Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
                        u.U_UNITCODE = unitCode;

                        //List<KeyValuePair<string, string>> pars = new List<KeyValuePair<string,string>>();
                        //pars.Add(new KeyValuePair<string, string>("unit_id",unitCode));
                        SMC_Unit unit = unitDao.Get(unitCode);
                        if (unit == null)
                        {
                            unit = new SMC_Unit();
                            unit.Unit_ID = unitCode;
                            unit.Unit_Name = unitOrg.OrgName;
                            unit.Unit_Sequence = 0;
                            unit.Unit_UpdateTime = DateTime.Now;
                            unit.Unit_CreatedTime = DateTime.Now;
                            unit.Upper_Unit_ID = "";
                            unit.Unit_Path = unitCode;
                            unitDao.Insert(unit);
                        }
                        u.u_unitname = unitOrg.OrgName;
                        u.U_CREATEDDATE = DateTime.Now;
                        u.u_enable_status = p.ConfigValue == "1" ? UserEnabledStatus.Enabled : UserEnabledStatus.UnAuthed;
                        u.u_auth_submit_time = DateTime.Now;
                        u.u_need_sync = false;
                        userDao.Insert(u);
                        userDao.UpdateMaxId();
                    }
                    else
                    {
                        u.U_NAME = _u.UserFullName;
                        u.U_PASSWORD = _u.UserPassword;
                        u.U_CREATEDDATE = DateTime.Now;
                        string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID);
                        Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode);

                        //List<KeyValuePair<string, string>> pars = new List<KeyValuePair<string, string>>();
                        //pars.Add(new KeyValuePair<string, string>("unit_id", unitCode));
                        SMC_Unit unit = unitDao.Get(unitCode);
                        if (unit == null)
                        {
                            unit = new SMC_Unit();
                            unit.Unit_ID = unitCode;
                            unit.Unit_Name = unitOrg.OrgName;
                            unit.Unit_Sequence = 0;
                            unit.Unit_UpdateTime = DateTime.Now;
                            unit.Unit_CreatedTime = DateTime.Now;
                            unit.Upper_Unit_ID = "";
                            unit.Unit_Path = unitCode;
                            unitDao.Insert(unit);
                        }

                        u.u_unitname = unitOrg.OrgName;
                        u.U_UNITCODE = unitCode;
                        u.u_enable_status = p.ConfigValue == "1" ? UserEnabledStatus.Enabled : UserEnabledStatus.UnAuthed;
                        u.u_auth_submit_time = DateTime.Now;
                        u.u_need_sync = false;
                        u.u_update_time = DateTime.Now;
                        userDao.Update(u);
                    }

                }
                catch (Exception ex)
                {
                    log.sync_status = false;
                    log.description = "同步失败,原因可能是:" + ex.Message + "。\r\nStackTrace:\r\n" + ex.StackTrace;
                    if (result != null)
                    {
                        result["IsSuccess"] = false;
                        result["Msg"] += log.description;
                    }
                }

                try
                {
                    buaSyncInsideDao.Insert(log);
                    buaSyncInsideDao.UpdateMaxId();
                }
                catch (Exception ex)
                {
                }
            }
        }
        public Service.ApplicationCenterWS.SMC_User CopySMC_User(SMC_User user)
        {
            Service.ApplicationCenterWS.SMC_User entity = new Service.ApplicationCenterWS.SMC_User();
            entity.U_CREATEDDATE = user.U_CREATEDDATE;
            entity.U_ID = user.U_ID;
            entity.U_NAME = user.U_NAME;
            entity.U_PASSWORD = user.U_PASSWORD;
            entity.U_UID = user.U_UID;
            entity.U_UNITCODE = user.U_UNITCODE;

            return entity;
        }