etl业务验证方法1
/* Copyright (c) 2015 Xiamen Weixin Software Co., Ltd. All rights reserved
*
* Create by huanglc@holworth.com at 2015-04-23 21:52:45
*
*/
using System;
using System.Text;
using System.Collections.Generic;
using Contract.IService;
using Framework;
using System.Collections;
using Contract.Domain;
using BaseService;
using System.Linq;
namespace ETLBLL
{
public class EtlCheckMethodService : BaseService.EntityService<Contract.Domain.EtlCheckMethod>, IEtlCheckMethodService
{
/// <summary>
/// 检验是否>=0
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <returns></returns>
public object[] GEZero(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
if (string.IsNullOrEmpty(obj))
{
returnObject[0] = false;
returnObject[1] = "不能空";
returnObject[2] = 0;
}
else
{
decimal a = 0;
if (decimal.TryParse(obj, out a))
{
if (a >= 0)
{
returnObject[0] = true;
returnObject[1] = "";
returnObject[2] = a;
}
else
{
returnObject[0] = false;
returnObject[1] = "小于0";
}
}
else
{
returnObject[0] = false;
returnObject[1] = "不是数值";
}
}
return returnObject;
}
/// <summary>
/// 检验日期
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <returns></returns>
public object[] CheckDateTime(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
if (string.IsNullOrEmpty(obj))
{
returnObject[0] = true;
returnObject[2] = null;
}
else
{
DateTime a = DateTime.Now;
if (DateTime.TryParse(obj, out a))
{
returnObject[0] = true;
returnObject[2] = a;
}
else
{
returnObject[0] = false;
returnObject[1] = "不是为日期类型";
}
}
return returnObject;
}
/// <summary>
/// 检验数值
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <returns></returns>
public object[] CheckNumber(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
if (string.IsNullOrEmpty(obj))
{
returnObject[0] = true;
returnObject[1] = "";
returnObject[2] = 0;
}
else
{
decimal a = 0;
if (decimal.TryParse(obj, out a))
{
returnObject[0] = true;
returnObject[2] = a;
}
else
{
returnObject[0] = false;
returnObject[1] = "不是为数值类型";
}
}
return returnObject;
}
public object[] CheckNull(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
returnObject[0] = !string.IsNullOrEmpty(obj);
returnObject[2] = obj;
if (string.IsNullOrEmpty(obj))
{
returnObject[1] = "不能空";
}
return returnObject;
}
/// <summary>
/// 验证范围
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <returns></returns>
public object[] CheckRange(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
returnObject[2] = obj;
if (string.IsNullOrEmpty(obj))
{
returnObject[1] = "不能空";
returnObject[0] = false;
}
else
{
if (obj.CompareTo(column.ExtendParameter) >= 0 && obj.CompareTo(column.ExtendParameter2) <= 0)
{
returnObject[0] = true;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("值不在{0}和{1}之间", column.ExtendParameter, column.ExtendParameter2);
}
}
return returnObject;
}
public string getColumnPosition(EtlColumn c1)
{
string col1 = string.Empty;
if (c1.MapIndex <= 90)
{
col1 = ((char)(c1.MapIndex.Value + 65)).ToString();
}
else
{
col1 = "A" + ((char)(c1.MapIndex.Value + 65 - 26)).ToString();
}
return col1;
}
/// <summary>
/// 通用验证数值范围的方法
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <param name="etlDataMap"></param>
/// <returns></returns>
public object[] CheckGennericNumber(string obj, System.Data.DataTable table, System.Data.DataRow row,
EtlCheckMethod column, EtlDataMap etlDataMap)
{
//a>b
object[] returnObject = new object[] { };
string para1 = column.ExtendParameter;
string para2 = column.ExtendParameter2;
string para3 = column.ExtendParameter3;
string[] ops = new[] { ">", "<", "=", "!=", ">=", "<=" };
if (ops.Contains(para2))
{
if (para2 == ">")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!double.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!double.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) > 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}小于等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "<")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) < 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}大于等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!double.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!double.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) == 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}不等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "!=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!double.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) > 0 || a.CompareTo(b) < 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == ">=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!double.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!double.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) >= 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}小于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "<=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
double a = 0;
if (!double.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为数值类型";
returnObject[0] = false;
return returnObject;
}
double b = 0;
if (!double.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为数值类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) <= 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}大于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
}
return null;
}
/// <summary>
/// 验证日期在某两个范围日期之间
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <param name="etlDataMap"></param>
/// <returns></returns>
public object[] CheckGennericDateRange(string obj, System.Data.DataTable table, System.Data.DataRow row,
EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[]{};
string para1 = column.ExtendParameter;
string para2 = column.ExtendParameter2;
DateTime a = DateTime.Now;
if (!DateTime.TryParse(obj, out a))
{
returnObject[0] = false;
returnObject[1] = "不是日期类型";
return returnObject;
}
DateTime v1 = DateTime.Now;
; if (!DateTime.TryParse(column.ExtendParameter, out v1))
{
returnObject[0] = false;
returnObject[1] = "第一个扩展参数不是日期类型";
return returnObject;
}
DateTime v2 = DateTime.Now;
; if (!DateTime.TryParse(column.ExtendParameter2, out v2))
{
returnObject[0] = false;
returnObject[1] = "二个扩展参数不是日期类型";
return returnObject;
}
if (a.CompareTo(v1) >= 0 && a.CompareTo(v2) <= 0)
{
returnObject[0] = true;
returnObject[2] = a;
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("当前日期的范围不在{0}和{1}之间",v1,v2);
return returnObject;
}
return null;
}
/// <summary>
/// 通用验证日期范围法
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <param name="etlDataMap"></param>
/// <returns></returns>
public object[] CheckGennericDate(string obj, System.Data.DataTable table, System.Data.DataRow row,
EtlCheckMethod column, EtlDataMap etlDataMap)
{
//a>b
object[] returnObject=new object[]{};
string para1 = column.ExtendParameter;
string para2 = column.ExtendParameter2;
string para3 = column.ExtendParameter3;
string[] ops = new[] {">", "<", "=", "!=", ">=", "<="};
if (ops.Contains(para2))
{
if (para2 == ">")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) > 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}小于等于{2}",colPostion,c1.MapColumn,column.ExtendParameter3);
return returnObject;
}
}else if (para2 == "<")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) < 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}大于等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) ==0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}不等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "!=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) > 0||a.CompareTo(b)<0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}等于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == ">=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) >= 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}小于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
else if (para2 == "<=")
{
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
string colPostion = getColumnPosition(c1);
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime b = DateTime.Now;
if (!DateTime.TryParse(column.ExtendParameter3, out b))
{
returnObject[1] = "column.ExtendParameter3不是为日期类型";
returnObject[0] = false;
return returnObject;
}
if (a.CompareTo(b) <= 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
return returnObject;
}
else
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}列名为{1}大于{2}", colPostion, c1.MapColumn, column.ExtendParameter3);
return returnObject;
}
}
}
return null;
}
/// <summary>
/// 验证某个列日期不能大于某列
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <param name="etlDataMap"></param>
/// <returns></returns>
public object[] CheckRangeDateTimeColumn(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column,EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
string errorColumn = string.Empty;
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}",column.ExtendParameter));
}
if (etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter2)).Count() <= 0)
{
throw new Exception(string.Format("不存在映射列{0}", column.ExtendParameter2));
}
var c1 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter)).First();
var c2 = etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter2)).First();
DateTime a = DateTime.Now;
if (!DateTime.TryParse(row[c1.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime v1 = a;
if (!DateTime.TryParse(row[c2.MapIndex.Value].ToString(), out a))
{
returnObject[1] = "不是为日期类型";
returnObject[0] = false;
return returnObject;
}
DateTime v2 = a;
if (v1.CompareTo(v2) <= 0)
{
returnObject[0] = true;
returnObject[2] = DateTime.Parse(obj);
}
else
{
returnObject[0] = false;
string col1 = string.Empty;
string col2 = string.Empty;
if (c1.MapIndex <= 90)
{
col1 = ((char)(c1.MapIndex.Value + 65)).ToString();
}
else
{
col1 = "A" + ((char)(c1.MapIndex.Value + 65 - 26)).ToString();
}
if (c2.MapIndex <= 90)
{
col2 = ((char)(c2.MapIndex.Value + 65)).ToString();
}
else
{
col2 = "A" + ((char)(c2.MapIndex.Value + 65 - 26)).ToString();
}
returnObject[1] = string.Format("{0}大于{1}",col1,col2);
}
return returnObject;
}
/// <summary>
/// 判断列不能同时存在
/// </summary>
/// <param name="obj"></param>
/// <param name="table"></param>
/// <param name="row"></param>
/// <param name="column"></param>
/// <param name="etlDataMap"></param>
/// <returns></returns>
public object[] CheckColumnSimpleExist(string obj, System.Data.DataTable table, System.Data.DataRow row, EtlCheckMethod column, EtlDataMap etlDataMap)
{
object[] returnObject = new object[3];
int i= etlDataMap.ColumnList.Where(m => m.MapColumn.Equals(column.ExtendParameter) || m.MapColumn.Equals(column.ExtendParameter2)).Count();
if (i == 0)
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}、{1}必须存在一列", column.ExtendParameter, column.ExtendParameter2);
}
else if (i > 1)
{
returnObject[0] = false;
returnObject[1] = string.Format("{0}、{1}不能同时存在", column.ExtendParameter, column.ExtendParameter2);
}
else
{
returnObject[0] = true;
returnObject[2] = obj;
}
return returnObject;
}
}
}
etl业务验证方法1的更多相关文章
- 自定义shiro实现权限验证方法isAccessAllowed
由于Shiro filterChainDefinitions中 roles默认是and, admin= user,roles[system,general] 比如:roles[system,gener ...
- ApachShiro 一个系统 两套验证方法-(后台管理员登录、前台App用户登录)同一接口实现、源码分析
需求: 在公司新的系统里面博主我使用的是ApachShiro 作为安全框架.作为后端的鉴权以及登录.分配权限等操作 管理员的信息都是存储在管理员表 前台App 用户也需要校验用户名和密码进行登录.但是 ...
- 基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...
- validate插件深入学习-04自定义验证方法
自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
基于 Annotation 拦截的 Spring AOP 权限验证方法 转自:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilte ...
- MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- 封装jQuery Validate扩展验证方法
一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...
- 一种M2M业务的架构及实现M2M业务的方法
http://www.cnblogs.com/coryxie/p/3849764.html 技术领域 [0001] 本发明涉及通信技术领域,尤其涉及一种M2M业务的架构及实现M2M业务的方法. 背景技 ...
- jquery validate 自定义验证方法
query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法 ...
随机推荐
- 小数第n位
问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数. 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式. 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始 ...
- prisma graphql 工具基本使用
项目使用docker-compose mysql 运行 安装 npm insatll -g prisma or yarn global add prisma 创建代码 项目结构 ├── README. ...
- 【转】vim环境设置和自动对齐
原文网址:http://blog.chinaunix.net/uid-23525659-id-4340245.html 注:如果是用vim编写代码,建议开启vim的文件类型自动检测功能,这样编写代码换 ...
- winodws同步时间命令
首先,你应该判断你的两台域控制器,哪一台担任PDC角色(默认的域内权威的时间服务源). 判断方法很简单,单击“开始”,单击“运行”,键入dsa.msc,然后点确定.这时会打开“Active Direc ...
- 用原生 JS 实现双向绑定及应用实例
写在前面: 所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更也能实时展现到界面.angular封装了双向绑定的方法,使双向绑定变得十分简单.但是在有些场景下(比如下面那个场景),不能使用 ...
- windows server 2008 HPC Edtion激活教程
KMS激活指南 本服务器根据俄罗斯KMS服务器VMWARE架设,不受时间限制 KMS激活支持的Windows版本:Windows 2008, Windows 2008 R2 全系列产品Vista, W ...
- 【python】 Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
刚在机器上windows环境下装上pip方便以后安装包的时候使用,谁知道第一次使用pip安装asyncio的时候就报错. 在Windows7x64下使用pip安装包的时候提示报错:Microsoft ...
- PDB文件:每个开发人员都必须知道的 PDB Files
PDB文件:每个开发人员都必须知道的 PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jro ...
- 事务的ACID和四个隔离级别
在实际的业务场景中,并发读写引出了和事务控制的需求.优秀的事务处理能力是关系型数据库(特别是oracle等商用RDBMS)相对于正当风口的NoSQL数据库的一大亮点.但这也从另一方面说明了事务控制的复 ...
- 关于lazyload图片延迟加载简单介绍
LazyLoad大家再熟悉不过的一个jquery插件了,它可以延迟加载长页面中的图片. 也就是说在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才会加载并显示出来,这和图片预加载 ...