using System; using System.Collections.Generic; using System.Text; using Model; using Common; using System.Data; using Commom.Utility; namespace BLL { public class DALCheckDetail :IDALCheckDetail { public IList GetList(string CDNo) { try { IList ls = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("Select *,Unit as UnitFrist from CheckDataDetail where IsDel = 0 "); if (!string.IsNullOrEmpty(CDNo)) { strSql.Append("and CDNo = " + CDNo.AddQuotes()); } SqlParam[] param = null; IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql, param); ls = ModelConvertHelper.DataReaderToModel(dt); return ls; } catch { throw new NotImplementedException(); } } public bool Add(List EMats) { bool result = false; try { //IList ls = new List(); List para = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append(" Insert into Log_Check_Detail ( CDNo,MatNo,MatName,PackFormat,UnitFrist,Batch,Palno,Quant,Addre,Demo ) values "); for (int i = 0; i < EMats.Count; i++) { strSql.Append("(@CDNo" + i + ","); para.Add(new SqlParam("@CDNo" + i, EMats[i].CDNo)); strSql.Append("@MatNo" + i + ","); para.Add(new SqlParam("@MatNo" + i, EMats[i].MatNo)); strSql.Append("@MatName" + i + ","); para.Add(new SqlParam("@MatName" + i, EMats[i].MatName)); strSql.Append("@PackFormat" + i + ","); para.Add(new SqlParam("@PackFormat" + i, EMats[i].PackFormat)); strSql.Append("@UnitFrist" + i + ","); para.Add(new SqlParam("@UnitFrist" + i, EMats[i].UnitFrist)); strSql.Append("@Batch" + i + ","); para.Add(new SqlParam("@Batch" + i, EMats[i].Batch)); strSql.Append("@Palno" + i + ","); para.Add(new SqlParam("@Palno" + i, EMats[i].Palno)); strSql.Append("@Quant" + i + ","); para.Add(new SqlParam("@Quant" + i, EMats[i].Quant)); strSql.Append("@Addre" + i + ","); para.Add(new SqlParam("@Addre" + i, EMats[i].Addre)); strSql.Append("@Demo" + i + "),"); para.Add(new SqlParam("@Demo" + i, EMats[i].Demo)); } SqlParam[] param = null; if (para != null) { strSql.Remove(strSql.Length - 1, 1); param = para.ToArray(); } int dt = DataFactory.SqlDataBase().ExecuteBySql(strSql, param); if (EMats.Count == dt) result = true; return result; } catch { return result; } } public bool Update(List model) { bool result = false; try { if (!this.Delete(model)) return false; if (!this.Add(model)) return false; return true; } catch { return result; } } public bool IsExist(string name, string value) { bool result = false; try { string[] para = new string[] { value }; int dt = DataFactory.SqlDataBase().IsExist("Roles", name, para); if (dt > 0) result = true; return result; } catch { return result; } } public bool Delete(List EMats) { bool result = false; try { List para = new List(); StringBuilder strSql = new StringBuilder(); StringBuilder sp1 = new StringBuilder(); StringBuilder sp2 = new StringBuilder(); strSql.Append(" DELETE FROM Log_Check_Detail where " ); int i; sp1.Append(" CDNo = "); sp2.Append(" CDNo in ( "); for ( i= 0; i < EMats.Count; i++) { if (i == 0) { sp1.Append(" @OrdNo "); para.Add(new SqlParam("@CDNo", EMats[i].CDNo)); } sp2.Append("@MatNo" + i + ","); para.Add(new SqlParam("@MatNo" + i, EMats[i].MatNo)); } if (i > 0) { sp1.Append(" and "); sp2.Append(" )"); strSql.Append(sp1); ; strSql.Append(sp2.Remove(sp2.Length - 3, 1)); SqlParam[] param = null; param = para.ToArray(); int dt = DataFactory.SqlDataBase().ExecuteBySql(strSql, param); if (EMats.Count == dt ) result = true; } return result; } catch { return result; } } } }