protected void btnDelete_OnClick(object sender, EventArgs e) { var dtItemAdjustmentDetail = new ItemAdjustmentDetail() { ItemAdjustmentId = lblItemAdjustmentId.zToInt(), }.Select(); foreach (DataRow drItemAdjustmentDetail in dtItemAdjustmentDetail.Rows) { CU.AdjustStockDelete(drItemAdjustmentDetail[CS.ItemAdjustmentDetailId].zToInt().Value); } new ItemAdjustment() { ItemAdjustmentId = lblItemAdjustmentId.zToInt(), }.Delete(); CU.ZMessage(eMsgType.Success, string.Empty, "Adjustment Delete Successfully."); LoadItemAdjustmentGrid(ePageIndex.Custom); }
private bool ManageAdjustmentDetail(int?PK, eRepeaterOperation RepeaterOperation) { #region Check Same Product var lstCheckProductId = new List <int>(); if (RepeaterOperation == eRepeaterOperation.Validate) { foreach (RepeaterItem Item in rptAdjustmentDetail.Items) { var ddlProduct = Item.FindControl("ddlProduct") as DropDownList; if (ddlProduct.zIsSelect()) { if (lstCheckProductId.Contains(ddlProduct.zToInt().Value)) { ddlProduct.Focus(); CU.ZMessage(eMsgType.Error, string.Empty, "This Product is Repeat in Same Adjustment Please Marge Same Product."); return(false); } lstCheckProductId.Add(ddlProduct.zToInt().Value); } } } #endregion var lstAdjProduct = new List <AdjProduct>(); var dtItemAdjustmentDetail = new DataTable(); int ItemAdjustmentId = lblItemAdjustmentId.zToInt().HasValue ? lblItemAdjustmentId.zToInt().Value : 0; if (RepeaterOperation == eRepeaterOperation.Save) { dtItemAdjustmentDetail = new ItemAdjustmentDetail() { ItemAdjustmentId = ItemAdjustmentId, }.Select(); } if (RepeaterOperation == eRepeaterOperation.Select) { #region Get Data From DB dtItemAdjustmentDetail = new ItemAdjustmentDetail() { ItemAdjustmentId = ItemAdjustmentId, }.Select(); var dtItemAdjustmentDetailProduct = dtItemAdjustmentDetail.DefaultView.ToTable(true, CS.ProductId); var lstProductId = new List <int>(); foreach (DataRow drItemAdjustmentDetailProduct in dtItemAdjustmentDetailProduct.Rows) { lstProductId.Add(drItemAdjustmentDetailProduct[CS.ProductId].zToInt().Value); } var dtItem = new Query() { ProductIdIn = CU.GetParaIn(lstProductId, true) }.Select(eSP.qry_Item); foreach (DataRow drItemAdjustmentDetailProduct in dtItemAdjustmentDetailProduct.Rows) { var lstAdjProductItem = new List <AdjProductItem>(); foreach (DataRow drItem in dtItem.Select(CS.ProductId + "=" + drItemAdjustmentDetailProduct[CS.ProductId].zToInt())) { int? ItemAdjustmentDetailId = null; decimal?Quantity = null, Rate = null; var drItemAdjustmentDetailtem = dtItemAdjustmentDetail.Select(CS.ProductId + "=" + drItemAdjustmentDetailProduct[CS.ProductId].zToInt() + " AND " + CS.ItemId + "=" + drItem[CS.ItemId].zToInt()); if (drItemAdjustmentDetailtem.Length > 0) { ItemAdjustmentDetailId = drItemAdjustmentDetailtem[0][CS.ItemAdjustmentDetailId].zToInt(); Quantity = drItemAdjustmentDetailtem[0][CS.Quantity].zToDecimal(); Rate = drItemAdjustmentDetailtem[0][CS.Rate].zToDecimal(); } lstAdjProductItem.Add(new AdjProductItem() { ItemAdjustmentDetailId = ItemAdjustmentDetailId, ItemId = drItem[CS.ItemId].zToInt().Value, ItemName = drItem[CS.ItemName].ToString(), Quantity = Quantity, Rate = Rate, }); } lstAdjProduct.Add(new AdjProduct() { ProductId = drItemAdjustmentDetailProduct[CS.ProductId].zToInt().Value, lstAdjProductItem = lstAdjProductItem, }); } #endregion } else { #region Manage Data foreach (RepeaterItem Item in rptAdjustmentDetail.Items) { var lblPK = Item.FindControl("lblPK") as Label; if (RepeaterOperation == eRepeaterOperation.Remove && PK == lblPK.zToInt()) { continue; } var ddlProduct = Item.FindControl("ddlProduct") as DropDownList; var rptAdjustmentItemDetail = Item.FindControl("rptAdjustmentItemDetail") as Repeater; if (RepeaterOperation == eRepeaterOperation.Add || RepeaterOperation == eRepeaterOperation.Refresh || RepeaterOperation == eRepeaterOperation.Remove) { #region Get Old Data #region Product Item var lstAdjProductItem = new List <AdjProductItem>(); foreach (RepeaterItem ItemAdjustmentItemDetail in rptAdjustmentItemDetail.Items) { var lblItemId = ItemAdjustmentItemDetail.FindControl("lblItemId") as Label; var lblItemName = ItemAdjustmentItemDetail.FindControl("lblItemName") as Label; var txtQuantity = ItemAdjustmentItemDetail.FindControl("txtQuantity") as TextBox; var txtRate = ItemAdjustmentItemDetail.FindControl("txtRate") as TextBox; lstAdjProductItem.Add(new AdjProductItem() { ItemId = lblItemId.zToInt().Value, ItemName = lblItemName.Text, Quantity = txtQuantity.zToDecimal(), Rate = txtRate.zToDecimal(), }); } #endregion lstAdjProduct.Add(new AdjProduct() { ProductId = ddlProduct.zToInt().Value, lstAdjProductItem = lstAdjProductItem }); #endregion } else if (RepeaterOperation == eRepeaterOperation.Validate) { #region Validate //if (ddlProduct.zIsSelect()) //{ // foreach (RepeaterItem ItemAdjustmentItemDetail in rptAdjustmentItemDetail.Items) // { // var txtQuantity = ItemAdjustmentItemDetail.FindControl("txtQuantity") as TextBox; // var txtRate = ItemAdjustmentItemDetail.FindControl("txtRate") as TextBox; // if (!txtQuantity.zIsDecimal(true)) // { // txtQuantity.Focus(); // CU.ZMessage(eMsgType.Error, string.Empty, "Please Enter Quantity"); // return false; // } // } //} #endregion } else if (RepeaterOperation == eRepeaterOperation.Save) { #region Save Data if (ddlProduct.zIsSelect()) { foreach (RepeaterItem ItemAdjustmentItemDetail in rptAdjustmentItemDetail.Items) { var lblItemAdjustmentDetailId = ItemAdjustmentItemDetail.FindControl("lblItemAdjustmentDetailId") as Label; var lblItemId = ItemAdjustmentItemDetail.FindControl("lblItemId") as Label; var lblItemName = ItemAdjustmentItemDetail.FindControl("lblItemName") as Label; var txtQuantity = ItemAdjustmentItemDetail.FindControl("txtQuantity") as TextBox; var txtRate = ItemAdjustmentItemDetail.FindControl("txtRate") as TextBox; if (txtQuantity.zIsDecimal(true)) { var objItemAdjustmentDetail = new ItemAdjustmentDetail() { ItemAdjustmentDetailId = lblItemAdjustmentDetailId.zToInt(), ItemAdjustmentId = lblItemAdjustmentId.zToInt(), ProductId = ddlProduct.zToInt(), ItemId = lblItemId.zToInt(), Quantity = txtQuantity.zToDecimal(), Rate = txtRate.zToDecimal(), }; CU.AdjustStock(objItemAdjustmentDetail, true); if (objItemAdjustmentDetail.ItemAdjustmentDetailId.HasValue && objItemAdjustmentDetail.ItemAdjustmentDetailId > 0) { var drItemAdjustmentDetail = dtItemAdjustmentDetail.Select(CS.ItemAdjustmentDetailId + "=" + objItemAdjustmentDetail.ItemAdjustmentDetailId); if (drItemAdjustmentDetail.Length > 0) { dtItemAdjustmentDetail.Rows.Remove(drItemAdjustmentDetail[0]); } } } } } #endregion } } #endregion } if (RepeaterOperation == eRepeaterOperation.Add || RepeaterOperation == eRepeaterOperation.Refresh || RepeaterOperation == eRepeaterOperation.Remove || RepeaterOperation == eRepeaterOperation.Select) { #region Manage And Bind Data if (RepeaterOperation == eRepeaterOperation.Add || lstAdjProduct.Count == 0) { for (int i = 0; i < 5; i++) { lstAdjProduct.Add(new AdjProduct() { }); } } dtProduct = new Query() { eStatus = (int)eStatus.Active, OrganizationId = lblOrganizationId.zToInt() }.Select(eSP.qry_Product); var drProduct = dtProduct.NewRow(); drProduct[CS.ProductId] = "0"; drProduct[CS.ProductCode] = "-- Select Product --"; dtProduct.Rows.InsertAt(drProduct, 0); rptAdjustmentDetail.DataSource = lstAdjProduct; rptAdjustmentDetail.DataBind(); #endregion } else if (RepeaterOperation == eRepeaterOperation.Save) { #region Save Data foreach (DataRow drItemAdjustmentDetail in dtItemAdjustmentDetail.Rows) { CU.AdjustStockDelete(drItemAdjustmentDetail[CS.ItemAdjustmentDetailId].zToInt().Value); } #endregion } return(true); }