private void BindRequisitionItemInfo() { try { IList <ListViewDataItem> list = lvRequisitionItem.Items; if (list != null && list.Count > 0) { foreach (ListViewDataItem lvdi in list) { CheckBox chbxState = (CheckBox)lvdi.FindControl("chbxState"); if (chbxState.Checked == true) { REQRequisitionItemEntity ent = new REQRequisitionItemEntity(); Decimal TotalRequiredQty; Int64 ItemID; Decimal PurchasedQty; Decimal PresentRequiredQty; Decimal RateLV; TextBox txtTotalQtyLV = (TextBox)lvdi.FindControl("txtQtyLV"); TextBox txtPurchasedQty = (TextBox)lvdi.FindControl("txtPurchasedQty"); TextBox txtPresentRequiredQty = (TextBox)lvdi.FindControl("txtPresentRequiredQty"); TextBox txtRequiredDate = (TextBox)lvdi.FindControl("txtRequiredDate"); TextBox txtRemarksLV = (TextBox)lvdi.FindControl("txtRemarksLV"); TextBox txtAccountsCodeLV = (TextBox)lvdi.FindControl("txtAccountsCodeLV"); Label lblItemLV = (Label)lvdi.FindControl("lblItem"); TextBox txtRateLV = (TextBox)lvdi.FindControl("txtRateLV"); Decimal.TryParse(txtTotalQtyLV.Text.Trim(), out TotalRequiredQty); Decimal.TryParse(txtPurchasedQty.Text.Trim(), out PurchasedQty); Decimal.TryParse(txtPresentRequiredQty.Text.Trim(), out PresentRequiredQty); Decimal.TryParse(txtRateLV.Text.Trim(), out RateLV); Int64.TryParse(lblItemLV.Text, out ItemID); ent.ItemID = ItemID; ent.TotalRequiredQty = TotalRequiredQty; ent.PurchasedQtyTillToDate = PurchasedQty; ent.PresentRequiredQty = PresentRequiredQty; ent.Remarks = txtRemarksLV.Text.Trim(); ent.AccountsCode = txtAccountsCodeLV.Text.ToString(); ent.Rate = RateLV; if (txtRequiredDate.Text.Trim().IsNotNullOrEmpty()) { ent.RequiredDate = MiscUtil.ParseToDateTime(txtRequisitionDate.Text); } else { ent.RequiredDate = MiscUtil.ParseToDateTime(System.DateTime.Now.ToStringDefault()); } //Check Existing Item var itemList = (from s in REQRequisitionItemList where s.ItemID == ItemID select s); if (itemList == null || itemList.Count() <= 0) { REQRequisitionItemList.Add(ent); } } else if (chbxState.Checked == false) { Int64 ItemID; Label lblItemLV = (Label)lvdi.FindControl("lblItem"); Int64.TryParse(lblItemLV.Text, out ItemID); var item = from s in REQRequisitionItemList where s.ItemID == ItemID select s; if (item != null && item.Count() > 0) { REQRequisitionItemEntity di = (from d in REQRequisitionItemList where d.ItemID == ItemID select d).First(); if (di != null) { REQRequisitionItemList.Remove(di); } } } } } } catch (Exception ex) { } }
private void SaveREQRequisitionEntity() { if (IsValid) { try { REQRequisitionEntity rEQRequisitionEntity = BuildREQRequisitionEntity(); Int64 result = -1; if (rEQRequisitionEntity.IsNew) { //Prepared By ID Only for Save Operation; not for Update. rEQRequisitionEntity.PreparedByMemberID = this.CurrentMember.MemberID; result = FCCREQRequisition.GetFacadeCreate().Add(rEQRequisitionEntity, DatabaseOperationType.Add, TransactionRequired.No); } else { String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(REQRequisitionEntity.FLD_NAME_RequisitionID, rEQRequisitionEntity.RequisitionID.ToString(), SQLMatchType.Equal); result = FCCREQRequisition.GetFacadeCreate().Update(rEQRequisitionEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No); } BindRequisitionItemInfo(); IList <REQRequisitionItemEntity> deleteList = UpdatedMappedRequisitionItem.Except(REQRequisitionItemList, new CustomerComparer()).ToList(); IList <REQRequisitionItemEntity> addNewList = REQRequisitionItemList.Except(UpdatedMappedRequisitionItem, new CustomerComparer()).ToList(); foreach (REQRequisitionItemEntity ent in deleteList) { String fe1 = SqlExpressionBuilder.PrepareFilterExpression(REQRequisitionItemEntity.FLD_NAME_RequisitionID, ent.RequisitionID.ToString(), SQLMatchType.Equal); String fe2 = SqlExpressionBuilder.PrepareFilterExpression(REQRequisitionItemEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal); String fe = SqlExpressionBuilder.PrepareFilterExpression(fe1, SQLJoinType.AND, fe2); FCCREQRequisitionItem.GetFacadeCreate().Delete(ent, fe, DatabaseOperationType.Delete, TransactionRequired.No); } StringBuilder xmlStr = new StringBuilder(); String subXmlStr = String.Empty; xmlStr.Append("<m>"); foreach (REQRequisitionItemEntity ent in addNewList) { subXmlStr = subXmlStr + "<i><a>" + result + "</a><b>" + ent.AccountsCode + "</b><c>" + ent.ItemID + "</c><d>" + ent.TotalRequiredQty + "</d><e>" + ent.PurchasedQtyTillToDate + "</e><f>" + ent.PresentRequiredQty + "</f><g>" + ent.RequiredDate + "</g><h>" + ent.Remarks + "</h><j>" + ent.Rate + "</j></i>"; } xmlStr.Append(subXmlStr.ToString()); xmlStr.Append("</m>"); FCCBulkInsertXML.GetFacadeCreate().GetIL(xmlStr.ToString(), CommonConstants.RequisitionItemInfo); if (result > 0) { _RequisitionID = 0; _REQRequisitionEntity = new REQRequisitionEntity(); PrepareInitialView(); ClearAllRequisitionItem(); if (rEQRequisitionEntity.IsNew) { MiscUtil.ShowMessage(lblMessage, "Requisition Information has been added successfully.", false); } else { MiscUtil.ShowMessage(lblMessage, "Requisition Information has been updated successfully.", false); } } else { if (rEQRequisitionEntity.IsNew) { MiscUtil.ShowMessage(lblMessage, "Failed to add Requisition Information.", false); } else { MiscUtil.ShowMessage(lblMessage, "Failed to update Requisition Information.", false); } } } catch (Exception ex) { MiscUtil.ShowMessage(lblMessage, ex.Message, true); } } }