using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Models;
using System.Data;
using System.Data.SqlClient;
using System.Security.Cryptography;
using System.Web.UI.WebControls;
namespace DAL
{
///
/// 签证数据访问类
///
public class VisaService
{
///
/// 查询所有
///
/// sql语句
/// 可变参数数组
/// 返回集合
List excuteSql(string sql, params SqlParameter[] param)
{
return ServiceBase.excuteSql(new Visa(), "Visa", sql, CommandType.Text, param);
}
///
/// 获取单个对象
///
/// sql语句
/// 可变参数数组
/// 返回空或者单个对象
Visa excuteType(string sql, params SqlParameter[] param)
{
//查询结果放入对象集合
List vList = excuteSql(sql, param);
//判断集合是否为空
if (vList == null || vList.Count == 0)
//返回null
return null;
//返回单个对象
return vList[0];
}
///
/// 根据编号查询对象信息
///
/// 对象编号
/// 返回空或者单个对象信息
public Visa GetVisaByID(int id)
{
//调用获取单个对象的方法
return excuteType("select * from Visa where Id = @id and isdel=0", new SqlParameter("@id", id));
}
///
/// 查询团组签证费用
/// 20210916 贾文滔
///
///
///
public List GetVisaByDIID(int diid)
{
//调用获取单个对象的方法
return excuteSql("select * from Visa where DIId = @Diid and isdel=0", new SqlParameter("@Diid", diid));
}
///
/// 查询团组签证费用
/// 20210916 贾文滔
///
///
///
public List GetVisaByDIIDAndUserId(int diid,int UserId)
{
//调用获取单个对象的方法
return excuteSql("select * from Visa where DIId = @Diid and Operator="+UserId+" and isdel=0", new SqlParameter("@Diid", diid));
}
///
/// 获取全部 - 分页
///
///
public List GetVisa(int pageIndex, out int sumPage, out int totalRecord, string tourCode, string visaClient, string arrayUsersId)
{
string sqlwhere = "IsDel = 0 and DIId = '" + tourCode + "' and VisaClient like '%" + visaClient + "%' and Operator in (" + arrayUsersId + ")";
return PageBase.excutePageSql(new Visa(), "Visa", "Visa", "*", "id desc", sqlwhere, 10, pageIndex, out sumPage, out totalRecord);
}
///
/// 增加
///
///
public bool AddVisa(Visa v, out int id)
{
string sql = "insert into Visa values(@DIId,@VisaClient,@VisaPrice,@VisaCurrency,@IsThird,@VisaAttachment,@Remark,@Operator,@OperatorDate," +
"@IsDel,@PassengerType,@VisaNumber,@VisaFreeNumber);SELECT @@IDENTITY";
SqlParameter[] parameter = new SqlParameter[]{
new SqlParameter("@DIId",v.DIId),
new SqlParameter("@VisaClient",v.VisaClient),
new SqlParameter("@VisaPrice",v.VisaPrice),
new SqlParameter("@VisaCurrency",v.VisaCurrency),
new SqlParameter("@IsThird",v.IsThird),
new SqlParameter("@VisaAttachment",v.VisaAttachment),
new SqlParameter("@Remark",v.Remark),
new SqlParameter("@Operator",v.Operators),
new SqlParameter("@OperatorDate",v.OperatorsDate),
new SqlParameter("@IsDel",v.IsDel),
new SqlParameter("@PassengerType",v.PassengerType),
new SqlParameter("@VisaNumber",v.VisaNumber),
new SqlParameter("@VisaFreeNumber",v.VisaFreeNumber),
};
int obj = Convert.ToInt32(SqlHelper.ExecuteScalar(sql, CommandType.Text, parameter));
if (obj > 0)
{
id = obj;
return true;
}
id = 0;
return false;
}
///
/// 编辑
///
///
public bool EditVisa(Visa v)
{
string sql = "update Visa set DIId = @DIId,VisaClient = @VisaClient,VisaPrice = @VisaPrice,VisaCurrency = @VisaCurrency,"
+"IsThird=@IsThird,VisaAttachment = @VisaAttachment,Remark = @Remark,"
+ "Operator = @Operator,OperatorDate = @OperatorDate,PassengerType=@PassengerType,VisaNumber=@VisaNumber,VisaFreeNumber=@VisaFreeNumber" +
" where Id = @Id";
SqlParameter[] parameter = new SqlParameter[]{
new SqlParameter("@DIId",v.DIId),
new SqlParameter("@VisaClient",v.VisaClient),
new SqlParameter("@VisaPrice",v.VisaPrice),
new SqlParameter("@VisaCurrency",v.VisaCurrency),
new SqlParameter("@IsThird",v.IsThird),
new SqlParameter("@VisaAttachment",v.VisaAttachment),
new SqlParameter("@Remark",v.Remark),
new SqlParameter("@Operator",v.Operators),
new SqlParameter("@OperatorDate",v.OperatorsDate),
new SqlParameter("@Id",v.Id),
new SqlParameter("@PassengerType",v.PassengerType),
new SqlParameter("@VisaNumber",v.VisaNumber),
new SqlParameter("@VisaFreeNumber",v.VisaFreeNumber),
};
if (SqlHelper.ExecuteNonQuery(sql, CommandType.Text, parameter) > 0)
return true;
return false;
}
///
/// 删除
///
///
///
public bool DelVisa(int id)
{
if (SqlHelper.ExecuteNonQuery("update Visa set IsDel = 1 where Id = @Id", CommandType.Text, new SqlParameter("@Id", id)) > 0)
return true;
return false;
}
///
/// LiuChengYi 2014/5/9
/// 用作微信平台上签证进图查询
///
///
///
public DataTable VisasProgress(string tourCode)
{
SqlParameter[] pars =
{
new SqlParameter("@tourCode",tourCode)
};
return SqlHelper.TransferProcedure("VisasProgress_Weixin", CommandType.StoredProcedure, pars);
}
}
}