private void BindRequestDetails() { int pageCount; int itemCount; List <View_StocktakeDetails> details; if (RequestID == null)//create { itemCount = RequestedDetails.Count(); pagerRequestParts.TotalRecord = itemCount; int pageSize = pagerRequestParts.PageSize; int pageNumber = pagerRequestParts.CurrentPage; var qry = RequestedDetails.AsQueryable().OrderBy(d => d.PartCode); details = SGM.Common.Utility.Utils.GetQueryByPage(qry, pageSize, pageNumber, out pageCount, out itemCount).ToList(); } else { View_StocktakeDetails condition = new View_StocktakeDetails { RequestID = RequestID.Value }; string cacheKey = string.Empty; details = Service.QueryRequestDetailsByPage(condition, RemovedDetails, RequestedDetails, null, null, pagerRequestParts.PageSize, pagerRequestParts.CurrentPage, out pageCount, out itemCount); //Service.GetNotiDetailsByPage(new StocktakeNotification { NotificationID = NotificationID.Value }, RemovedDetails, IncludedDetails, pagerDetails.PageSize, pagerDetails.CurrentPage, out pageCount, out itemCount); } BindDataControl(gvRequestParts, details); pagerRequestParts.TotalRecord = itemCount; }
private void RefreshRequestedDetails() { foreach (GridViewRow row in gvRequestParts.Rows) { if (gvRequestParts.DataKeys[row.RowIndex]["PartID"] == null) { continue; } int partID = int.Parse(gvRequestParts.DataKeys[row.RowIndex]["PartID"].ToString()); if (partID == DefaultValue.INT) { continue; } View_StocktakeDetails detail = GetDetailsByRow(row); detail.PartID = partID; int index = RequestedDetails.FindIndex(d => d.PartID == detail.PartID); if (index >= 0) { RequestedDetails[index].DetailsDesc = detail.DetailsDesc; RequestedDetails[index].StocktakeType = detail.StocktakeType; RequestedDetails[index].Priority = detail.Priority; } else { if (RequestID == null) { if (!string.IsNullOrEmpty(detail.DetailsDesc)) { RequestedDetails.Add(detail); } } else { RequestedDetails.Add(detail); } } } }
protected void btnAddPart_Click(object sender, EventArgs e) { RefreshSelectedDetails(SelectedDetails, gvParts); RefreshRequestedDetails(); valiCounts.Validate(); if (!valiCounts.IsValid) { return; } for (int i = SelectedDetails.Count - 1; i >= 0; i--) { View_StocktakeDetails detail = SelectedDetails[i]; List <Part> relatedParts = Service.GetRelatedParts(detail.PartID.ToString()); foreach (var item in relatedParts) { View_StocktakeDetails tmpDetail = new View_StocktakeDetails(); tmpDetail.CreateViewByPart(item); tmpDetail.StocktakeType = detail.StocktakeType; //stocktakeTypeID; tmpDetail.Priority = detail.Priority; // stocktakePriorityID; if (!RequestedDetails.Exists(d => d.PartID == tmpDetail.PartID)) { RequestedDetails.Add(tmpDetail); } if (RequestID != null) { int index = RemovedDetails.FindIndex(d => d.PartID == tmpDetail.PartID); if (index >= 0) { RemovedDetails.RemoveAt(index); } } } SelectedDetails.RemoveAt(i); } BindData(); }