Ejemplo n.º 1
0
        public static bool IsValidSetting(FilterSetting filterSetting)
        {
            // 檢查目標網址(不允許NULL)
            if (filterSetting.CrawlUrl == null ||
                filterSetting.CrawlUrl.Length > limitLenOfUrl ||
                !filterSetting.CrawlUrl.StartsWith(TargetUrlHead))
            {
                return(false);
            }

            // 薪資範圍必須為5~6位數
            if (filterSetting.MinimumWage < 10000 || filterSetting.MaximumWage > 999999)
            {
                return(false);
            }

            // 最高月薪必須大於最低月薪
            if (filterSetting.MaximumWage < filterSetting.MinimumWage)
            {
                return(false);
            }

            // 檢查欲排除的關鍵字
            if (!IsValidString(filterSetting.ExcludeWord, limitLenOfExcludeWord))
            {
                return(false);
            }

            // 檢查欲排除的公司名稱
            if (!IsValidString(filterSetting.IgnoreCompany, limitLenOfIgnoreCompany))
            {
                return(false);
            }

            // 檢查備註
            if (!IsValidString(filterSetting.Remarks, limitLenOfRemark))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        public static string CreateSetting(ApplicationDbContext _context, FilterSetting filterSetting, string UserEmail)
        {
            // 查看設定檔的數量是否已達上限
            List <FilterSetting> filterSettings = _context.FilterSetting.Where(m => m.UserEmail == UserEmail).ToList();

            if (filterSettings.Count > 2)
            {
                return("建立失敗,您的設定數量已達上限!");
            }

            // 在後端進行表單驗證
            if (!IsValidSetting(filterSetting))
            {
                return("系統忙碌中,請稍後再試 >___<");
            }

            // 若通過驗證則創建表單
            filterSetting.UserEmail = UserEmail;
            _context.Add(filterSetting);
            return(null);
        }
Ejemplo n.º 3
0
        public static string DeleteSetting(ApplicationDbContext _context, string UserEmail, int?id)
        {
            if (id == null)
            {
                return("系統忙碌中,請稍後再試 >___<");
            }

            FilterSetting TargetSetting = _context.FilterSetting.FirstOrDefault(m => m.Id == id);

            if (TargetSetting == null)
            {
                return("系統忙碌中,請稍後再試 >___<");
            }

            // 令管理員以外的用戶只能刪除自己的設定
            if (!UserService.InAdminGroup(UserEmail) && TargetSetting.UserEmail != UserEmail)
            {
                return("系統忙碌中,請稍後再試 >___<");
            }

            _context.FilterSetting.Remove(TargetSetting);
            return(null);
        }