using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL.Inquiry;
|
using System.Transactions;
|
using CY.Model;
|
using System.Data.SqlClient;
|
using System.Data;
|
|
namespace CY.SQLDAL
|
{
|
public class ColorCostDAL : IColorCostDAL
|
{
|
private Database _dataBase = null;
|
public ColorCostDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
public IList<Model.Inquiry_ColorCost> GetModelList(Guid inquiryId, int printingTyId)
|
{
|
string selectTarget = @" a.ColorName,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=64
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price64,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=48
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price48,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=32
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price32,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=16
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price16,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=8
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price8 ";
|
selectTarget = string.Format(selectTarget, inquiryId.ToString(),printingTyId);
|
string fromSouce = " Inquiry_ColorCost a ";
|
string condition = " a.FirmId='" + inquiryId.ToString() + "' and a.PrintTypeId=" + printingTyId+" GROUP BY a.ColorName";
|
IList<Model.Inquiry_ColorCost> result = _dataBase.SelectModel<Model.Inquiry_ColorCost>(selectTarget, fromSouce, condition);
|
return result;
|
}
|
|
public IList<Inquiry_ColorCost> GetModelListByCup(Guid inquiryId, int printingTyId)
|
{
|
string selectTarget = @" a.ColorName,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=8
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
|
) AS Price8,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=9
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
|
) AS Price9,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=10
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
|
) AS Price10,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=11
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price11,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=12
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price12,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=13
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price13,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=14
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price14,
|
(
|
SELECT MAX(b.Price) FROM Inquiry_ColorCost b WHERE b.ColorName=a.ColorName AND b.sizeValue=15
|
and b.FirmId='{0}' and b.PrintTypeId='{1}'
|
) AS Price15
|
";
|
selectTarget = string.Format(selectTarget, inquiryId.ToString(),printingTyId);
|
|
string fromSouce = " Inquiry_ColorCost a ";
|
string condition = " a.FirmId='" + inquiryId.ToString() + "' and a.PrintTypeId=" + printingTyId + " GROUP BY a.ColorName";
|
IList<Model.Inquiry_ColorCost> result = _dataBase.SelectModel<Model.Inquiry_ColorCost>(selectTarget, fromSouce, condition);
|
return result;
|
}
|
|
public bool SaveModelList(IList<Model.Inquiry_ColorCost> list, Model.Inquiry.InquiryCondition inquiryCondition, int printingTyId)
|
{
|
bool isSuccess = true;
|
using (TransactionScope scope = new TransactionScope())
|
{
|
//执行复制全部询价参数数据
|
if (inquiryCondition.IsFirstSave())
|
{
|
new CommonInquiryHelper(_dataBase).CopyALLInquiryParameter(inquiryCondition);
|
}
|
|
foreach (Inquiry_ColorCost model in list)
|
{
|
isSuccess = UpdateModel(model);
|
if (!isSuccess)
|
break;
|
}
|
if (isSuccess)
|
scope.Complete();
|
}
|
return isSuccess;
|
}
|
|
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
throw new NotImplementedException();
|
}
|
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.Inquiry_ColorCost trueModel = model as Model.Inquiry_ColorCost;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
SqlParameter[] parameters = {
|
new SqlParameter("@FirmId", SqlDbType.UniqueIdentifier,16),
|
new SqlParameter("@ColorName", SqlDbType.VarChar,20),
|
new SqlParameter("@SizeValue", SqlDbType.Int,4),
|
new SqlParameter("@Price", SqlDbType.Money,8),
|
new SqlParameter("@Operater", SqlDbType.VarChar,20),
|
new SqlParameter("@LastUpdateTime", SqlDbType.DateTime),
|
new SqlParameter("@PrintTypeId", SqlDbType.Int,4)
|
};
|
parameters[0].Value = trueModel.FirmId;
|
parameters[1].Value = trueModel.ColorName;
|
parameters[2].Value = trueModel.SizeValue;
|
parameters[3].Value = trueModel.Price;
|
parameters[4].Value = trueModel.Operater;
|
parameters[5].Value = trueModel.LastUpdateTime;
|
parameters[6].Value = trueModel.PrintTypeId;
|
try
|
{
|
_dataBase.Query("Inquiry_ColorCost_Update", CommandType.StoredProcedure, parameters);
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
throw new NotImplementedException();
|
}
|
|
|
public Inquiry_ColorCost GetModel(Guid inquiryId, int printingTyId, string colorName, int sizeValue)
|
{
|
string selectTarget = " * ";
|
string fromSouce = " Inquiry_ColorCost ";
|
string condition = " FirmId='" + inquiryId.ToString() + "' and colorName='" + colorName + "' and sizeValue='" + sizeValue + "' and PrintTypeId=" + printingTyId;
|
IList<Model.Inquiry_ColorCost> result = _dataBase.SelectModel<Model.Inquiry_ColorCost>(selectTarget, fromSouce, condition);
|
if (result != null && result.Count > 0)
|
{
|
return result[0];
|
}
|
else
|
{
|
return null;
|
}
|
}
|
|
|
|
}
|
}
|