void ComboxDomain_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     domainInfo = this.ComboxDomain.SelectedItem as BasicDomainInfo;
     //if (domainInfo == null) { this.ComboxDomain.SelectedIndex = 0; }
     ParenntPage.SetBusy(true, string.Empty);
     InitDomainTree();
     ParenntPage.SetBusy(false, string.Empty);
 }
Exemple #2
0
 void LvDomianData_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         Domaininfo = this.LvDomianData.SelectedItem as BasicDomainInfo;
     }
     catch (Exception ex)
     {
         CurrentApp.ShowExceptionMessage(ex.Message);
     }
 }
Exemple #3
0
        public void InitDomainInfo()
        {
            try
            {
                WebRequest webRequest = new WebRequest();
                webRequest.Code    = (int)S1112Codes.GetDomainInfo;
                webRequest.Session = CurrentApp.Session;

                Service11121Client client = new Service11121Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session),
                                                                   WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service11121"));
                WebReturn webReturn = client.DoOperation(webRequest);
                client.Close();
                if (!webReturn.Result)
                {
                    CurrentApp.ShowExceptionMessage(string.Format("WSFail.\t{0}\t{1}", webReturn.Code, webReturn.Message));
                    return;
                }
                //Dispatcher.Invoke(new Action(() => mListDomainInfo.Clear()));
                List <BasicDomainInfo> ListDomainInfo = new List <BasicDomainInfo>();
                for (int i = 0; i < webReturn.ListData.Count; i++)
                {
                    OperationReturn optReturn = XMLHelper.DeserializeObject <BasicDomainInfo>(webReturn.ListData[i]);
                    if (!optReturn.Result)
                    {
                        CurrentApp.ShowExceptionMessage(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message));
                        return;
                    }
                    BasicDomainInfo domainInfo = optReturn.Data as BasicDomainInfo;
                    if (domainInfo != null)
                    {
                        domainInfo.DomainUserPassWord = domainInfo.DomainUserPassWord.Substring(20);
                        ListDomainInfo.Add(domainInfo);
                    }
                }
                ListDomainInfo = ListDomainInfo.OrderBy(p => p.DomainCode).ToList();
                foreach (BasicDomainInfo di in ListDomainInfo)
                {
                    if (!di.IsDelete)
                    {
                        //DomainInfos dis = new DomainInfos(di);
                        Dispatcher.Invoke(new Action(() => mListDomainInfo.Add(di)));
                    }
                }
                CurrentApp.WriteLog("PageLoad", string.Format("Load Operation"));
            }
            catch (Exception ex)
            {
                CurrentApp.ShowExceptionMessage(ex.Message);
            }
        }
        private bool CheckValues()
        {
            string description = this.TexDomainDescription.Text.Trim();
            string domainName  = this.TxtDomainName.Text.Trim();
            string username    = this.TxtUserName.Text.Trim();
            string password    = this.PassBoxUserPassword.Password.Trim();

            //1.域名称不能为空,且不重复,添加的时候在wcf里面判断
            //2.域账号和密码要可以查到域里的账号
            //3.域描述不能为空
            //4.密码不能有@
            //5.不能有大写字母
            if (domainName.Trim() == string.Empty)
            {
                CurrentApp.ShowInfoMessage(CurrentApp.GetLanguageInfo("1112T004", "域名为空"));
                return(false);
            }
            if (description.Trim() == string.Empty)
            {
                CurrentApp.ShowInfoMessage(CurrentApp.GetLanguageInfo("1112T005", "域描述为空"));
                return(false);
            }
            if (password.Trim().Equals("@"))
            {
                CurrentApp.ShowInfoMessage(CurrentApp.GetLanguageInfo("1112T006", "密码不能有@字符"));
                return(false);
            }
            bool IsUsed = false;

            try
            {
                string IStrADPath = string.Format("LDAP://{0}", domainName);

                WebRequest webRequest = new WebRequest();
                webRequest.Code    = (int)S1112Codes.CheckDomainInfo;
                webRequest.Session = CurrentApp.Session;
                webRequest.ListData.Add(IStrADPath);
                webRequest.ListData.Add(username);
                webRequest.ListData.Add(password);

                Service11121Client client = new Service11121Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session),
                                                                   WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service11121"));
                WebReturn webReturn = client.DoOperation(webRequest);
                client.Close();
                if (webReturn.Result)
                {
                    IsUsed = true;
                }
                else
                {
                    CurrentApp.ShowExceptionMessage(string.Format("{0}:{1}", CurrentApp.GetLanguageInfo("1112T007", "域连接出错"), webReturn.Message));
                }
            }
            catch (Exception ex)
            {
                //域不可用
                CurrentApp.ShowExceptionMessage(CurrentApp.GetLanguageInfo("1112T007", "域连接出错"));
                //S1112App.ShowExceptionMessage(string.Format("Get Users Info From LDAP Fail:{0}", ex.Message));
                CurrentApp.WriteLog(string.Format("Get all AD users fail.\t{0}", ex.Message));
                return(false);
            }
            if (IsAdd == 1)
            {
                domainInfo = new BasicDomainInfo();
            }
            domainInfo.Description        = description;
            domainInfo.DomainName         = domainName;
            domainInfo.DomainUserName     = username;
            domainInfo.DomainUserPassWord = password;
            domainInfo.IsActiveLogin      = this.CheckDomainActiveLogin.IsChecked == true ? true : false;
            //domainInfo.IsActive = true;
            //domainInfo.IsDelete = false;
            return(IsUsed);
        }
Exemple #5
0
        private OperationReturn SaveNewDomainInfo(DataSet dataSet, SessionInfo session, BasicDomainInfo DI)
        {
            OperationReturn optReturn = new OperationReturn();

            optReturn.Result = true;
            optReturn.Code   = 0;
            try
            {
                //如果没有重名,则添加到数据库
                WebRequest webRequest = new WebRequest();
                webRequest.Session = session;
                webRequest.Code    = (int)RequestCode.WSGetSerialID;
                webRequest.ListData.Add("11");
                webRequest.ListData.Add("110");
                webRequest.ListData.Add(DateTime.Now.ToString("yyyyMMddHHmmss"));
                Service11012Client client = new Service11012Client(WebHelper.CreateBasicHttpBinding(session),
                                                                   WebHelper.CreateEndpointAddress(session.AppServerInfo, "Service11012"));
                WebReturn webReturn = client.DoOperation(webRequest);
                client.Close();
                if (!webReturn.Result)
                {
                    optReturn.Result  = false;
                    optReturn.Code    = webReturn.Code;
                    optReturn.Message = webReturn.Message;
                    return(optReturn);
                }
                string strNewID = webReturn.Data;
                if (string.IsNullOrEmpty(strNewID))
                {
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_STRING_EMPTY;
                    optReturn.Message = string.Format("New Domain ID is empty");
                    return(optReturn);
                }
                int     dex    = dataSet.Tables[0].Rows.Count;
                DataRow NewRow = dataSet.Tables[0].NewRow();
                NewRow["C001"] = strNewID;
                NewRow["C002"] = session.RentInfo.Token;
                NewRow["C003"] = EncryptToDB002(DI.DomainName.Trim());
                NewRow["C004"] = dex.ToString();
                NewRow["C005"] = EncryptToDB002(DI.DomainUserName.Trim());
                NewRow["C006"] = EncryptToDB003(string.Format("{0}@{1}", strNewID, DI.DomainUserPassWord.Trim()).Trim());
                NewRow["C007"] = null;
                NewRow["C008"] = "1";
                NewRow["C009"] = "0";
                NewRow["C010"] = DI.IsActiveLogin ? 1 : 0;
                NewRow["C011"] = session.UserID.ToString();
                NewRow["C012"] = DateTime.Now.ToUniversalTime().ToString("yyyyMMddHHmmss");
                NewRow["C999"] = DI.Description;
                dataSet.Tables[0].Rows.Add(NewRow);
                optReturn.Data = dataSet;
                return(optReturn);
            }
            catch (Exception ex)
            {
                optReturn.Result  = false;
                optReturn.Code    = 88;
                optReturn.Message = string.Format("SaveNewDomainInfo Fail:{0}", ex.Message);
                return(optReturn);
            }
        }
Exemple #6
0
        private OperationReturn GetDomainInfo(SessionInfo session, List <string> listParams)
        {
            OperationReturn optReturn = new OperationReturn();

            optReturn.Result = true;
            optReturn.Code   = 0;
            try
            {
                //ListParam
                //0      用户编号
                //if (listParams == null || listParams.Count < 1)
                //{
                //    optReturn.Result = false;
                //    optReturn.Code = Defines.RET_PARAM_INVALID;
                //    optReturn.Message = string.Format("Request param is null or count invalid");
                //    return optReturn;
                //}

                string  rentToken = session.RentInfo.Token;
                string  strSql;
                DataSet objDataSet;
                switch (session.DBType)
                {
                case 2:

                    strSql    = string.Format("SELECT * FROM T_00_012 WHERE C002={0}", rentToken);
                    optReturn = MssqlOperation.GetDataSet(session.DBConnectionString, strSql);
                    if (!optReturn.Result)
                    {
                        return(optReturn);
                    }
                    objDataSet = optReturn.Data as DataSet;

                    break;

                case 3:

                    strSql    = string.Format("SELECT * FROM T_00_012 WHERE C002={0}", rentToken);
                    optReturn = OracleOperation.GetDataSet(session.DBConnectionString, strSql);
                    if (!optReturn.Result)
                    {
                        return(optReturn);
                    }
                    objDataSet = optReturn.Data as DataSet;

                    break;

                default:
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_PARAM_INVALID;
                    optReturn.Message = string.Format("Database type not surpport.\t{0}", session.DBType);
                    return(optReturn);
                }
                if (objDataSet == null)
                {
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_OBJECT_NULL;
                    optReturn.Message = string.Format("DataSet is null");
                    return(optReturn);
                }
                List <string> listReturn = new List <string>();
                for (int i = 0; i < objDataSet.Tables[0].Rows.Count; i++)
                {
                    DataRow         dr   = objDataSet.Tables[0].Rows[i];
                    BasicDomainInfo item = new BasicDomainInfo();

                    item.RentID             = Convert.ToInt64(dr["C002"]);
                    item.DomainID           = Convert.ToInt64(dr["C001"]);
                    item.DomainName         = DecryptFromDB102(dr["C003"].ToString().Trim()).Trim();
                    item.DomainCode         = Convert.ToInt32(dr["C004"]);
                    item.DomainUserName     = DecryptFromDB102(dr["C005"].ToString().Trim()).Trim();
                    item.DomainUserPassWord = DecryptFromDB103(dr["C006"].ToString().Trim()).Trim();
                    item.RootDirectory      = dr["C007"].ToString();
                    item.IsActive           = dr["C008"].ToString() == "1";
                    item.IsActiveLogin      = dr["C010"].ToString() == "1";
                    item.IsDelete           = dr["C009"].ToString() == "1";
                    item.Creator            = Convert.ToInt64(dr["C011"].ToString());
                    item.CreatTime          = dr["C012"].ToString();
                    item.Description        = dr["C999"].ToString();

                    optReturn = XMLHelper.SeriallizeObject(item);
                    if (!optReturn.Result)
                    {
                        return(optReturn);
                    }
                    listReturn.Add(optReturn.Data.ToString());
                }

                optReturn.Data = listReturn;
            }
            catch (Exception ex)
            {
                optReturn.Result  = false;
                optReturn.Code    = Defines.RET_FAIL;
                optReturn.Message = ex.Message;
                return(optReturn);
            }
            return(optReturn);
        }
Exemple #7
0
        private OperationReturn SaveDomainInfo(SessionInfo session, List <string> listParams)
        {
            OperationReturn optReturn = new OperationReturn();

            optReturn.Result = true;
            optReturn.Code   = 0;
            string Mes = string.Empty;

            try
            {
                //ListParam
                //0      操作编号:0:删除;1:添加;2:修改
                //1      被操作的对象DomainInfo类系列化的string
                if (listParams == null || listParams.Count < 2)
                {
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_PARAM_INVALID;
                    optReturn.Message = string.Format("Request param is null or count invalid");
                    return(optReturn);
                }
                string OperationCode = listParams[0];
                optReturn = XMLHelper.DeserializeObject <BasicDomainInfo>(listParams[1]);
                BasicDomainInfo DI         = optReturn.Data as BasicDomainInfo;
                string          domainName = EncryptToDB002(DI.DomainName);
                string          rentToken  = session.RentInfo.Token;
                string          strSql     = string.Empty;
                DataSet         objDataSet;

                if (OperationCode == "1")
                {
                    switch (session.DBType)
                    {
                    //MSSQL
                    case 2:
                        using (SqlConnection connection = new SqlConnection(session.DBConnectionString))
                        {
                            DataSet dataSet = new DataSet();
                            connection.Open();
                            strSql = string.Format("SELECT * FROM T_00_012 WHERE C002 = '{0}' AND C009=0 ORDER BY C004", rentToken);
                            SqlDataAdapter sqlDA = new SqlDataAdapter(strSql, connection);
                            sqlDA.Fill(dataSet);
                            //设置主键
                            //dataSet.Tables[0].PrimaryKey = new DataColumn[] { dataSet.Tables[0].Columns[0] };
                            SqlCommandBuilder sqlCB = new SqlCommandBuilder(sqlDA);
                            sqlDA.InsertCommand = sqlCB.GetInsertCommand();
                            int drCurrent = dataSet.Tables[0].Select(string.Format("C003 = '{0}'", domainName)).Count() > 0 ? 1 : 0;

                            if (drCurrent == 0)
                            {
                                optReturn = SaveNewDomainInfo(dataSet, session, DI);
                                Mes      += "SaveNewDomainInfo ok/";
                                if (optReturn.Result)
                                {
                                    dataSet = optReturn.Data as DataSet;
                                    sqlDA.Update(dataSet);
                                    dataSet.AcceptChanges();
                                }
                            }
                            else
                            {
                                sqlDA.Dispose();
                                connection.Close();
                                //如果重名,返回报错提醒
                                optReturn.Result = false;
                                optReturn.Code   = 99;
                                return(optReturn);
                            }
                            sqlDA.Dispose();
                            connection.Close();
                        }
                        break;

                    //ORCL
                    case 3:
                        using (OracleConnection connection = new OracleConnection(session.DBConnectionString))
                        {
                            DataSet dataSet = new DataSet();
                            connection.Open();
                            strSql = string.Format("SELECT * FROM T_00_012 WHERE C002 = '{0}' AND C009=0 ORDER BY C004", rentToken);
                            OracleDataAdapter oracleDA = new OracleDataAdapter(strSql, connection);
                            oracleDA.Fill(dataSet);
                            //设置主键
                            //dataSet.Tables[0].PrimaryKey = new DataColumn[] { dataSet.Tables[0].Columns[0] };
                            OracleCommandBuilder oracleCB = new OracleCommandBuilder(oracleDA);
                            oracleDA.InsertCommand = oracleCB.GetInsertCommand();
                            int drCurrent = dataSet.Tables[0].Select(string.Format("C003='{0}'", domainName)).Count() > 0 ? 1 : 0;
                            //dataSet.Tables[0].Rows.Find(newRole.RoleID.ToString());
                            if (drCurrent == 0)
                            {
                                optReturn = SaveNewDomainInfo(dataSet, session, DI);
                                if (optReturn.Result)
                                {
                                    dataSet = optReturn.Data as DataSet;
                                    oracleDA.Update(dataSet);
                                    dataSet.AcceptChanges();
                                }
                            }
                            else
                            {
                                oracleDA.Update(dataSet);
                                dataSet.AcceptChanges();
                                //如果重名,返回报错提醒
                                optReturn.Result = false;
                                optReturn.Code   = 99;
                                return(optReturn);
                            }
                            oracleDA.Dispose();
                            connection.Close();
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (OperationCode)
                    {
                    case "0":    //删除
                        strSql = string.Format("UPDATE T_00_012 SET C009=1 WHERE C001={1} AND C002='{0}'", rentToken, DI.DomainID);
                        break;

                    case "2":    //修改
                        strSql = string.Format("UPDATE T_00_012 SET C003='{2}',C005='{3}',C006='{4}',C010='{5}',C999='{6}' WHERE C001={1} AND C002='{0}'"
                                               , rentToken, DI.DomainID
                                               , EncryptToDB002(DI.DomainName.Trim()).Trim()
                                               , EncryptToDB002(DI.DomainUserName.Trim()).Trim()
                                               , EncryptToDB003(string.Format("{0}@{1}", DI.DomainID.ToString().Trim(), DI.DomainUserPassWord.Trim())).Trim()
                                               , DI.IsActiveLogin ? 1 : 0, DI.Description);
                        break;
                    }
                    switch (session.DBType)
                    {
                    case 2:
                        optReturn = MssqlOperation.GetDataSet(session.DBConnectionString, strSql);
                        if (!optReturn.Result)
                        {
                            return(optReturn);
                        }
                        objDataSet = optReturn.Data as DataSet;

                        break;

                    case 3:
                        optReturn = OracleOperation.GetDataSet(session.DBConnectionString, strSql);
                        if (!optReturn.Result)
                        {
                            return(optReturn);
                        }
                        objDataSet = optReturn.Data as DataSet;

                        break;

                    default:
                        optReturn.Result  = false;
                        optReturn.Code    = Defines.RET_PARAM_INVALID;
                        optReturn.Message = string.Format("Database type not surpport.\t{0}", session.DBType);
                        return(optReturn);
                    }
                    if (objDataSet == null)
                    {
                        optReturn.Result  = false;
                        optReturn.Code    = Defines.RET_OBJECT_NULL;
                        optReturn.Message = string.Format("DataSet is null");
                        return(optReturn);
                    }
                }
            }
            catch (Exception ex)
            {
                optReturn.Result  = false;
                optReturn.Code    = Defines.RET_FAIL;
                optReturn.Message = ex.Message;
                return(optReturn);
            }
            return(optReturn);
        }