public static List <Model.mdlDeliveryOrderDetail> UnvalidDOProduct(List <Model.mdlDeliveryOrder> listDO) { var mdlDODetailList = new List <Model.mdlDeliveryOrderDetail>(); List <SqlParameter> sp = new List <SqlParameter>() { }; string lParam = string.Empty; foreach (var DO in listDO) { if (lParam == "") { lParam = "'" + DO.DONumber + "'"; } else { lParam += ",'" + DO.DONumber + "'"; } } lParam = "(" + lParam + ")"; DataTable dtDODetail = Manager.DataFacade.DTSQLCommand(@"select DONumber, ProductID from DeliveryOrderDetail where DONumber in " + lParam + " and ProductID not in (select ProductID from ProductUOM)", sp); foreach (DataRow row in dtDODetail.Rows) { var mdlDODetail = new Model.mdlDeliveryOrderDetail(); mdlDODetail.DONumber = row["DONumber"].ToString(); mdlDODetail.ProductID = row["ProductID"].ToString(); mdlDODetailList.Add(mdlDODetail); } return(mdlDODetailList); }
public static List <Model.mdlDeliveryOrderDetail> LoadDeliveryOrderDetail(Model.mdlParam json, List <Model.mdlDeliveryOrder> listDO) { List <SqlParameter> sp = new List <SqlParameter>(); StringBuilder sb = new StringBuilder(); int count = 1; foreach (var DO in listDO) { var sqlParameter = new SqlParameter(); sqlParameter.ParameterName = "@DoNumbers" + count.ToString(); if (DO == listDO.Last()) { sb.Append("@DoNumbers" + count.ToString()); } else { sb.Append("@DoNumbers" + count.ToString() + ","); } sqlParameter.SqlDbType = SqlDbType.NVarChar; sqlParameter.Value = DO.DONumber; sp.Add(sqlParameter); count++; } var mdlDeliveryOrderDetailList = new List <Model.mdlDeliveryOrderDetail>(); var deliveryOrder = LoadDeliveryOrder(json); //List<SqlParameter> sp = new List<SqlParameter>() //{ // new SqlParameter() {ParameterName = "@StartDate", SqlDbType = SqlDbType.DateTime, Value= DateTime.Now.Date }, // new SqlParameter() {ParameterName = "@FinishDate", SqlDbType = SqlDbType.DateTime, Value= DateTime.Now.Date.AddDays(1) }, // new SqlParameter() {ParameterName = "@EmployeeID", SqlDbType = SqlDbType.NVarChar, Value = json.EmployeeID }, // new SqlParameter() {ParameterName = "@DoNumbers", SqlDbType = SqlDbType.NVarChar, Value = DONumbers}, // new SqlParameter() {ParameterName = "@BranchID", SqlDbType = SqlDbType.NVarChar, Value = json.BranchID } //}; // DataTable dtDeliveryOrderDetailList = DataFacade.DTSQLCommand(@"SELECT DONumber, // ProductID, // UOM, // Quantity, // QuantityReal, // ProductGroup, // LotNumber, // BoxID // FROM DeliveryOrderDetail // WHERE DONumber IN ( // SELECT a.DONumber // FROM DeliveryOrder a // INNER JOIN ( // SELECT * FROM CallPlanDetail // WHERE CallPlanID IN ( // SELECT CallPlanID FROM CallPlan // WHERE EmployeeID = @EmployeeID AND BranchID = @BranchID AND IsFinish = 0 AND Date >= @StartDate // ) // ) b ON b.CustomerID = a.CustomerID // WHERE EmployeeID = @EmployeeID AND BranchID = @BranchID AND DODate >= @StartDate AND DOStatus = 'Shipper' // )", sp); DataTable dtDeliveryOrderDetailList = DataFacade.DTSQLCommand(@"SELECT DONumber, ProductID, UOM, Quantity, QuantityReal, ProductGroup, LotNumber, BoxID, Line FROM DeliveryOrderDetail WHERE DONumber IN (" + sb.ToString() + ") AND Quantity != 0", sp); foreach (DataRow row in dtDeliveryOrderDetailList.Rows) { var mdlDeliveryOrderDetail = new Model.mdlDeliveryOrderDetail(); mdlDeliveryOrderDetail.DONumber = row["DONumber"].ToString(); mdlDeliveryOrderDetail.ProductID = row["ProductID"].ToString(); mdlDeliveryOrderDetail.UOM = row["UOM"].ToString(); mdlDeliveryOrderDetail.Quantity = row["Quantity"].ToString(); mdlDeliveryOrderDetail.QuantityReal = row["QuantityReal"].ToString(); mdlDeliveryOrderDetail.ProductGroup = row["ProductGroup"].ToString(); mdlDeliveryOrderDetail.LotNumber = row["LotNumber"].ToString(); mdlDeliveryOrderDetail.BoxID = row["BoxID"].ToString(); mdlDeliveryOrderDetail.Line = row["Line"].ToString(); mdlDeliveryOrderDetailList.Add(mdlDeliveryOrderDetail); } return(mdlDeliveryOrderDetailList); }