Exemplo n.º 1
0
    protected void gvParts_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        RefreshSelectedDetails(SelectedReqDetails, gvRequestParts);
        RefreshRequestedDetails();
        valiCounts.Validate();
        if (!valiCounts.IsValid)
        {
            return;
        }

        View_StocktakeDetails detail = GetDetailsByRow(gvParts.Rows[e.RowIndex]);

        detail.PartID = int.Parse(gvParts.DataKeys[e.RowIndex].Value.ToString());
        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.TypeName = detail.TypeName;//ddlStocktakeType.SelectedItem.Text;
            tmpDetail.Priority = detail.Priority;           // stocktakePriorityID;
            //tmpDetail.PriorityName = detail.PriorityName; //ddlStocktakePriority.SelectedItem.Text;
            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);
                }
            }
            int idx = SelectedDetails.FindIndex(d => d.PartID == tmpDetail.PartID);
            if (idx >= 0)
            {
                SelectedDetails.RemoveAt(idx);
            }
        }
        //int index = RemovedDetails.FindIndex(d => d.PartID == detail.PartID);
        //if (index >= 0)
        //{
        //    RemovedDetails.RemoveAt(index);
        //}
        //RequestedDetails.Add(detail);
        BindData();
    }
Exemplo n.º 2
0
 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);
             }
         }
     }
 }
Exemplo n.º 3
0
 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();
 }