Beispiel #1
0
        protected void lvACCPrePayableStatement_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                ListViewDataItem dataItem = (ListViewDataItem)e.Item;

                ACCPrePayableStatementEntity ent = (ACCPrePayableStatementEntity)dataItem.DataItem;

                LinkButton lnkBtnEdit   = (LinkButton)e.Item.FindControl("lnkBtnEdit");
                LinkButton lnkBtnDelete = (LinkButton)e.Item.FindControl("lnkBtnDelete");

                if (ent.PrePayableStatementID == MasterDataConstants.ACCPayableDefault.ACC_PRE_PAYABLE_STATEMENT_DEFAULT)
                {
                    lnkBtnEdit.Visible   = false;
                    lnkBtnDelete.Visible = false;
                }

                HyperLink hypPayableRef = (HyperLink)e.Item.FindControl("hypPayableRef");
                HyperLink hypReport     = (HyperLink)e.Item.FindControl("hypReport");
                hypReport.NavigateUrl     = UrlHelper.BuildSecureUrl("~/Reports/ReportViewer.aspx", string.Empty, "do", ReportConstants.PRE_PAYABLE_REPORT, UrlConstants.OVERVIEW_PRE_PAYABLE_STATEMENT_ID, ent.PrePayableStatementID.ToString()).ToString();
                hypPayableRef.NavigateUrl = UrlHelper.BuildSecureUrl("~/ACC/ACCPrePayableStatementDetail.aspx", string.Empty, UrlConstants.OVERVIEW_PRE_PAYABLE_STATEMENT_ID, ent.PrePayableStatementID.ToString()).ToString();

                hypReport.Target = "_blank";
            }
        }
Beispiel #2
0
        Int64 IACCPrePayableStatementDataAccess.Add(ACCPrePayableStatementEntity aCCPrePayableStatementEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

                switch (reqTran)
                {
                case TransactionRequired.No:
                {
                    retValues = Add(aCCPrePayableStatementEntity, option);
                    break;
                }

                case TransactionRequired.Yes:
                {
                    retValues = AddTran(aCCPrePayableStatementEntity, option);
                    break;
                }

                default:
                {
                    retValues = -99;
                    break;
                }
                }

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
0
        private ACCPrePayableStatementEntity BuildACCPrePayableStatementEntity()
        {
            ACCPrePayableStatementEntity aCCPrePayableStatementEntity = CurrentACCPrePayableStatementEntity;

            aCCPrePayableStatementEntity.Ref = txtRef.Text.Trim();
            if (txtCreateDate.Text.Trim().IsNotNullOrEmpty())
            {
                aCCPrePayableStatementEntity.CreateDate = MiscUtil.ParseToDateTime(txtCreateDate.Text);
            }

            if (txtStartDate.Text.Trim().IsNotNullOrEmpty())
            {
                aCCPrePayableStatementEntity.StartDate = MiscUtil.ParseToDateTime(txtStartDate.Text);
            }

            if (txtEndDate.Text.Trim().IsNotNullOrEmpty())
            {
                aCCPrePayableStatementEntity.EndDate = MiscUtil.ParseToDateTime(txtEndDate.Text);
            }

            aCCPrePayableStatementEntity.IsRemoved = chkIsRemoved.Checked;


            return(aCCPrePayableStatementEntity);
        }
Beispiel #4
0
        private Int64 UpdateTran(ACCPrePayableStatementEntity aCCPrePayableStatementEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.ACCPrePayableStatement_SET";

            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand cmd = db.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option, db);
                AddOutputParameter(cmd, db);
                AddFilterExpressionParameter(cmd, filterExpression, db);

                db.AddInParameter(cmd, "@PrePayableStatementID", DbType.Int64, aCCPrePayableStatementEntity.PrePayableStatementID);
                db.AddInParameter(cmd, "@Ref", DbType.String, aCCPrePayableStatementEntity.Ref);
                db.AddInParameter(cmd, "@CreateDate", DbType.DateTime, aCCPrePayableStatementEntity.CreateDate);
                db.AddInParameter(cmd, "@StartDate", DbType.DateTime, aCCPrePayableStatementEntity.StartDate);
                db.AddInParameter(cmd, "@EndDate", DbType.DateTime, aCCPrePayableStatementEntity.EndDate);
                db.AddInParameter(cmd, "@IsRemoved", DbType.Boolean, aCCPrePayableStatementEntity.IsRemoved);

                DbConnection connection = db.CreateConnection();
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction();

                try
                {
                    using (IDataReader reader = db.ExecuteReader(cmd, transaction))
                    {
                        returnCode = GetReturnCodeFromParameter(cmd);
                    }

                    if (returnCode > 0)
                    {
                        transaction.Commit();
                    }
                    else
                    {
                        throw new ArgumentException("Error Code." + returnCode.ToString());
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
                finally
                {
                    transaction.Dispose();
                    connection.Close();
                    connection = null;
                }
            }

            return(returnCode);
        }
Beispiel #5
0
        protected void lvACCPrePayableStatement_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 PrePayableStatementID;

            Int64.TryParse(e.CommandArgument.ToString(), out PrePayableStatementID);

            if (PrePayableStatementID > 0)
            {
                if (string.Equals(e.CommandName, "EditItem"))
                {
                    _PrePayableStatementID = PrePayableStatementID;

                    PrepareEditView();

                    cpeEditor.Collapsed   = false;
                    cpeEditor.ClientState = "false";
                }
                else if (string.Equals(e.CommandName, "DeleteItem"))
                {
                    try
                    {
                        Int64 result = -1;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(ACCPrePayableStatementEntity.FLD_NAME_PrePayableStatementID, PrePayableStatementID.ToString(), SQLMatchType.Equal);

                        ACCPrePayableStatementEntity aCCPrePayableStatementEntity = new ACCPrePayableStatementEntity();


                        result = FCCACCPrePayableStatement.GetFacadeCreate().Delete(aCCPrePayableStatementEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            _PrePayableStatementID        = 0;
                            _ACCPrePayableStatementEntity = new ACCPrePayableStatementEntity();
                            PrepareInitialView();
                            BindACCPrePayableStatementList();

                            MiscUtil.ShowMessage(lblMessage, "Payable Statement has been successfully deleted.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete Payable Statement.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
Beispiel #6
0
        private Int64 Update(ACCPrePayableStatementEntity aCCPrePayableStatementEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.ACCPrePayableStatement_SET";

            using (DbCommand cmd = Database.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option);
                AddOutputParameter(cmd);
                AddFilterExpressionParameter(cmd, filterExpression);

                Database.AddInParameter(cmd, "@PrePayableStatementID", DbType.Int64, aCCPrePayableStatementEntity.PrePayableStatementID);
                Database.AddInParameter(cmd, "@Ref", DbType.String, aCCPrePayableStatementEntity.Ref);
                Database.AddInParameter(cmd, "@CreateDate", DbType.DateTime, aCCPrePayableStatementEntity.CreateDate);
                Database.AddInParameter(cmd, "@StartDate", DbType.DateTime, aCCPrePayableStatementEntity.StartDate);
                Database.AddInParameter(cmd, "@EndDate", DbType.DateTime, aCCPrePayableStatementEntity.EndDate);
                Database.AddInParameter(cmd, "@IsRemoved", DbType.Boolean, aCCPrePayableStatementEntity.IsRemoved);

                using (IDataReader reader = Database.ExecuteReader(cmd))
                {
                    returnCode = GetReturnCodeFromParameter(cmd);

                    switch (returnCode)
                    {
                    case SqlConstants.DB_STATUS_CODE_DATAALREADYEXIST:
                    {
                        throw new ArgumentException("ACCPrePayableStatementEntity already exists. Please specify another ACCPrePayableStatementEntity.");
                    }

                    case SqlConstants.DB_STATUS_CODE_DATAUPDATEDFROMOTHERSESSION:
                    {
                        throw new ArgumentException("ACCPrePayableStatementEntity data already updated from different session.");
                    }

                    case SqlConstants.DB_STATUS_CODE_FAIL_OPERATION:
                    {
                        throw new ArgumentException("ACCPrePayableStatementEntity already exists. Please specify another ACCPrePayableStatementEntity.");
                    }
                    }
                }
            }

            return(returnCode);
        }
Beispiel #7
0
        private void PrepareEditView()
        {
            ACCPrePayableStatementEntity aCCPrePayableStatementEntity = CurrentACCPrePayableStatementEntity;


            if (!aCCPrePayableStatementEntity.IsNew)
            {
                txtRef.Text          = aCCPrePayableStatementEntity.Ref.ToString();
                txtCreateDate.Text   = aCCPrePayableStatementEntity.CreateDate.ToStringDefault();
                txtStartDate.Text    = aCCPrePayableStatementEntity.StartDate.ToStringDefault();
                txtEndDate.Text      = aCCPrePayableStatementEntity.EndDate.ToStringDefault();
                chkIsRemoved.Checked = aCCPrePayableStatementEntity.IsRemoved;

                btnSubmit.Text        = "Update";
                btnAddNew.Visible     = true;
                cpeEditor.Collapsed   = false;
                cpeEditor.ClientState = "false";
            }
        }
        private void SaveWOtoACCPrePayableStatementEntity()
        {
            if (IsValid)
            {
                try
                {
                    #region AccPayableStatemenet Detail

                    IList <ACCPrePayableStatementDetailByWorkOrderNo_CustomEntity> lstACCPrePayableStatementDetail_CustomEntity = FCCACCPrePayableStatementDetailByWorkOrderNo_Custom.GetFacadeCreate().GetIL(Int64.Parse(ddlWorkOrderID.SelectedValue));

                    if (lstACCPrePayableStatementDetail_CustomEntity != null && lstACCPrePayableStatementDetail_CustomEntity.Count > 0)
                    {
                        IList <ACCPrePayableStatementDetailEntity> lstACCPrePayableStatementDetail = new List <ACCPrePayableStatementDetailEntity>();

                        foreach (ACCPrePayableStatementDetailByWorkOrderNo_CustomEntity entACCPrePayableStatementDetail_CustomEntity in lstACCPrePayableStatementDetail_CustomEntity)
                        {
                            ACCPrePayableStatementDetailEntity entACCPrePayableStatementDetail = new ACCPrePayableStatementDetailEntity();



                            //if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                            //{
                            //    ACCPrePayableStatementDetailEntity entTempACCPrePayableStatementDetail = (from s in lstACCPrePayableStatementDetail
                            //                                                                              where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID
                            //                                                                              // where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                            //                                                                              //&& s.ApprovedBillAmount == entACCPrePayableStatementDetail_CustomEntity.BillAmount && s.RequisitionID != entACCPrePayableStatementDetail_CustomEntity.RequisitionID
                            //                                                                              select s).FirstOrDefault();


                            //    if (entTempACCPrePayableStatementDetail != null && entTempACCPrePayableStatementDetail.BillID > 0)
                            //    {

                            //        //Remove Previous Item
                            //        lstACCPrePayableStatementDetail.Remove(entTempACCPrePayableStatementDetail);

                            //        entTempACCPrePayableStatementDetail.RequisitionNo += "," + entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;

                            //        //Add New Edited Item.
                            //        lstACCPrePayableStatementDetail.Add(entTempACCPrePayableStatementDetail);

                            //        continue;
                            //    }
                            //}



                            Decimal workOrderAgreementAmount = 0, paidAmount = 0, tDSAmount = 0, securityMoney = 0, billAmount = 0;

                            entACCPrePayableStatementDetail.PrePayableStatementID = ACCPrePayableStatementID;
                            if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.IsNotNullOrEmpty())
                            {
                                entACCPrePayableStatementDetail.WorkOrderNo = entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.Trim();
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderNo = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.WOAmount.HasValue)
                            {
                                workOrderAgreementAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.WOAmount.ToString());
                                entACCPrePayableStatementDetail.WorkOrderAmount = workOrderAgreementAmount;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderAmount = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                            {
                                entACCPrePayableStatementDetail.WorkOrderID = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString());
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderID = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.StartDate != null)
                            {
                                entACCPrePayableStatementDetail.WorkOrderDate = entACCPrePayableStatementDetail_CustomEntity.StartDate;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderDate = null;
                            }

                            Decimal payableAgainstWO = (workOrderAgreementAmount - paidAmount - tDSAmount);
                            //Decimal netPayableConsideringBillSecurity = (billAmount - paidAmount - securityMoney - tDSAmount); //need to discuss with Rayan vaiya. To get value from formula or anywhere else???
                            Decimal netPayableConsideringBillSecurity = payableAgainstWO;

                            entACCPrePayableStatementDetail.PaidAmount              = paidAmount;
                            entACCPrePayableStatementDetail.SecurityMoney           = securityMoney;
                            entACCPrePayableStatementDetail.TDSAmount               = tDSAmount;
                            entACCPrePayableStatementDetail.PayableAgainstWorkOrder = payableAgainstWO;
                            entACCPrePayableStatementDetail.NetPayableConsideringBillAndSecurity = netPayableConsideringBillSecurity;
                            entACCPrePayableStatementDetail.CreateDate         = System.DateTime.Now;
                            entACCPrePayableStatementDetail.ApprovedBillAmount = 0;

                            entACCPrePayableStatementDetail.PartyReconcile = false;

                            Int64    requisitionID   = 0;
                            Int64    projectID       = 0;
                            String   projectCode     = null;
                            String   requisitionNo   = null;
                            DateTime requisitionDate = System.DateTime.Now;

                            if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                            {
                                String fe_WOItemMap = SqlExpressionBuilder.PrepareFilterExpression(PRMWorkOrderItemMapEntity.FLD_NAME_WorkOrderID, entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString(), SQLMatchType.Equal);
                                IList <PRMWorkOrderItemMapEntity> lstWOItemMap = FCCPRMWorkOrderItemMap.GetFacadeCreate().GetIL(null, null, String.Empty, fe_WOItemMap, DatabaseOperationType.LoadWithFilterExpression);

                                if (lstWOItemMap != null && lstWOItemMap.Count > 0)
                                {
                                    var distinctTypeIDs = lstWOItemMap.Select(x => x.RequisitionID).Distinct();

                                    foreach (var ent in distinctTypeIDs)
                                    {
                                        String fe_requisition = SqlExpressionBuilder.PrepareFilterExpression("REQRequisition." + REQRequisitionEntity.FLD_NAME_RequisitionID, ent.ToString(), SQLMatchType.Equal);
                                        IList <REQRequisition_DetailedEntity> lstReqRequisition_detailed = FCCREQRequisition_Detailed.GetFacadeCreate().GetIL(10000, 1, String.Empty, fe_requisition);

                                        if (lstReqRequisition_detailed != null && lstReqRequisition_detailed.Count > 0)
                                        {
                                            requisitionID   = lstReqRequisition_detailed[0].RequisitionID;
                                            projectCode     = lstReqRequisition_detailed[0].ProjectCode;
                                            requisitionNo  += lstReqRequisition_detailed[0].RequisitionNo + " ";
                                            requisitionDate = lstReqRequisition_detailed[0].RequisitionDate;
                                            projectID       = lstReqRequisition_detailed[0].ProjectID;
                                        }
                                    }
                                }
                            }

                            entACCPrePayableStatementDetail.RequisitionID   = requisitionID;
                            entACCPrePayableStatementDetail.RequisitionNo   = requisitionNo;
                            entACCPrePayableStatementDetail.RequisitionDate = requisitionDate;
                            entACCPrePayableStatementDetail.ProjectID       = projectID;
                            entACCPrePayableStatementDetail.ProjectCode     = projectCode;

                            //REQRequisitionEntity reqRequisitionEntity = null;

                            //if (entACCPrePayableStatementDetail_CustomEntity.RequisitionID > 0)
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionID = entACCPrePayableStatementDetail_CustomEntity.RequisitionID;
                            //    reqRequisitionEntity = FCCREQRequisition.GetFacadeCreate().GetByID(entACCPrePayableStatementDetail_CustomEntity.RequisitionID);

                            //    if (reqRequisitionEntity != null)
                            //    {
                            //        entACCPrePayableStatementDetail.RequisitionNo = reqRequisitionEntity.RequisitionNo; ;
                            //        entACCPrePayableStatementDetail.RequisitionDate = reqRequisitionEntity.RequisitionDate;
                            //        entACCPrePayableStatementDetail.ProjectID = reqRequisitionEntity.ProjectID; // Project ID should come from the first requisition Project ID.
                            //    }
                            //}

                            //else
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionID = null;
                            //}



                            //if (entACCPrePayableStatementDetail_CustomEntity.RequisitionNo.IsNotNullOrEmpty())
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionNo = entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;
                            //}
                            //else
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionNo = null;
                            //}

                            //if (entACCPrePayableStatementDetail_CustomEntity.RequisitionDate.HasValue)
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionDate = entACCPrePayableStatementDetail_CustomEntity.RequisitionDate;
                            //}
                            //else
                            //{
                            //    entACCPrePayableStatementDetail.RequisitionDate = null;
                            //}


                            //entACCPrePayableStatementDetail.ProjectID = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.ProjectID.ToString());
                            entACCPrePayableStatementDetail.BillID             = null;
                            entACCPrePayableStatementDetail.BillDate           = null;
                            entACCPrePayableStatementDetail.BillNo             = null;
                            entACCPrePayableStatementDetail.VendorCategoryID   = MasterDataConstants.MDVendorCategory.VENDOR;
                            entACCPrePayableStatementDetail.FromVendorID       = entACCPrePayableStatementDetail_CustomEntity.SupplierID;
                            entACCPrePayableStatementDetail.CreateByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                            entACCPrePayableStatementDetail.Ref               = null;
                            entACCPrePayableStatementDetail.DueDate           = DateTime.Now;
                            entACCPrePayableStatementDetail.PlannedDate       = null;
                            entACCPrePayableStatementDetail.Remarks           = null;
                            entACCPrePayableStatementDetail.AdditionalRemarks = null;

                            entACCPrePayableStatementDetail.ACCPayablePaymentStatusID              = MasterDataConstants.MDACCPayablePaymentStatus.CURRENT;
                            entACCPrePayableStatementDetail.ACCPayableApprovalStatusID             = MasterDataConstants.ACCPrePayableStatementApprovalStatus.INITIATED;
                            entACCPrePayableStatementDetail.AccountPaybleStatementDetailCategoryID = MasterDataConstants.MDAccountPaybleStatementDetailCategory.REGULAR;
                            entACCPrePayableStatementDetail.PayableClassificationID = MasterDataConstants.MDPayableClassification.AS;
                            entACCPrePayableStatementDetail.APPanelID = MasterDataConstants.DeafultAPPanel.DEFAULT_AP_PANEL;

                            entACCPrePayableStatementDetail.IsRemoved = false;
                            entACCPrePayableStatementDetail.IsLocked  = false;

                            lstACCPrePayableStatementDetail.Add(entACCPrePayableStatementDetail);

                            break;
                        }

                        #region Insert To Payable Detail

                        if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                        {
                            foreach (ACCPrePayableStatementDetailEntity ent in lstACCPrePayableStatementDetail)
                            {
                                FCCACCPrePayableStatementDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                            }
                        }

                        #endregion

                        MiscUtil.ShowMessage(lblMessage, "Pre Payable Statement Information has been added successfully.", false);
                    }

                    #endregion

                    _PrePayableStatementID        = 0;
                    _ACCPrePayableStatementEntity = new ACCPrePayableStatementEntity();
                    PrepareInitialView();
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
        private void SaveBilltoACCPrePayableStatementEntity()
        {
            if (IsValid)
            {
                try
                {
                    #region AccPayableStatemenet Detail

                    IList <ACCPrePayableStatementDetailByBill_CustomEntity> lstACCPrePayableStatementDetail_CustomEntity = FCCACCPrePayableStatementDetailByBill_Custom.GetFacadeCreate().GetIL(Int64.Parse(ddlBillID.SelectedValue));

                    if (lstACCPrePayableStatementDetail_CustomEntity != null && lstACCPrePayableStatementDetail_CustomEntity.Count > 0)
                    {
                        IList <ACCPrePayableStatementDetailEntity> lstACCPrePayableStatementDetail = new List <ACCPrePayableStatementDetailEntity>();

                        foreach (ACCPrePayableStatementDetailByBill_CustomEntity entACCPrePayableStatementDetail_CustomEntity in lstACCPrePayableStatementDetail_CustomEntity)
                        {
                            ACCPrePayableStatementDetailEntity entACCPrePayableStatementDetail = new ACCPrePayableStatementDetailEntity();



                            if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                            {
                                ACCPrePayableStatementDetailEntity entTempACCPrePayableStatementDetail = (from s in lstACCPrePayableStatementDetail
                                                                                                          where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                                                                                                          // where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                                                                                                          //&& s.ApprovedBillAmount == entACCPrePayableStatementDetail_CustomEntity.BillAmount && s.RequisitionID != entACCPrePayableStatementDetail_CustomEntity.RequisitionID
                                                                                                          select s).FirstOrDefault();


                                if (entTempACCPrePayableStatementDetail != null && entTempACCPrePayableStatementDetail.BillID > 0)
                                {
                                    //Remove Previous Item
                                    lstACCPrePayableStatementDetail.Remove(entTempACCPrePayableStatementDetail);

                                    entTempACCPrePayableStatementDetail.RequisitionNo += "," + entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;

                                    //Add New Edited Item.
                                    lstACCPrePayableStatementDetail.Add(entTempACCPrePayableStatementDetail);

                                    continue;
                                }
                            }



                            Decimal workOrderAgreementAmount = 0, paidAmount = 0, tDSAmount = 0, securityMoney = 0;

                            entACCPrePayableStatementDetail.PrePayableStatementID = ACCPrePayableStatementID;
                            if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.IsNotNullOrEmpty())
                            {
                                entACCPrePayableStatementDetail.WorkOrderNo = entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.Trim();
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderNo = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.WOAmount.HasValue)
                            {
                                workOrderAgreementAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.WOAmount.ToString());
                                entACCPrePayableStatementDetail.WorkOrderAmount = workOrderAgreementAmount;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderAmount = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                            {
                                entACCPrePayableStatementDetail.WorkOrderID = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString());
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderID = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.StartDate.HasValue)
                            {
                                entACCPrePayableStatementDetail.WorkOrderDate = entACCPrePayableStatementDetail_CustomEntity.StartDate;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.WorkOrderDate = null;
                            }

                            Decimal payableAgainstWO                  = (workOrderAgreementAmount - paidAmount - tDSAmount);
                            Decimal netPayableConsideringBillSecurity = (payableAgainstWO - paidAmount - securityMoney - tDSAmount);

                            entACCPrePayableStatementDetail.PaidAmount              = paidAmount;
                            entACCPrePayableStatementDetail.SecurityMoney           = securityMoney;
                            entACCPrePayableStatementDetail.TDSAmount               = tDSAmount;
                            entACCPrePayableStatementDetail.PayableAgainstWorkOrder = payableAgainstWO;
                            entACCPrePayableStatementDetail.NetPayableConsideringBillAndSecurity = netPayableConsideringBillSecurity;
                            entACCPrePayableStatementDetail.CreateDate = System.DateTime.Now;

                            if (entACCPrePayableStatementDetail_CustomEntity.BillAmount.HasValue)
                            {
                                entACCPrePayableStatementDetail.ApprovedBillAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.BillAmount.ToString());
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.ApprovedBillAmount = null;
                            }

                            entACCPrePayableStatementDetail.PartyReconcile = false;

                            if (entACCPrePayableStatementDetail_CustomEntity.RequisitionID > 0)
                            {
                                entACCPrePayableStatementDetail.RequisitionID = entACCPrePayableStatementDetail_CustomEntity.RequisitionID;
                            }

                            else
                            {
                                entACCPrePayableStatementDetail.RequisitionID = null;
                            }


                            if (entACCPrePayableStatementDetail_CustomEntity.RequisitionNo.IsNotNullOrEmpty())
                            {
                                entACCPrePayableStatementDetail.RequisitionNo = entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.RequisitionNo = null;
                            }

                            if (entACCPrePayableStatementDetail_CustomEntity.RequisitionDate.HasValue)
                            {
                                entACCPrePayableStatementDetail.RequisitionDate = entACCPrePayableStatementDetail_CustomEntity.RequisitionDate;
                            }
                            else
                            {
                                entACCPrePayableStatementDetail.RequisitionDate = null;
                            }

                            entACCPrePayableStatementDetail.ProjectID          = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.ProjectID.ToString());
                            entACCPrePayableStatementDetail.BillID             = entACCPrePayableStatementDetail_CustomEntity.BillID;
                            entACCPrePayableStatementDetail.BillDate           = entACCPrePayableStatementDetail_CustomEntity.billlDate;
                            entACCPrePayableStatementDetail.BillNo             = entACCPrePayableStatementDetail_CustomEntity.BillNo;
                            entACCPrePayableStatementDetail.VendorCategoryID   = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.VendorCategory.ToString());
                            entACCPrePayableStatementDetail.FromVendorID       = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.Vendor.ToString());
                            entACCPrePayableStatementDetail.CreateByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                            entACCPrePayableStatementDetail.Ref               = null;
                            entACCPrePayableStatementDetail.DueDate           = DateTime.Now;
                            entACCPrePayableStatementDetail.PlannedDate       = null;
                            entACCPrePayableStatementDetail.Remarks           = null;
                            entACCPrePayableStatementDetail.AdditionalRemarks = null;

                            entACCPrePayableStatementDetail.ACCPayablePaymentStatusID              = MasterDataConstants.MDACCPayablePaymentStatus.CURRENT;
                            entACCPrePayableStatementDetail.ACCPayableApprovalStatusID             = MasterDataConstants.ACCPrePayableStatementApprovalStatus.INITIATED;
                            entACCPrePayableStatementDetail.AccountPaybleStatementDetailCategoryID = MasterDataConstants.MDAccountPaybleStatementDetailCategory.REGULAR;
                            entACCPrePayableStatementDetail.PayableClassificationID = MasterDataConstants.MDPayableClassification.AS;
                            entACCPrePayableStatementDetail.APPanelID = MasterDataConstants.DeafultAPPanel.DEFAULT_AP_PANEL;

                            entACCPrePayableStatementDetail.IsRemoved = false;
                            entACCPrePayableStatementDetail.IsLocked  = false;

                            lstACCPrePayableStatementDetail.Add(entACCPrePayableStatementDetail);
                        }

                        #region Insert To Payable Detail

                        if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                        {
                            foreach (ACCPrePayableStatementDetailEntity ent in lstACCPrePayableStatementDetail)
                            {
                                FCCACCPrePayableStatementDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                            }
                        }

                        #endregion
                    }

                    #endregion

                    _PrePayableStatementID        = 0;
                    _ACCPrePayableStatementEntity = new ACCPrePayableStatementEntity();
                    PrepareInitialView();

                    MiscUtil.ShowMessage(lblMessage, "Pre Payable Statement Information has been added successfully.", false);
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
Beispiel #10
0
 protected void btnAddNew_Click(object sender, EventArgs e)
 {
     _PrePayableStatementID        = 0;
     _ACCPrePayableStatementEntity = new ACCPrePayableStatementEntity();
     PrepareInitialView();
 }
Beispiel #11
0
        private void SaveACCPrePayableStatementEntity()
        {
            if (IsValid)
            {
                try
                {
                    ACCPrePayableStatementEntity aCCPrePayableStatementEntity = BuildACCPrePayableStatementEntity();

                    Int64 result = -1;

                    if (aCCPrePayableStatementEntity.IsNew)
                    {
                        result = FCCACCPrePayableStatement.GetFacadeCreate().Add(aCCPrePayableStatementEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(ACCPrePayableStatementEntity.FLD_NAME_PrePayableStatementID, aCCPrePayableStatementEntity.PrePayableStatementID.ToString(), SQLMatchType.Equal);
                        result = FCCACCPrePayableStatement.GetFacadeCreate().Update(aCCPrePayableStatementEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        #region AccPayableStatemenet Detail From Bill

                        IList <ACCPrePayableStatementDetail_CustomEntity> lstACCPrePayableStatementDetail_CustomEntity = FCCACCPrePayableStatementDetail_Custom.GetFacadeCreate().GetIL(aCCPrePayableStatementEntity.StartDate, aCCPrePayableStatementEntity.EndDate);

                        if (lstACCPrePayableStatementDetail_CustomEntity != null && lstACCPrePayableStatementDetail_CustomEntity.Count > 0)
                        {
                            IList <ACCPrePayableStatementDetailEntity> lstACCPrePayableStatementDetail = new List <ACCPrePayableStatementDetailEntity>();

                            foreach (ACCPrePayableStatementDetail_CustomEntity entACCPrePayableStatementDetail_CustomEntity in lstACCPrePayableStatementDetail_CustomEntity)
                            {
                                ACCPrePayableStatementDetailEntity entACCPrePayableStatementDetail = new ACCPrePayableStatementDetailEntity();



                                if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                                {
                                    ACCPrePayableStatementDetailEntity entTempACCPrePayableStatementDetail = (from s in lstACCPrePayableStatementDetail
                                                                                                              where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                                                                                                              //where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                                                                                                              //&& s.ApprovedBillAmount == entACCPrePayableStatementDetail_CustomEntity.BillAmount && s.RequisitionID == entACCPrePayableStatementDetail_CustomEntity.RequisitionID
                                                                                                              select s).FirstOrDefault();



                                    if (entTempACCPrePayableStatementDetail != null && entTempACCPrePayableStatementDetail.BillID > 0)
                                    {
                                        //Remove Previous Item
                                        lstACCPrePayableStatementDetail.Remove(entTempACCPrePayableStatementDetail);
                                        ///Clear this list................................
                                        entTempACCPrePayableStatementDetail.RequisitionNo += "," + entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;

                                        //Add New Edited Item.
                                        lstACCPrePayableStatementDetail.Add(entTempACCPrePayableStatementDetail);

                                        continue;
                                    }
                                }

                                //else if(Flag)
                                //{

                                Decimal workOrderAgreementAmount = 0, paidAmount = 0, tDSAmount = 0, securityMoney = 0, billamount = 0;

                                Decimal.TryParse(entACCPrePayableStatementDetail_CustomEntity.BillAmount.ToString(), out billamount);

                                entACCPrePayableStatementDetail.PrePayableStatementID = result;
                                if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.IsNotNullOrEmpty())
                                {
                                    entACCPrePayableStatementDetail.WorkOrderNo = entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.Trim();
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.WorkOrderNo = null;
                                }

                                if (entACCPrePayableStatementDetail_CustomEntity.WOAmount.HasValue)
                                {
                                    workOrderAgreementAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.WOAmount.ToString());
                                    entACCPrePayableStatementDetail.WorkOrderAmount = workOrderAgreementAmount;
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.WorkOrderAmount = null;
                                }

                                if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                                {
                                    entACCPrePayableStatementDetail.WorkOrderID = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString());
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.WorkOrderID = null;
                                }

                                if (entACCPrePayableStatementDetail_CustomEntity.StartDate.HasValue)
                                {
                                    entACCPrePayableStatementDetail.WorkOrderDate = entACCPrePayableStatementDetail_CustomEntity.StartDate;
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.WorkOrderDate = null;
                                }

                                Decimal payableAgainstWO                  = (workOrderAgreementAmount - paidAmount - tDSAmount);
                                Decimal netPayableConsideringBillSecurity = (billamount - paidAmount - securityMoney - tDSAmount);

                                entACCPrePayableStatementDetail.PaidAmount              = paidAmount;
                                entACCPrePayableStatementDetail.SecurityMoney           = securityMoney;
                                entACCPrePayableStatementDetail.TDSAmount               = tDSAmount;
                                entACCPrePayableStatementDetail.PayableAgainstWorkOrder = payableAgainstWO;
                                entACCPrePayableStatementDetail.NetPayableConsideringBillAndSecurity = netPayableConsideringBillSecurity;
                                entACCPrePayableStatementDetail.CreateDate = System.DateTime.Now;

                                //if (!txtSecurityMoneyLV.Text.Trim().IsNullOrEmpty())
                                //{
                                //    aCCPrePayableStatementDetailEntity.SecurityMoney = Decimal.Parse(txtSecurityMoneyLV.Text.Trim());
                                //}
                                //else
                                //{
                                //    aCCPrePayableStatementDetailEntity.SecurityMoney = null;
                                //}

                                //if (!txtTDSAmountLV.Text.Trim().IsNullOrEmpty())
                                //{
                                //    aCCPrePayableStatementDetailEntity.TDSAmount = Decimal.Parse(txtTDSAmountLV.Text.Trim());
                                //}
                                //else
                                //{
                                //    aCCPrePayableStatementDetailEntity.TDSAmount = null;
                                //}

                                //if (!txtPayableAgainstWorkOrderLV.Text.Trim().IsNullOrEmpty())
                                //{
                                //    aCCPrePayableStatementDetailEntity.PayableAgainstWorkOrder = Decimal.Parse(txtPayableAgainstWorkOrderLV.Text.Trim());
                                //}
                                //else
                                //{
                                //    aCCPrePayableStatementDetailEntity.PayableAgainstWorkOrder = null;
                                //}

                                if (entACCPrePayableStatementDetail_CustomEntity.BillAmount.HasValue)
                                {
                                    entACCPrePayableStatementDetail.ApprovedBillAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.BillAmount.ToString());
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.ApprovedBillAmount = null;
                                }

                                //if (!txtNetPayableConsideringBillAndSecurityLV.Text.Trim().IsNullOrEmpty())
                                //{
                                //    aCCPrePayableStatementDetailEntity.NetPayableConsideringBillAndSecurity = Decimal.Parse(txtNetPayableConsideringBillAndSecurityLV.Text.Trim());
                                //}
                                //else
                                //{
                                //    aCCPrePayableStatementDetailEntity.NetPayableConsideringBillAndSecurity = null;
                                //}

                                entACCPrePayableStatementDetail.PartyReconcile = false;

                                if (entACCPrePayableStatementDetail_CustomEntity.RequisitionID > 0)
                                {
                                    entACCPrePayableStatementDetail.RequisitionID = entACCPrePayableStatementDetail_CustomEntity.RequisitionID;
                                }

                                else
                                {
                                    entACCPrePayableStatementDetail.RequisitionID = null;
                                }


                                if (entACCPrePayableStatementDetail_CustomEntity.RequisitionNo.IsNotNullOrEmpty())
                                {
                                    entACCPrePayableStatementDetail.RequisitionNo = entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.RequisitionNo = null;
                                }

                                if (entACCPrePayableStatementDetail_CustomEntity.RequisitionDate.HasValue)
                                {
                                    entACCPrePayableStatementDetail.RequisitionDate = entACCPrePayableStatementDetail_CustomEntity.RequisitionDate;
                                }
                                else
                                {
                                    entACCPrePayableStatementDetail.RequisitionDate = null;
                                }

                                entACCPrePayableStatementDetail.ProjectID          = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.ProjectID.ToString());
                                entACCPrePayableStatementDetail.BillID             = entACCPrePayableStatementDetail_CustomEntity.BillID;
                                entACCPrePayableStatementDetail.BillDate           = entACCPrePayableStatementDetail_CustomEntity.billlDate;
                                entACCPrePayableStatementDetail.BillNo             = entACCPrePayableStatementDetail_CustomEntity.BillNo;
                                entACCPrePayableStatementDetail.VendorCategoryID   = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.VendorCategory.ToString());
                                entACCPrePayableStatementDetail.FromVendorID       = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.Vendor.ToString());
                                entACCPrePayableStatementDetail.CreateByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                                entACCPrePayableStatementDetail.Ref               = null;
                                entACCPrePayableStatementDetail.DueDate           = DateTime.Now;
                                entACCPrePayableStatementDetail.PlannedDate       = null;
                                entACCPrePayableStatementDetail.Remarks           = null;
                                entACCPrePayableStatementDetail.AdditionalRemarks = null;

                                entACCPrePayableStatementDetail.ACCPayablePaymentStatusID              = MasterDataConstants.MDACCPayablePaymentStatus.CURRENT;
                                entACCPrePayableStatementDetail.ACCPayableApprovalStatusID             = MasterDataConstants.ACCPrePayableStatementApprovalStatus.INITIATED;
                                entACCPrePayableStatementDetail.AccountPaybleStatementDetailCategoryID = MasterDataConstants.MDAccountPaybleStatementDetailCategory.REGULAR;
                                entACCPrePayableStatementDetail.PayableClassificationID = MasterDataConstants.MDPayableClassification.AS;
                                entACCPrePayableStatementDetail.APPanelID = MasterDataConstants.DeafultAPPanel.DEFAULT_AP_PANEL;

                                entACCPrePayableStatementDetail.IsRemoved = false;
                                entACCPrePayableStatementDetail.IsLocked  = false;

                                lstACCPrePayableStatementDetail.Add(entACCPrePayableStatementDetail);
                                //}
                            }

                            #region AccPayableStatemenet Detail

                            IList <ACCPrePayableStatementDetailFromWO_CustomEntity> lstACCPrePayableStatementDetailFromWO_CustomEntity = FCCACCPrePayableStatementDetailFromWO_Custom.GetFacadeCreate().GetIL();

                            if (lstACCPrePayableStatementDetailFromWO_CustomEntity != null && lstACCPrePayableStatementDetailFromWO_CustomEntity.Count > 0)
                            {
                                foreach (ACCPrePayableStatementDetailFromWO_CustomEntity entACCPrePayableStatementDetail_CustomEntity in lstACCPrePayableStatementDetailFromWO_CustomEntity)
                                {
                                    ACCPrePayableStatementDetailEntity entACCPrePayableStatementDetail = new ACCPrePayableStatementDetailEntity();



                                    //if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                                    //{
                                    //    ACCPrePayableStatementDetailEntity entTempACCPrePayableStatementDetail = (from s in lstACCPrePayableStatementDetail
                                    //                                                                              where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID
                                    //                                                                              // where s.BillID == entACCPrePayableStatementDetail_CustomEntity.BillID && s.WorkOrderID == entACCPrePayableStatementDetail_CustomEntity.WorkOrderID
                                    //                                                                              //&& s.ApprovedBillAmount == entACCPrePayableStatementDetail_CustomEntity.BillAmount && s.RequisitionID != entACCPrePayableStatementDetail_CustomEntity.RequisitionID
                                    //                                                                              select s).FirstOrDefault();


                                    //    if (entTempACCPrePayableStatementDetail != null && entTempACCPrePayableStatementDetail.BillID > 0)
                                    //    {

                                    //        //Remove Previous Item
                                    //        lstACCPrePayableStatementDetail.Remove(entTempACCPrePayableStatementDetail);

                                    //        entTempACCPrePayableStatementDetail.RequisitionNo += "," + entACCPrePayableStatementDetail_CustomEntity.RequisitionNo;

                                    //        //Add New Edited Item.
                                    //        lstACCPrePayableStatementDetail.Add(entTempACCPrePayableStatementDetail);

                                    //        continue;
                                    //    }
                                    //}



                                    Decimal workOrderAgreementAmount = 0, paidAmount = 0, tDSAmount = 0, securityMoney = 0, billAmount = 0;

                                    entACCPrePayableStatementDetail.PrePayableStatementID = result;
                                    if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.IsNotNullOrEmpty())
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderNo = entACCPrePayableStatementDetail_CustomEntity.WorkOrderNo.Trim();
                                    }
                                    else
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderNo = null;
                                    }

                                    if (entACCPrePayableStatementDetail_CustomEntity.WOAmount.HasValue)
                                    {
                                        workOrderAgreementAmount = Decimal.Parse(entACCPrePayableStatementDetail_CustomEntity.WOAmount.ToString());
                                        entACCPrePayableStatementDetail.WorkOrderAmount = workOrderAgreementAmount;
                                    }
                                    else
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderAmount = null;
                                    }

                                    if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderID = Int64.Parse(entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString());
                                    }
                                    else
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderID = null;
                                    }

                                    if (entACCPrePayableStatementDetail_CustomEntity.StartDate != null)
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderDate = entACCPrePayableStatementDetail_CustomEntity.StartDate;
                                    }
                                    else
                                    {
                                        entACCPrePayableStatementDetail.WorkOrderDate = null;
                                    }

                                    Decimal payableAgainstWO = (workOrderAgreementAmount - paidAmount - tDSAmount);
                                    //Decimal netPayableConsideringBillSecurity = (billAmount - paidAmount - securityMoney - tDSAmount); //need to discuss with Rayan vaiya. To get value from formula or anywhere else???
                                    Decimal netPayableConsideringBillSecurity = payableAgainstWO;

                                    entACCPrePayableStatementDetail.PaidAmount              = paidAmount;
                                    entACCPrePayableStatementDetail.SecurityMoney           = securityMoney;
                                    entACCPrePayableStatementDetail.TDSAmount               = tDSAmount;
                                    entACCPrePayableStatementDetail.PayableAgainstWorkOrder = payableAgainstWO;
                                    entACCPrePayableStatementDetail.NetPayableConsideringBillAndSecurity = netPayableConsideringBillSecurity;
                                    entACCPrePayableStatementDetail.CreateDate         = System.DateTime.Now;
                                    entACCPrePayableStatementDetail.ApprovedBillAmount = 0;

                                    entACCPrePayableStatementDetail.PartyReconcile = false;

                                    Int64    requisitionID   = 0;
                                    Int64    projectID       = 0;
                                    String   projectCode     = null;
                                    String   requisitionNo   = null;
                                    DateTime requisitionDate = System.DateTime.Now;

                                    if (entACCPrePayableStatementDetail_CustomEntity.WorkOrderID > 0)
                                    {
                                        String fe_WOItemMap = SqlExpressionBuilder.PrepareFilterExpression(PRMWorkOrderItemMapEntity.FLD_NAME_WorkOrderID, entACCPrePayableStatementDetail_CustomEntity.WorkOrderID.ToString(), SQLMatchType.Equal);
                                        IList <PRMWorkOrderItemMapEntity> lstWOItemMap = FCCPRMWorkOrderItemMap.GetFacadeCreate().GetIL(null, null, String.Empty, fe_WOItemMap, DatabaseOperationType.LoadWithFilterExpression);

                                        if (lstWOItemMap != null && lstWOItemMap.Count > 0)
                                        {
                                            var distinctTypeIDs = lstWOItemMap.Select(x => x.RequisitionID).Distinct();

                                            foreach (var ent in distinctTypeIDs)
                                            {
                                                String fe_requisition = SqlExpressionBuilder.PrepareFilterExpression("REQRequisition." + REQRequisitionEntity.FLD_NAME_RequisitionID, ent.ToString(), SQLMatchType.Equal);
                                                IList <REQRequisition_DetailedEntity> lstReqRequisition_detailed = FCCREQRequisition_Detailed.GetFacadeCreate().GetIL(10000, 1, String.Empty, fe_requisition);

                                                if (lstReqRequisition_detailed != null && lstReqRequisition_detailed.Count > 0)
                                                {
                                                    requisitionID   = lstReqRequisition_detailed[0].RequisitionID;
                                                    projectCode     = lstReqRequisition_detailed[0].ProjectCode;
                                                    requisitionNo  += lstReqRequisition_detailed[0].RequisitionNo + " ";
                                                    requisitionDate = lstReqRequisition_detailed[0].RequisitionDate;
                                                    projectID       = lstReqRequisition_detailed[0].ProjectID;
                                                }
                                            }
                                        }
                                    }

                                    entACCPrePayableStatementDetail.RequisitionID   = requisitionID;
                                    entACCPrePayableStatementDetail.RequisitionNo   = requisitionNo;
                                    entACCPrePayableStatementDetail.RequisitionDate = requisitionDate;
                                    entACCPrePayableStatementDetail.ProjectID       = projectID;
                                    entACCPrePayableStatementDetail.ProjectCode     = projectCode;

                                    entACCPrePayableStatementDetail.BillID             = null;
                                    entACCPrePayableStatementDetail.BillDate           = null;
                                    entACCPrePayableStatementDetail.BillNo             = null;
                                    entACCPrePayableStatementDetail.VendorCategoryID   = MasterDataConstants.MDVendorCategory.VENDOR;
                                    entACCPrePayableStatementDetail.FromVendorID       = entACCPrePayableStatementDetail_CustomEntity.SupplierID;
                                    entACCPrePayableStatementDetail.CreateByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                                    entACCPrePayableStatementDetail.Ref               = null;
                                    entACCPrePayableStatementDetail.DueDate           = DateTime.Now;
                                    entACCPrePayableStatementDetail.PlannedDate       = null;
                                    entACCPrePayableStatementDetail.Remarks           = null;
                                    entACCPrePayableStatementDetail.AdditionalRemarks = null;

                                    entACCPrePayableStatementDetail.ACCPayablePaymentStatusID              = MasterDataConstants.MDACCPayablePaymentStatus.CURRENT;
                                    entACCPrePayableStatementDetail.ACCPayableApprovalStatusID             = MasterDataConstants.ACCPrePayableStatementApprovalStatus.INITIATED;
                                    entACCPrePayableStatementDetail.AccountPaybleStatementDetailCategoryID = MasterDataConstants.MDAccountPaybleStatementDetailCategory.REGULAR;
                                    entACCPrePayableStatementDetail.PayableClassificationID = MasterDataConstants.MDPayableClassification.AS;
                                    entACCPrePayableStatementDetail.APPanelID = MasterDataConstants.DeafultAPPanel.DEFAULT_AP_PANEL;

                                    entACCPrePayableStatementDetail.IsRemoved = false;
                                    entACCPrePayableStatementDetail.IsLocked  = false;

                                    lstACCPrePayableStatementDetail.Add(entACCPrePayableStatementDetail);
                                }

                                //#region Insert To Payable Detail

                                //if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                                //{
                                //    foreach (ACCPrePayableStatementDetailEntity ent in lstACCPrePayableStatementDetail)
                                //    {
                                //        FCCACCPrePayableStatementDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                                //    }
                                //}

                                //#endregion

                                //MiscUtil.ShowMessage(lblMessage, "Pre Payable Statement Information has been added successfully.", false);
                            }

                            #endregion

                            #region Insert To Payable Detail

                            if (lstACCPrePayableStatementDetail != null && lstACCPrePayableStatementDetail.Count > 0)
                            {
                                foreach (ACCPrePayableStatementDetailEntity ent in lstACCPrePayableStatementDetail)
                                {
                                    FCCACCPrePayableStatementDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                                }
                            }

                            #endregion
                        }

                        #endregion

                        _PrePayableStatementID        = 0;
                        _ACCPrePayableStatementEntity = new ACCPrePayableStatementEntity();
                        PrepareInitialView();
                        BindACCPrePayableStatementList();

                        String navUrl = UrlHelper.BuildSecureUrl("~/ACC/ACCPrePayableStatementDetail.aspx", string.Empty, UrlConstants.OVERVIEW_PRE_PAYABLE_STATEMENT_ID, result.ToString()).ToString();
                        Response.Redirect(navUrl);

                        if (aCCPrePayableStatementEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Pre Payable Statement Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Pre Payable Statement Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (aCCPrePayableStatementEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Pre Payable Statement Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Pre Payable Statement Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
 Int64 IACCPrePayableStatementFacade.Delete(ACCPrePayableStatementEntity aCCPrePayableStatementEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateACCPrePayableStatementDataAccess().Delete(aCCPrePayableStatementEntity, filterExpression, option, reqTran));
 }
 Int64 IACCPrePayableStatementFacade.Add(ACCPrePayableStatementEntity aCCPrePayableStatementEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateACCPrePayableStatementDataAccess().Add(aCCPrePayableStatementEntity, option, reqTran));
 }