Пример #1
0
        /// <summary>
        /// 将当前网站对应的代理ip设置为不可用
        /// </summary>
        /// <param name="webId"></param>
        /// <param name="ip"></param>
        public static void SetNotEffectiveProxyIp(int webId, string ip, DataClass _dc = null)
        {
            if (!string.IsNullOrEmpty(ip))
            {
                DataClass dc = new DataClass(_dc);

                string sql = new StringBuilder().Append("select top 1 * from SysData_WebJoinProxyIp with(nolock) where WebId=")
                             .Append(webId).Append(" and ProxyIp in (select ID from SysData_ProxyIp with(nolock) where Ip='").Append(ip).Append("')").ToString();
                SysData_WebJoinProxyIp obj = dc.DB.ExecuteQuery <SysData_WebJoinProxyIp>(sql).FirstOrDefault();
                if (obj == null)
                {
                    SysData_ProxyIp ipObj = GetProxyIpByIp(ip, dc);
                    if (ipObj != null)
                    {
                        obj = new SysData_WebJoinProxyIp {
                            WebId = webId, ProxyIp = ipObj.ID, CreateTime = DateTime.Now, Status = WebProxyIpStatus2
                        };
                        obj = WebJoinProxyIpManager.Insert(obj, dc);
                    }
                }
                else
                {
                    obj.Status = WebProxyIpStatus2;
                    WebJoinProxyIpManager.Update(obj, dc);
                }
                //dc.DB.SubmitChanges();
                dc.Connection_Close();
                dc.Dispose();
            }
        }
Пример #2
0
        public static SysData_WebJoinProxyIp Update(SysData_WebJoinProxyIp obj, DataClass _db = null)
        {
            DataClass db = new DataClass(_db);

            if (obj != null)
            {
                db.DB.SysData_WebJoinProxyIp_Update(obj.WebId, obj.ProxyIp, obj.Status, obj.CreateTime, obj.ID);
            }
            return(obj);
        }
Пример #3
0
        public static SysData_WebJoinProxyIp Insert(SysData_WebJoinProxyIp obj, DataClass _db = null)
        {
            DataClass db = new DataClass(_db);

            if (obj != null)
            {
                long nowID = 0;
                db.DB.SysData_WebJoinProxyIp_Insert(obj.WebId, obj.ProxyIp, obj.Status, obj.CreateTime, out nowID);
                obj.ID = nowID;
            }
            return(obj);
        }
Пример #4
0
        /// <summary>
        /// 给网站插入代理IP(如果ip在ip表里存在则读取后插入到网站ip表,否则新增ip)
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="ipArea">ip所在地区,比如:广东省广州市电信</param>
        /// <param name="webIds"></param>
        /// <param name="addList">新增成功的网站代理ip信息</param>
        /// <param name="message"></param>
        /// <param name="_dc"></param>
        /// <returns></returns>
        public static int InsertWebJoinProxyIp(string ip, string ipArea, int[] webIds, out List <SysData_WebJoinProxyIp> addList, out string message, DataClass _dc = null)
        {
            message = "";
            addList = new List <SysData_WebJoinProxyIp>();
            if (string.IsNullOrEmpty(ip) || webIds == null || webIds.Length < 1)
            {
                message = "请输入ip和网站";
                return(0);
            }
            DataClass dc = new DataClass(_dc);

            try
            {
                SysData_ProxyIp ipObj  = null;
                int             result = ProxyIpManager.InsertProxyIp(ip, ipArea, out ipObj, out message, _dc: dc);
                if (ipObj == null)
                {
                    dc.Connection_Close();
                    dc.Dispose();
                    message = "ip不能为空";
                    return(0);
                }
                List <SysData_WebJoinProxyIp> list = dc.DB.SysData_WebJoinProxyIp.Where(tbl => tbl.ProxyIp == ipObj.ID && webIds.Contains(tbl.WebId)).ToList();
                if (list.Count == webIds.Length)
                {
                    dc.Connection_Close();
                    dc.Dispose();
                    message = "此网站代理IP已存在";
                    return(0);
                }
                foreach (int webId in webIds)
                {
                    if (list.Where(p => p.WebId == webId).FirstOrDefault() == null)
                    {
                        SysData_WebJoinProxyIp wipObj = new SysData_WebJoinProxyIp();
                        wipObj.ProxyIp    = ipObj.ID;
                        wipObj.WebId      = webId;
                        wipObj.Status     = ProxyIpManager.WebProxyIpStatus1;
                        wipObj.CreateTime = DateTime.Now;
                        addList.Add(wipObj);
                    }
                }
                if (addList != null && addList.Count > 0)
                {
                    dc.DB.SysData_WebJoinProxyIp.InsertAllOnSubmit <SysData_WebJoinProxyIp>(addList);
                    dc.DB.SubmitChanges();
                }
                dc.Connection_Close();
                dc.Dispose();
            }
            catch (Exception ex)
            {
                dc.Connection_Close();
                dc.Dispose();
                message = "系统异常";
                log.Error(string.Format("(插入网站代理ip失败)InsertWebJoinProxyIp(string ip={0}, int[] webIds={1},out string message, DataClass _dc = null)"
                                        , ip == null ? "null" : null, webIds == null ? 0 : webIds.Length),
                          ex
                          );
                return(0);
            }
            return(1);
        }