Exemple #1
0
        protected void ddlPreBOQTemplateID_SelectedIndexChanged(object sender, EventArgs e)
        {
            Int64 preBOQTemplateID = 0;

            Int64.TryParse(ddlPreBOQTemplateID.SelectedValue, out preBOQTemplateID);

            // getting selected Item for template
            if (preBOQTemplateID > 0)
            {
                populatedItems        = new List <PRMPreBOQDetailEntity>();
                populatedCheckedItems = new List <PRMPreBOQDetailEntity>();
                currentlyCheckedItems = new List <PRMPreBOQDetailEntity>();

                IList <PRMPreBOQTemplateItemMapEntity> templateItemList = new List <PRMPreBOQTemplateItemMapEntity>();

                String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQTemplateItemMapEntity.FLD_NAME_PreBOQTemplateID, preBOQTemplateID.ToString(), SQLMatchType.Equal);
                templateItemList = FCCPRMPreBOQTemplateItemMap.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

                if (templateItemList != null && templateItemList.Count > 0)
                {
                    foreach (PRMPreBOQTemplateItemMapEntity ent in templateItemList)
                    {
                        PRMPreBOQDetailEntity preBOQDetail = new PRMPreBOQDetailEntity();

                        preBOQDetail.ItemID = ent.ItemID;

                        currentlyCheckedItems.Add(preBOQDetail);

                        treeItem.ReBuildTree();
                    }
                }
            }
        }
        Int64 IPRMPreBOQDetailDataAccess.Add(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

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

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

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

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Int64 AddTran(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMPreBOQDetail_SET";

            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand cmd = db.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option, db);
                AddOutputParameter(cmd, db);
                AddNullPrimaryKeyParameter(cmd, "PreBOQDetailID", db);

                db.AddInParameter(cmd, "@PreBOQID", DbType.Int64, pRMPreBOQDetailEntity.PreBOQID);
                db.AddInParameter(cmd, "@ItemID", DbType.Int64, pRMPreBOQDetailEntity.ItemID);
                db.AddInParameter(cmd, "@Rate", DbType.Decimal, pRMPreBOQDetailEntity.Rate);
                db.AddInParameter(cmd, "@TotalQty", DbType.Decimal, pRMPreBOQDetailEntity.TotalQty);
                db.AddInParameter(cmd, "@Remarks", DbType.String, pRMPreBOQDetailEntity.Remarks);
                db.AddInParameter(cmd, "@IsRemoved", DbType.Boolean, pRMPreBOQDetailEntity.IsRemoved);
                db.AddInParameter(cmd, "@EntryDate", DbType.DateTime, pRMPreBOQDetailEntity.EntryDate);
                db.AddInParameter(cmd, "@BrandID", DbType.Int64, pRMPreBOQDetailEntity.BrandID);
                db.AddInParameter(cmd, "@SupplierID", DbType.Int64, pRMPreBOQDetailEntity.SupplierID);
                db.AddInParameter(cmd, "@RegionID", DbType.Int64, pRMPreBOQDetailEntity.RegionID);
                db.AddInParameter(cmd, "@CountryID", DbType.Int64, pRMPreBOQDetailEntity.CountryID);

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

                try
                {
                    returnCode = db.ExecuteNonQuery(cmd, transaction);

                    returnCode = GetReturnCodeFromParameter(cmd, db);

                    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);
        }
        private void UpdatePreBOQInfo()
        {
            try
            {
                IList <ListViewDataItem> list = lvPRMPreBOQDetail.Items;

                if (list != null && list.Count > 0)
                {
                    Int32 tempDataItemIndex = 0;

                    foreach (ListViewDataItem lvdi in list)
                    {
                        DataKey currentDataKey    = lvPRMPreBOQDetail.DataKeys[tempDataItemIndex++];
                        Int64   intPreBOQDetailID = (Int64)currentDataKey["PreBOQDetailID"];

                        Decimal newRate     = 0;
                        Decimal newTotalQty = 0;

                        TextBox txtRateLV     = (TextBox)lvdi.FindControl("txtRateLV");
                        TextBox txtTotalQtyLV = (TextBox)lvdi.FindControl("txtTotalQtyLV");
                        TextBox txtRemarksLV  = (TextBox)lvdi.FindControl("txtRemarksLV");

                        Decimal.TryParse(txtRateLV.Text.Trim(), out newRate);
                        Decimal.TryParse(txtTotalQtyLV.Text.Trim(), out newTotalQty);

                        PRMPreBOQDetailEntity pRMPreBOQDetailEntity = FCCPRMPreBOQDetail.GetFacadeCreate().GetByID(intPreBOQDetailID);

                        if (newRate > 0)
                        {
                            pRMPreBOQDetailEntity.Rate = newRate;
                        }

                        if (newRate > 0)
                        {
                            pRMPreBOQDetailEntity.TotalQty = newTotalQty;
                        }

                        pRMPreBOQDetailEntity.Remarks = txtRemarksLV.Text;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQDetailID, intPreBOQDetailID.ToString(), SQLMatchType.Equal);

                        FCCPRMPreBOQDetail.GetFacadeCreate().Update(pRMPreBOQDetailEntity, fe, DatabaseOperationType.Update, TransactionRequired.No);
                    }
                    PrepareInitialView();
                    MiscUtil.ShowMessage(lblMessage, "BOQ Information has been saved successfully.", false);
                }
            }
            catch (Exception ex)
            {
                MiscUtil.ShowMessage(lblMessage, "Failed to save BOQ Information.", true);
            }
        }
        private Int64 DeleteTran(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMPreBOQDetail_SET";

            Database db = DatabaseFactory.CreateDatabase();


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


                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);
        }
        private Int64 Update(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMPreBOQDetail_SET";

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

                Database.AddInParameter(cmd, "@PreBOQDetailID", DbType.Int64, pRMPreBOQDetailEntity.PreBOQDetailID);
                Database.AddInParameter(cmd, "@PreBOQID", DbType.Int64, pRMPreBOQDetailEntity.PreBOQID);
                Database.AddInParameter(cmd, "@ItemID", DbType.Int64, pRMPreBOQDetailEntity.ItemID);
                Database.AddInParameter(cmd, "@Rate", DbType.Decimal, pRMPreBOQDetailEntity.Rate);
                Database.AddInParameter(cmd, "@TotalQty", DbType.Decimal, pRMPreBOQDetailEntity.TotalQty);
                Database.AddInParameter(cmd, "@Remarks", DbType.String, pRMPreBOQDetailEntity.Remarks);
                Database.AddInParameter(cmd, "@IsRemoved", DbType.Boolean, pRMPreBOQDetailEntity.IsRemoved);
                Database.AddInParameter(cmd, "@EntryDate", DbType.DateTime, pRMPreBOQDetailEntity.EntryDate);
                Database.AddInParameter(cmd, "@BrandID", DbType.Int64, pRMPreBOQDetailEntity.BrandID);
                Database.AddInParameter(cmd, "@SupplierID", DbType.Int64, pRMPreBOQDetailEntity.SupplierID);
                Database.AddInParameter(cmd, "@RegionID", DbType.Int64, pRMPreBOQDetailEntity.RegionID);
                Database.AddInParameter(cmd, "@CountryID", DbType.Int64, pRMPreBOQDetailEntity.CountryID);

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

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

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

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

            return(returnCode);
        }
Exemple #7
0
        private void IsItemNode(TreeNode tn)
        {
            if (tn.Depth == 1)
            {
                foreach (TreeNode n in tn.ChildNodes)
                {
                    Int64 itemID   = Int64.Parse(n.Value.ToString());
                    var   tempItem = from s in currentlyCheckedItems
                                     where s.ItemID == itemID
                                     select s;

                    if (tempItem != null && tempItem.Count() > 0)
                    {
                        n.Checked = true;

                        #region Storing the populated checked nodes

                        PRMPreBOQDetailEntity ent1 = new PRMPreBOQDetailEntity();
                        ent1.ItemID = Int64.Parse(n.Value.ToString());
                        populatedCheckedItems.Add(ent1);

                        #endregion
                    }
                    else
                    {
                        n.Checked = false;
                    }

                    switch (SelectAction)
                    {
                    case "SelectAll":
                        n.Checked = true;
                        break;

                    case "DeselectAll":
                        n.Checked = false;
                        break;
                    }

                    #region Storing the populated nodes

                    PRMPreBOQDetailEntity ent = new PRMPreBOQDetailEntity();
                    ent.ItemID = Int64.Parse(n.Value.ToString());
                    populatedItems.Add(ent);

                    #endregion
                }
            }
        }
        private void UpdatePriceInfo()
        {
            String fe  = String.Empty;
            String fe1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_ItemID, _CurrentItemID.ToString(), SQLMatchType.Equal);
            String fe2 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, this._PreBOQID.ToString(), SQLMatchType.Equal);

            fe = SqlExpressionBuilder.PrepareFilterExpression(fe1, SQLJoinType.AND, fe2);

            IList <PRMPreBOQDetailEntity> preBOQDetailList = FCCPRMPreBOQDetail.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

            if (preBOQDetailList != null && preBOQDetailList.Count > 0)
            {
                PRMPreBOQDetailEntity prmPreBOQDetailent = preBOQDetailList[0];
                prmPreBOQDetailent.BrandID    = Int64.Parse(ddlBrandID.SelectedValue);
                prmPreBOQDetailent.SupplierID = Int64.Parse(ddlSupplierID.SelectedValue);
                prmPreBOQDetailent.RegionID   = Int64.Parse(ddlOriginRegionID.SelectedValue);
                prmPreBOQDetailent.CountryID  = Int64.Parse(ddlOriginCountryID.SelectedValue);
                GetCurrentPrice();
                prmPreBOQDetailent.Rate = Decimal.Parse(this.txtPrice.Text.ToString());
                FCCPRMPreBOQDetail.GetFacadeCreate().Update(prmPreBOQDetailent, fe, DatabaseOperationType.Update, TransactionRequired.No);

                IList <ListViewDataItem> list = lvPRMPreBOQDetail.Items;

                if (list != null && list.Count > 0)
                {
                    Int32 tempDataItemIndex = 0;

                    foreach (ListViewDataItem lvdi in list)
                    {
                        DataKey currentDataKey    = lvPRMPreBOQDetail.DataKeys[tempDataItemIndex++];
                        Int64   intPreBOQDetailID = (Int64)currentDataKey["PreBOQDetailID"];

                        if (preBOQDetailList[0].PreBOQDetailID == intPreBOQDetailID)
                        {
                            TextBox txtRateLV = (TextBox)lvdi.FindControl("txtRateLV");
                            txtRateLV.Text = prmPreBOQDetailent.Rate.ToString();
                        }
                    }
                }

                BindList();
            }
        }
        private Int64 Delete(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMPreBOQDetail_SET";

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


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

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

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

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

            return(returnCode);
        }
        private void UpdatePriceInfo()
        {
            String fe  = String.Empty;
            String fe1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_ItemID, _CurrentItemID.ToString(), SQLMatchType.Equal);
            String fe2 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, this._PreBOQID.ToString(), SQLMatchType.Equal);

            fe = SqlExpressionBuilder.PrepareFilterExpression(fe1, SQLJoinType.AND, fe2);

            IList <PRMPreBOQDetailEntity> preBOQDetailList = FCCPRMPreBOQDetail.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

            if (preBOQDetailList != null && preBOQDetailList.Count > 0)
            {
                PRMPreBOQDetailEntity prmPreBOQDetailent = preBOQDetailList[0];
                prmPreBOQDetailent.BrandID    = Int64.Parse(ddlBrandID.SelectedValue);
                prmPreBOQDetailent.SupplierID = Int64.Parse(ddlSupplierID.SelectedValue);
                prmPreBOQDetailent.RegionID   = Int64.Parse(ddlOriginRegionID.SelectedValue);
                prmPreBOQDetailent.CountryID  = Int64.Parse(ddlOriginCountryID.SelectedValue);
                GetCurrentPrice();
                prmPreBOQDetailent.Rate = Decimal.Parse(this.txtPrice.Text.ToString());
                FCCPRMPreBOQDetail.GetFacadeCreate().Update(prmPreBOQDetailent, fe, DatabaseOperationType.Update, TransactionRequired.No);

                BindList();
            }
        }
Exemple #11
0
        protected void btnAddToProject_Click(object sender, EventArgs e)
        {
            if (ddlProjectID.Items.Count > 0 && ddlProjectID.SelectedValue != "0")
            {
                Int64 itemID = 0;
                if (ViewState["LastUpdatedItemID"] != null)
                {
                    itemID = (Int64)ViewState["LastUpdatedItemID"];
                }

                if (itemID > 0)
                {
                    String fe_itemDefault = SqlExpressionBuilder.PrepareFilterExpression(MDItemDefaultEntity.FLD_NAME_ItemID, itemID.ToString(), SQLMatchType.Equal);
                    IList <MDItemDefaultEntity> lstmDItemDefaultEntity = FCCMDItemDefault.GetFacadeCreate().GetIL(null, null, String.Empty, fe_itemDefault, DatabaseOperationType.LoadWithFilterExpression);

                    String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQEntity.FLD_NAME_ProjectID, ddlProjectID.SelectedValue.ToString(), SQLMatchType.Equal);
                    IList <PRMPreBOQEntity> preBOQList = FCCPRMPreBOQ.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

                    if (preBOQList != null && preBOQList.Count > 0)
                    {
                        Int64   preBOQID = preBOQList[0].PreBOQID;
                        Decimal totalQty = 0;
                        Decimal.TryParse(txtQty.Text.Trim().ToString(), out totalQty);
                        Decimal currentPrice = MiscUtil.GetCurrentPrice(itemID, lstmDItemDefaultEntity[0].BrandID, lstmDItemDefaultEntity[0].SupplierID, lstmDItemDefaultEntity[0].RegionID, lstmDItemDefaultEntity[0].CountryID);

                        switch (preBOQList[0].IsLocked)
                        {
                        case true:
                            #region Add Item to BOQ

                            try
                            {
                                String fe_boq = SqlExpressionBuilder.PrepareFilterExpression(PRMBOQEntity.FLD_NAME_ProjectID, ddlProjectID.SelectedValue.ToString(), SQLMatchType.Equal);
                                IList <PRMBOQEntity> lstPRMBOQ = FCCPRMBOQ.GetFacadeCreate().GetIL(null, null, String.Empty, fe_boq, DatabaseOperationType.LoadWithFilterExpression);

                                if (lstPRMBOQ != null && lstPRMBOQ.Count > 0)
                                {
                                    PRMBOQDetailEntity pRMBOQDeatEntity = new PRMBOQDetailEntity();
                                    pRMBOQDeatEntity.BOQID      = lstPRMBOQ[0].BOQID;
                                    pRMBOQDeatEntity.ItemID     = itemID;
                                    pRMBOQDeatEntity.BrandID    = lstmDItemDefaultEntity[0].BrandID;
                                    pRMBOQDeatEntity.RegionID   = lstmDItemDefaultEntity[0].RegionID;
                                    pRMBOQDeatEntity.CountryID  = lstmDItemDefaultEntity[0].CountryID;
                                    pRMBOQDeatEntity.SupplierID = lstmDItemDefaultEntity[0].SupplierID;
                                    pRMBOQDeatEntity.Remarks    = "Directly Added From Item";
                                    pRMBOQDeatEntity.IsRemoved  = false;
                                    pRMBOQDeatEntity.Rate       = currentPrice;
                                    pRMBOQDeatEntity.EntryDate  = System.DateTime.Now;
                                    pRMBOQDeatEntity.TotalQty   = totalQty;

                                    Int64 result_boq = -1;

                                    result_boq = FCCPRMBOQDetail.GetFacadeCreate().Add(pRMBOQDeatEntity, DatabaseOperationType.Add, TransactionRequired.No);

                                    if (result_boq > 0)
                                    {
                                        PRMAvailableBOQQtyForRequisitionEntity pRMAvailableBOQQtyForRequisitionEntity = new PRMAvailableBOQQtyForRequisitionEntity();

                                        pRMAvailableBOQQtyForRequisitionEntity.IsBOQ = true;
                                        pRMAvailableBOQQtyForRequisitionEntity.PreBOQOrBOQDetailID = result_boq;
                                        pRMAvailableBOQQtyForRequisitionEntity.ItemID              = itemID;
                                        pRMAvailableBOQQtyForRequisitionEntity.Qty                 = totalQty;
                                        pRMAvailableBOQQtyForRequisitionEntity.CreateDate          = DateTime.Now;
                                        pRMAvailableBOQQtyForRequisitionEntity.CreatedByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                                        pRMAvailableBOQQtyForRequisitionEntity.ProjectID           = Int64.Parse(ddlProjectID.SelectedValue);


                                        Int64 result_available = -1;
                                        result_available = FCCPRMAvailableBOQQtyForRequisition.GetFacadeCreate().Add(pRMAvailableBOQQtyForRequisitionEntity, DatabaseOperationType.Add, TransactionRequired.No);

                                        MiscUtil.ShowMessage(lblMessage, "Qty Added Successfully to Project Cost.", false);
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                MiscUtil.ShowMessage(lblMessage, "Some Error Occured.", true);
                            }

                            #endregion

                            break;

                        case false:

                            #region Add Item to Pre-BOQ

                            try
                            {
                                String fe_preBOQ = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQEntity.FLD_NAME_ProjectID, ddlProjectID.SelectedValue.ToString(), SQLMatchType.Equal);
                                IList <PRMPreBOQEntity> lstPRMPreBOQ = FCCPRMPreBOQ.GetFacadeCreate().GetIL(null, null, String.Empty, fe_preBOQ, DatabaseOperationType.LoadWithFilterExpression);

                                if (lstPRMPreBOQ != null && lstPRMPreBOQ.Count > 0)
                                {
                                    PRMPreBOQDetailEntity pRMPreBOQDeatEntity = new PRMPreBOQDetailEntity();
                                    pRMPreBOQDeatEntity.PreBOQID   = lstPRMPreBOQ[0].PreBOQID;
                                    pRMPreBOQDeatEntity.ItemID     = itemID;
                                    pRMPreBOQDeatEntity.BrandID    = lstmDItemDefaultEntity[0].BrandID;
                                    pRMPreBOQDeatEntity.RegionID   = lstmDItemDefaultEntity[0].RegionID;
                                    pRMPreBOQDeatEntity.CountryID  = lstmDItemDefaultEntity[0].CountryID;
                                    pRMPreBOQDeatEntity.SupplierID = lstmDItemDefaultEntity[0].SupplierID;
                                    pRMPreBOQDeatEntity.TotalQty   = totalQty;
                                    pRMPreBOQDeatEntity.Remarks    = "Directly Added From Item";
                                    pRMPreBOQDeatEntity.IsRemoved  = false;
                                    pRMPreBOQDeatEntity.Rate       = currentPrice;
                                    pRMPreBOQDeatEntity.EntryDate  = System.DateTime.Now;

                                    Int64 result_preboq = -1;

                                    result_preboq = FCCPRMPreBOQDetail.GetFacadeCreate().Add(pRMPreBOQDeatEntity, DatabaseOperationType.Add, TransactionRequired.No);

                                    if (result_preboq > 0)
                                    {
                                        PRMAvailableBOQQtyForRequisitionEntity pRMAvailableBOQQtyForRequisitionEntity = new PRMAvailableBOQQtyForRequisitionEntity();

                                        pRMAvailableBOQQtyForRequisitionEntity.IsBOQ = false;
                                        pRMAvailableBOQQtyForRequisitionEntity.PreBOQOrBOQDetailID = result_preboq;
                                        pRMAvailableBOQQtyForRequisitionEntity.ItemID              = itemID;
                                        pRMAvailableBOQQtyForRequisitionEntity.Qty                 = totalQty;
                                        pRMAvailableBOQQtyForRequisitionEntity.CreateDate          = DateTime.Now;
                                        pRMAvailableBOQQtyForRequisitionEntity.CreatedByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                                        pRMAvailableBOQQtyForRequisitionEntity.ProjectID           = Int64.Parse(ddlProjectID.SelectedValue);

                                        Int64 result_available = -1;
                                        result_available = FCCPRMAvailableBOQQtyForRequisition.GetFacadeCreate().Add(pRMAvailableBOQQtyForRequisitionEntity, DatabaseOperationType.Add, TransactionRequired.No);

                                        MiscUtil.ShowMessage(lblMessage, "Qty Added Successfully to BOQ.", false);
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                MiscUtil.ShowMessage(lblMessage, "Some Error Occured.", true);
                            }

                            #endregion

                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
        protected void btnPnlSaveAdditionalQty_Click(object sender, EventArgs e)
        {
            PRMPreBOQDetailEntity pRMBOQDetailEntity = FCCPRMPreBOQDetail.GetFacadeCreate().GetByID(_CurrentPreBOQDetailIDPopup);

            if (pRMBOQDetailEntity != null && pRMBOQDetailEntity.PreBOQDetailID > 0)
            {
                Decimal additionalQty = 0;
                Decimal.TryParse(txtQty.Text.Trim().ToString(), out additionalQty);

                PRMAvailableBOQQtyForRequisitionEntity pRMAvailableBOQQtyForRequisitionEntity = new PRMAvailableBOQQtyForRequisitionEntity();

                pRMAvailableBOQQtyForRequisitionEntity.IsBOQ = false;
                pRMAvailableBOQQtyForRequisitionEntity.PreBOQOrBOQDetailID = _CurrentPreBOQDetailIDPopup;
                pRMAvailableBOQQtyForRequisitionEntity.ItemID              = pRMBOQDetailEntity.ItemID;
                pRMAvailableBOQQtyForRequisitionEntity.Qty                 = additionalQty;
                pRMAvailableBOQQtyForRequisitionEntity.CreateDate          = DateTime.Now;
                pRMAvailableBOQQtyForRequisitionEntity.CreatedByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);

                PRMPreBOQEntity pRMPreBOQEntity = FCCPRMPreBOQ.GetFacadeCreate().GetByID(pRMBOQDetailEntity.PreBOQID);
                pRMAvailableBOQQtyForRequisitionEntity.ProjectID = pRMPreBOQEntity.ProjectID;

                Int64 result = -1;
                result = FCCPRMAvailableBOQQtyForRequisition.GetFacadeCreate().Add(pRMAvailableBOQQtyForRequisitionEntity, DatabaseOperationType.Add, TransactionRequired.No);

                if (result > 0)
                {
                    String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQDetailID, _CurrentPreBOQDetailIDPopup.ToString(), SQLMatchType.Equal);

                    pRMBOQDetailEntity.TotalQty = pRMBOQDetailEntity.TotalQty + additionalQty;

                    FCCPRMPreBOQDetail.GetFacadeCreate().Update(pRMBOQDetailEntity, fe, DatabaseOperationType.Update, TransactionRequired.No);

                    IList <ListViewDataItem> list = lvPRMPreBOQDetail.Items;

                    if (list != null && list.Count > 0)
                    {
                        Int32 tempDataItemIndex = 0;

                        foreach (ListViewDataItem lvdi in list)
                        {
                            DataKey currentDataKey = lvPRMPreBOQDetail.DataKeys[tempDataItemIndex++];
                            Int64   PreBOQDetailID = (Int64)currentDataKey["PreBOQDetailID"];

                            if (_CurrentPreBOQDetailIDPopup == PreBOQDetailID)
                            {
                                TextBox txtTotalQtyLV = (TextBox)lvdi.FindControl("txtTotalQtyLV");
                                txtTotalQtyLV.Text = pRMBOQDetailEntity.TotalQty.ToString();
                            }
                        }
                    }

                    BindPRMPreBOQDetailList();

                    #region PreBOQ Floor Detail

                    String fe_projectFloor = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQFloorDetailEntity.FLD_NAME_PreBOQDetailID, _CurrentPreBOQDetailIDPopup.ToString(), SQLMatchType.Equal);
                    IList <PRMPreBOQFloorDetailEntity> lstPRMPreBOQFloorDetail = FCCPRMPreBOQFloorDetail.GetFacadeCreate().GetIL(null, null, String.Empty, fe_projectFloor, DatabaseOperationType.LoadWithFilterExpression);

                    if (lstPRMPreBOQFloorDetail != null && lstPRMPreBOQFloorDetail.Count > 0)
                    {
                        Int64   totalfloorCount = lstPRMPreBOQFloorDetail.Count;
                        Decimal avgQty          = pRMBOQDetailEntity.TotalQty / totalfloorCount;

                        foreach (PRMPreBOQFloorDetailEntity ent in lstPRMPreBOQFloorDetail)
                        {
                            String fe1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQFloorDetailEntity.FLD_NAME_PreBOQFloorDetailID, ent.PreBOQFloorDetailID.ToString(), SQLMatchType.Equal);
                            ent.Qty = avgQty;
                            FCCPRMPreBOQFloorDetail.GetFacadeCreate().Update(ent, fe1, DatabaseOperationType.Update, TransactionRequired.No);
                        }
                    }

                    #endregion

                    this.ModalPopupExtender1.Hide();
                }
            }
        }
        protected void lvPRMPreBOQDetail_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            #region Modify Qty

            if (e.CommandName == "ModifyQty")
            {
                Int64 ItemID;

                Int64.TryParse(e.CommandArgument.ToString(), out ItemID);
                Label   lblPreBOQDetailIDLV = (Label)e.Item.FindControl("lblPreBOQDetailIDLV");
                TextBox txtRateLV           = (TextBox)e.Item.FindControl("txtRateLV");

                Int64 preBOQDetailID = Int64.Parse(lblPreBOQDetailIDLV.Text);
                _CurrentPreBOQDetailIDPopup = preBOQDetailID;

                if (ItemID > 0)
                {
                    _CurrentItemID        = ItemID;
                    this.lblItemName.Text = ((Label)e.Item.FindControl("lblItemNameLV")).Text;

                    PRMPreBOQDetailEntity bOQDetailEntity = FCCPRMPreBOQDetail.GetFacadeCreate().GetByID(preBOQDetailID);

                    if (bOQDetailEntity != null && bOQDetailEntity.PreBOQDetailID > 0)
                    {
                        String fe3 = SqlExpressionBuilder.PrepareFilterExpression(BDProjectFloorEntity.FLD_NAME_ProjectID, this.OverviewProjectID.ToString(), SQLMatchType.Equal);
                        IList <BDProjectFloorEntity> bDProjectFloorList = FCCBDProjectFloor.GetFacadeCreate().GetIL(null, null, String.Empty, fe3, DatabaseOperationType.LoadWithFilterExpression);

                        if (bDProjectFloorList != null && bDProjectFloorList.Count > 0)
                        {
                            foreach (BDProjectFloorEntity bdProjectfloorent in bDProjectFloorList)
                            {
                                String fe4            = String.Empty;
                                String feFloorDetail1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQFloorDetailEntity.FLD_NAME_ProjectFloorID, bdProjectfloorent.ProjectFloorID.ToString(), SQLMatchType.Equal);
                                String feFloorDetail2 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQFloorDetailEntity.FLD_NAME_PreBOQDetailID, preBOQDetailID.ToString(), SQLMatchType.Equal);
                                fe4 = SqlExpressionBuilder.PrepareFilterExpression(feFloorDetail1, SQLJoinType.AND, feFloorDetail2);

                                IList <PRMPreBOQFloorDetailEntity> list = FCCPRMPreBOQFloorDetail.GetFacadeCreate().GetIL(null, null, String.Empty, fe4, DatabaseOperationType.LoadWithFilterExpression);

                                if (list == null || list.Count <= 0)
                                {
                                    PRMPreBOQFloorDetailEntity ent = new PRMPreBOQFloorDetailEntity();
                                    ent.PreBOQDetailID = Int64.Parse(preBOQDetailID.ToString());
                                    ent.ProjectFloorID = Int64.Parse(bdProjectfloorent.ProjectFloorID.ToString());
                                    Decimal dividedQty;
                                    Decimal RateLV;

                                    Decimal.TryParse(txtRateLV.Text, out RateLV);
                                    Decimal.TryParse((bOQDetailEntity.TotalQty / (this.OverviewProject.NoOfBasement + this.OverviewProject.NoOfStoried)).ToString(), out dividedQty);

                                    switch (bdProjectfloorent.FloorCategoryID)
                                    {
                                    case MasterDataConstants.FloorCategory.BASEMENT:
                                        dividedQty = dividedQty / 4;     //Assumuation
                                        break;

                                    case MasterDataConstants.FloorCategory.FLOOR:
                                        dividedQty = dividedQty * 1;     //Assumuation
                                        break;

                                    case MasterDataConstants.FloorCategory.PENTHOUSE:
                                        dividedQty = dividedQty * 2;     //Assumuation
                                        break;

                                    case MasterDataConstants.FloorCategory.HEAD_ROOM:
                                        dividedQty = dividedQty * 3;     //Assumuation
                                        break;

                                    default:
                                        dividedQty = 0;
                                        break;
                                    }

                                    ent.Rate      = RateLV;
                                    ent.Qty       = dividedQty;
                                    ent.Remarks   = String.Empty;
                                    ent.EntryDate = System.DateTime.Now;
                                    FCCPRMPreBOQFloorDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                                }
                            }

                            BindPRMPreBOQFloorDetailList();

                            this.ModalPopupExtender2.Show();
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "No Floor Available.", true);
                        }
                    }
                }
            }

            #endregion

            #region Modify Price

            if (e.CommandName == "ModifyPrice")
            {
                Int64 ItemID;

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

                if (ItemID > 0)
                {
                    MiscUtil.PopulateMDBrandByItemID(ddlBrandID, false, Int64.Parse(ItemID.ToString()));
                    this.lblItemName.Text = ((Label)e.Item.FindControl("lblItemNameLV")).Text;

                    if (ddlBrandID != null && ddlBrandID.Items.Count > 0)
                    {
                        this.ddlBrandID.SelectedValue = ((Label)e.Item.FindControl("lblBrandID")).Text;
                    }

                    BuildSupplierByBrand();

                    if (ddlSupplierID != null && ddlSupplierID.Items.Count > 0)
                    {
                        this.ddlSupplierID.SelectedValue = ((Label)e.Item.FindControl("lblSupplierID")).Text;
                    }
                    _CurrentItemID = ItemID;

                    if (ddlOriginRegionID != null && ddlOriginRegionID.Items.Count > 0)
                    {
                        this.ddlOriginRegionID.SelectedValue = ((Label)e.Item.FindControl("lblRegionID")).Text;
                    }
                    BuildCountryDropdownByRegion();

                    if (ddlOriginCountryID != null && ddlOriginCountryID.Items.Count > 0)
                    {
                        this.ddlOriginCountryID.SelectedValue = ((Label)e.Item.FindControl("lblCountryID")).Text;
                    }

                    GetCurrentPrice();
                }

                this.Panel1_ModalPopupExtender.Show();
            }

            if (e.CommandName == "AdditionalQty")
            {
                Int64 preBoqDetailID;

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

                if (preBoqDetailID > 0)
                {
                    _CurrentPreBOQDetailIDPopup = preBoqDetailID;

                    this.ModalPopupExtender1.Show();
                }
            }

            #endregion
        }
        private void UpdatePreBOQFloorDetail()
        {
            try
            {
                IList <ListViewDataItem> listPRMPreFloorDetail = lvPRMPreBOQFloorDetail.Items;

                if (listPRMPreFloorDetail != null && listPRMPreFloorDetail.Count > 0)
                {
                    Decimal Totalqty = 0, totalRate = 0, avgRate, avgTotalQty, count = 0;

                    foreach (ListViewDataItem lvdi in listPRMPreFloorDetail)
                    {
                        Int64   floorDetailID;
                        Decimal newQty, floorRate;

                        TextBox txtTotalQtyLV   = (TextBox)lvdi.FindControl("txtQtyLV");
                        TextBox txtRateLV       = (TextBox)lvdi.FindControl("txtRateLV");
                        TextBox txtRemarksLV    = (TextBox)lvdi.FindControl("txtRemarksLV");
                        Label   floorDetailIDLV = (Label)lvdi.FindControl("lblPreBOQFloorDetailIDLV");

                        Decimal.TryParse(txtTotalQtyLV.Text.Trim(), out newQty);
                        Decimal.TryParse(txtRateLV.Text.Trim(), out floorRate);
                        Int64.TryParse(floorDetailIDLV.Text.Trim(), out floorDetailID);

                        PRMPreBOQFloorDetailEntity pRMPreBOQFloorDetailEntity = FCCPRMPreBOQFloorDetail.GetFacadeCreate().GetByID(floorDetailID);
                        pRMPreBOQFloorDetailEntity.Qty       = newQty;
                        pRMPreBOQFloorDetailEntity.Rate      = floorRate;
                        pRMPreBOQFloorDetailEntity.Remarks   = txtRemarksLV.Text;
                        pRMPreBOQFloorDetailEntity.EntryDate = System.DateTime.Now;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQFloorDetailEntity.FLD_NAME_PreBOQFloorDetailID, floorDetailID.ToString(), SQLMatchType.Equal);

                        FCCPRMPreBOQFloorDetail.GetFacadeCreate().Update(pRMPreBOQFloorDetailEntity, fe, DatabaseOperationType.Update, TransactionRequired.No);

                        Totalqty  += newQty;
                        totalRate += floorRate;
                        count++;
                    }

                    avgRate     = totalRate / count;
                    avgTotalQty = Totalqty / count;

                    #region Update Project Cost Qty

                    String fe_BOQDetail = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQDetailID, _CurrentPreBOQDetailIDPopup.ToString(), SQLMatchType.Equal);
                    PRMPreBOQDetailEntity prmBOQDetailEntity = FCCPRMPreBOQDetail.GetFacadeCreate().GetByID(_CurrentPreBOQDetailIDPopup);
                    prmBOQDetailEntity.TotalQty = Totalqty;

                    FCCPRMPreBOQDetail.GetFacadeCreate().Update(prmBOQDetailEntity, fe_BOQDetail, DatabaseOperationType.Update, TransactionRequired.No);

                    IList <ListViewDataItem> listPRMBOQDetail = lvPRMPreBOQDetail.Items;

                    if (listPRMBOQDetail != null && listPRMBOQDetail.Count > 0)
                    {
                        Int32 tempDataItemIndex = 0;

                        foreach (ListViewDataItem lvdi in listPRMBOQDetail)
                        {
                            DataKey currentDataKey    = lvPRMPreBOQDetail.DataKeys[tempDataItemIndex++];
                            Int64   intPreBOQDetailID = (Int64)currentDataKey["PreBOQDetailID"];

                            if (_CurrentPreBOQDetailIDPopup == intPreBOQDetailID)
                            {
                                TextBox txtRateLV     = (TextBox)lvdi.FindControl("txtRateLV");
                                TextBox txtTotalQtyLV = (TextBox)lvdi.FindControl("txtTotalQtyLV");
                                txtTotalQtyLV.Text = Totalqty.ToString();
                                txtRateLV.Text     = avgRate.ToString();
                                break;
                            }
                        }
                    }

                    BindList();

                    #endregion

                    MiscUtil.ShowMessage(lblMessage, "Project Cost Information has been saved successfully.", false);
                }
            }
            catch (Exception ex)
            {
                MiscUtil.ShowMessage(lblMessage, "Failed to Save Project Cost Information.", true);
            }
        }
Exemple #15
0
        private void SavePreBOQDetailInfo()
        {
            try
            {
                #region Getting the checked items from tree

                IList <PRMPreBOQDetailEntity> checkedItemsFromTree = new List <PRMPreBOQDetailEntity>();

                foreach (TreeNode tn in treeItem.CheckedNodes)
                {
                    PRMPreBOQDetailEntity ent = new PRMPreBOQDetailEntity();
                    ent.ItemID = Int64.Parse(tn.Value.ToString());

                    checkedItemsFromTree.Add(ent);
                }

                #endregion

                Int64 preBOQID = 0;

                if (isNewEntry == true)
                {
                    preBOQID = FCCPRMPreBOQ.GetFacadeCreate().Add(BuildPRMPreBOQEntity(), DatabaseOperationType.Add, TransactionRequired.No);
                }
                else
                {
                    preBOQID = currentPreBOQ.PreBOQID;

                    String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, preBOQID.ToString(), SQLMatchType.Equal);

                    //  FCCPRMPreBOQDetail.GetFacadeCreate().Delete(new PRMPreBOQDetailEntity(), fe, DatabaseOperationType.Delete, TransactionRequired.No);
                }


                #region Adding OLD

                //IList<PRMPreBOQDetailEntity> addListOfNotPopulatedItems = currentlyCheckedItems.Except(populatedItems, new CustomerComparer()).ToList();

                //StringBuilder xmlStr = new StringBuilder();
                //String subXmlStr = String.Empty;

                //xmlStr.Append("<m>");

                //foreach (PRMPreBOQDetailEntity ent in addListOfNotPopulatedItems)
                //{
                //    subXmlStr = subXmlStr + "<i><a>" + preBOQID + "</a><b>" + ent.ItemID + "</b></i>";
                //}

                //foreach (PRMPreBOQDetailEntity ent in checkedItemsFromTree)
                //{
                //    subXmlStr = subXmlStr + "<i><a>" + preBOQID + "</a><b>" + ent.ItemID + "</b></i>";
                //}

                //xmlStr.Append(subXmlStr.ToString());
                //xmlStr.Append("</m>");


                //FCCBulkInsertXML.GetFacadeCreate().GetIL(xmlStr.ToString(), CommonConstants.PreBOQDetailTableInfo);

                #endregion OLD

                #region Adding New

                IList <PRMPreBOQDetailEntity> addListOfNotPopulatedItems = currentlyCheckedItems.Except(populatedItems, new CustomerComparer()).ToList();

                IList <PRMPreBOQDetailEntity> completeAddList = new List <PRMPreBOQDetailEntity>();
                completeAddList = addListOfNotPopulatedItems;

                foreach (PRMPreBOQDetailEntity ent in checkedItemsFromTree)
                {
                    completeAddList.Add(ent);
                }

                IList <PRMPreBOQDetailEntity> finalAddList    = completeAddList.Except(mappedItemsFromDB, new CustomerComparer()).ToList();
                IList <PRMPreBOQDetailEntity> finalDeleteList = mappedItemsFromDB.Except(completeAddList, new CustomerComparer()).ToList();

                if (finalAddList != null && finalAddList.Count > 0)
                {
                    StringBuilder xmlStr    = new StringBuilder();
                    String        subXmlStr = String.Empty;
                    xmlStr.Append("<m>");

                    foreach (PRMPreBOQDetailEntity ent in finalAddList)
                    {
                        #region SET Item Rate and Qty OLD

                        #region Get and Assign Item Price
                        ////Collect Item Actual Price with Default Brand, Vendor, Region, Country ID.
                        //Decimal ActualPrice=0;
                        //Int64 BrandID=MasterDataConstants.ItemDefaults.DEFAULT_BRAD;
                        //Int64 SupplierID=MasterDataConstants.ItemDefaults.DEFAULT_SUPPLIER;
                        //Int64 RegionID=MasterDataConstants.ItemDefaults.DEFAULT_REGION;
                        //Int64 CountryID= MasterDataConstants.ItemDefaults.DEFAULT_COUNTRY;

                        //String fe = SqlExpressionBuilder.PrepareFilterExpression(MDItemDefaultEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                        //IList<MDItemDefaultEntity> itemDefaultList = FCCMDItemDefault.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

                        //if (itemDefaultList != null && itemDefaultList.Count > 0)
                        //{
                        //    Int64.TryParse(itemDefaultList[0].BrandID.ToString(),out BrandID);
                        //    Int64.TryParse(itemDefaultList[0].SupplierID.ToString(), out SupplierID);
                        //    Int64.TryParse(itemDefaultList[0].RegionID.ToString(), out RegionID);
                        //    Int64.TryParse(itemDefaultList[0].CountryID.ToString(), out CountryID);
                        //}

                        //var supplierItemMap = (from s in supplierItemMapList
                        //                       where s.ItemID == ent.ItemID
                        //                       && s.BrandID == BrandID
                        //                       && s.SupplierID == SupplierID
                        //                       && s.OriginRegionID == RegionID
                        //                       && s.OriginCountryID == CountryID
                        //                       select s).ToList();

                        //if (supplierItemMap != null && supplierItemMap.Count > 0)
                        //{
                        //    Decimal.TryParse(supplierItemMap[0].Price.ToString(), out ActualPrice);
                        //}

                        #endregion

                        #region Thumb Rules
                        ////Collect Total Qty From Thumb Rules
                        //Decimal totalQty = 0;

                        //String feThumbRule = SqlExpressionBuilder.PrepareFilterExpression(MDItemThumbRuleEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                        //IList<MDItemThumbRuleEntity> itemThumbRuleList = FCCMDItemThumbRule.GetFacadeCreate().GetIL(null, null, String.Empty, feThumbRule, DatabaseOperationType.LoadWithFilterExpression);

                        //if (itemThumbRuleList != null && itemThumbRuleList.Count > 0)
                        //{
                        //    totalQty += itemThumbRuleList[0].FloorQuantity * itemThumbRuleList[0].FloorRuleVariable * this.OverviewProject.LandAreaSft.Value * this.OverviewProject.NoOfStoried.Value;
                        //    totalQty += itemThumbRuleList[0].BasementQuantity * itemThumbRuleList[0].BasementRuleVariable * this.OverviewProject.LandAreaSft.Value * this.OverviewProject.NoOfBasement.Value;
                        //    totalQty += itemThumbRuleList[0].OverallQuantity * itemThumbRuleList[0].OverallRuleVariable * this.OverviewProject.LandAreaSft.Value;
                        //}

                        #endregion

                        #endregion

                        #region SET Item Rate and Qty

                        //GET Item Actual Price From Pre-BOQ or Set Zero

                        Decimal actualPrice = 0;
                        Decimal totalQty    = 0;

                        Boolean importPriceFlag = false, importQtyFlag = false;

                        foreach (ListItem chbxItem in chbxImportInfoList.Items)
                        {
                            if (chbxItem.Selected == true && chbxItem.Text == CommonConstants.IMPORT_RATE_INFO)
                            {
                                importPriceFlag = true;
                            }

                            if (chbxItem.Selected == true && chbxItem.Text == CommonConstants.IMPORT_QTY_INFO)
                            {
                                importQtyFlag = true;
                            }
                        }
                        Int64 BrandID    = MasterDataConstants.ItemDefaults.DEFAULT_BRAD;
                        Int64 SupplierID = MasterDataConstants.ItemDefaults.DEFAULT_SUPPLIER;
                        Int64 RegionID   = MasterDataConstants.ItemDefaults.DEFAULT_REGION;
                        Int64 CountryID  = MasterDataConstants.ItemDefaults.DEFAULT_COUNTRY;

                        IList <PRMPreBOQDetailEntity> _pRMPreBOQDeatilEntity = (from s in mappedItemsFromDB
                                                                                where s.ItemID == ent.ItemID
                                                                                select s).ToList();
                        if (importPriceFlag)
                        {
                            if (_pRMPreBOQDeatilEntity != null && _pRMPreBOQDeatilEntity.Count > 0 && _pRMPreBOQDeatilEntity[0].Rate > 0)
                            {
                                Int64.TryParse(_pRMPreBOQDeatilEntity[0].BrandID.ToString(), out BrandID);
                                Int64.TryParse(_pRMPreBOQDeatilEntity[0].SupplierID.ToString(), out SupplierID);
                                Int64.TryParse(_pRMPreBOQDeatilEntity[0].RegionID.ToString(), out RegionID);
                                Int64.TryParse(_pRMPreBOQDeatilEntity[0].CountryID.ToString(), out CountryID);
                                Decimal.TryParse(_pRMPreBOQDeatilEntity[0].Rate.ToString(), out actualPrice);
                            }

                            else
                            {
                                #region SET Rate From Price Database

                                String fe = SqlExpressionBuilder.PrepareFilterExpression(MDItemDefaultEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                                IList <MDItemDefaultEntity> itemDefaultList = FCCMDItemDefault.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

                                if (itemDefaultList != null && itemDefaultList.Count > 0)
                                {
                                    Int64.TryParse(itemDefaultList[0].BrandID.ToString(), out BrandID);
                                    Int64.TryParse(itemDefaultList[0].SupplierID.ToString(), out SupplierID);
                                    Int64.TryParse(itemDefaultList[0].RegionID.ToString(), out RegionID);
                                    Int64.TryParse(itemDefaultList[0].CountryID.ToString(), out CountryID);
                                }

                                var supplierItemMap = (from s in supplierItemMapList
                                                       where s.ItemID == ent.ItemID &&
                                                       s.BrandID == BrandID &&
                                                       s.SupplierID == SupplierID &&
                                                       s.OriginRegionID == RegionID &&
                                                       s.OriginCountryID == CountryID
                                                       select s).ToList();

                                if (supplierItemMap != null && supplierItemMap.Count > 0)
                                {
                                    Decimal.TryParse(supplierItemMap[0].Price.ToString(), out actualPrice);
                                }

                                #endregion
                            }
                        }

                        if (importQtyFlag)
                        {
                            if (_pRMPreBOQDeatilEntity != null && _pRMPreBOQDeatilEntity.Count > 0 && _pRMPreBOQDeatilEntity[0].TotalQty > 0)
                            {
                                Decimal.TryParse(_pRMPreBOQDeatilEntity[0].TotalQty.ToString(), out totalQty);
                            }


                            else
                            {
                                #region GET Qty From ThumbRule

                                String feThumbRule = SqlExpressionBuilder.PrepareFilterExpression(MDItemThumbRuleEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                                IList <MDItemThumbRuleEntity> itemThumbRuleList = FCCMDItemThumbRule.GetFacadeCreate().GetIL(null, null, String.Empty, feThumbRule, DatabaseOperationType.LoadWithFilterExpression);

                                if (itemThumbRuleList != null && itemThumbRuleList.Count > 0)
                                {
                                    totalQty += itemThumbRuleList[0].FloorQuantity * itemThumbRuleList[0].FloorRuleVariable * this.OverviewProject.LandAreaSft.Value * this.OverviewProject.NoOfStoried.Value;
                                    totalQty += itemThumbRuleList[0].BasementQuantity * itemThumbRuleList[0].BasementRuleVariable * this.OverviewProject.LandAreaSft.Value * this.OverviewProject.NoOfBasement.Value;
                                    totalQty += itemThumbRuleList[0].OverallQuantity * itemThumbRuleList[0].OverallRuleVariable * this.OverviewProject.LandAreaSft.Value;
                                }

                                #endregion
                            }
                        }


                        #endregion

                        subXmlStr = subXmlStr + "<i><a>" + preBOQID + "</a><b>" + ent.ItemID + "</b><c>" + actualPrice + "</c><d>" + totalQty + "</d><e>" + String.Empty + "</e><f>" + MiscUtil.ParseToDateTime(DateTime.Now.ToStringDefault()) + "</f><g>" + BrandID + "</g><j>" + SupplierID + "</j><k>" + RegionID + "</k><l>" + CountryID + "</l></i>";
                    }
                    xmlStr.Append(subXmlStr.ToString());
                    xmlStr.Append("</m>");

                    FCCBulkInsertXML.GetFacadeCreate().GetIL(xmlStr.ToString(), CommonConstants.PreBOQDetailTableInfo);
                }
                #endregion New

                #region DeleteFromDB New

                if (finalDeleteList != null && finalDeleteList.Count > 0)
                {
                    foreach (PRMPreBOQDetailEntity ent in finalDeleteList)
                    {
                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQDetailID, ent.PreBOQDetailID.ToString(), SQLMatchType.Equal);
                        FCCPRMPreBOQDetail.GetFacadeCreate().Delete(new PRMPreBOQDetailEntity(), fe, DatabaseOperationType.Delete, TransactionRequired.No);
                    }
                }

                #endregion DeleteFromDB New


                #region Backup

                //else
                //{


                //    IList<PRMPreBOQDetailEntity> temp_currentlyCheckedItems = currentlyCheckedItems.Except(populatedItems, new CustomerComparer()).ToList();
                //    IList<PRMPreBOQDetailEntity> temp_mappedItemsFromDB = mappedItemsFromDB.Except(populatedItems, new CustomerComparer()).ToList();

                //    IList<PRMPreBOQDetailEntity> al = temp_currentlyCheckedItems.Except(temp_mappedItemsFromDB, new CustomerComparer()).ToList();
                //    IList<PRMPreBOQDetailEntity> dl = temp_mappedItemsFromDB.Except(temp_currentlyCheckedItems, new CustomerComparer()).ToList();


                //    IList<PRMPreBOQDetailEntity> new_al = checkedItemsFromTree.Except(populatedCheckedItems, new CustomerComparer()).ToList();
                //    IList<PRMPreBOQDetailEntity> new_dl = populatedCheckedItems.Except(checkedItemsFromTree, new CustomerComparer()).ToList();

                //    #region Deleting

                //    foreach (PRMPreBOQDetailEntity ent in new_dl)
                //    {
                //        String fe1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, preBOQID.ToString(), SQLMatchType.Equal);
                //        String fe2 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                //        String fe = SqlExpressionBuilder.PrepareFilterExpression(fe1, SQLJoinType.AND, fe2);
                //        FCCPRMPreBOQDetail.GetFacadeCreate().Delete(ent, fe, DatabaseOperationType.Delete, TransactionRequired.No);
                //    }

                //    foreach (PRMPreBOQDetailEntity ent in dl)
                //    {
                //        String fe1 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, preBOQID.ToString(), SQLMatchType.Equal);
                //        String fe2 = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_ItemID, ent.ItemID.ToString(), SQLMatchType.Equal);
                //        String fe = SqlExpressionBuilder.PrepareFilterExpression(fe1, SQLJoinType.AND, fe2);
                //        FCCPRMPreBOQDetail.GetFacadeCreate().Delete(ent, fe, DatabaseOperationType.Delete, TransactionRequired.No);
                //    }

                //    #endregion

                //    #region Adding

                //    StringBuilder xmlStr = new StringBuilder();
                //    String subXmlStr = String.Empty;

                //    xmlStr.Append("<m>");

                //    foreach (PRMPreBOQDetailEntity ent in new_al)
                //    {
                //        subXmlStr = subXmlStr + "<i><a>" + preBOQID + "</a><b>" + ent.ItemID + "</b></i>";
                //    }

                //    foreach (PRMPreBOQDetailEntity ent in al)
                //    {
                //        subXmlStr = subXmlStr + "<i><a>" + preBOQID + "</a><b>" + ent.ItemID + "</b></i>";
                //    }

                //    xmlStr.Append(subXmlStr.ToString());
                //    xmlStr.Append("</m>");


                //    FCCBulkInsertXML.GetFacadeCreate().GetIL(xmlStr.ToString(), CommonConstants.PreBOQDetailTableInfo);

                //    #endregion
                //}

                #endregion

                treeItem.ReBuildTree();
                PrepareFormView();

                MiscUtil.ShowMessage(lblMessage, "BOQ Setup Updated Successfully.", false);
            }
            catch (Exception ex)
            {
                MiscUtil.ShowMessage(lblMessage, "An Error Occoured.", true);
            }
        }
 Int64 IPRMPreBOQDetailFacade.Add(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMPreBOQDetailDataAccess().Add(pRMPreBOQDetailEntity, option, reqTran));
 }
 Int64 IPRMPreBOQDetailFacade.Delete(PRMPreBOQDetailEntity pRMPreBOQDetailEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMPreBOQDetailDataAccess().Delete(pRMPreBOQDetailEntity, filterExpression, option, reqTran));
 }
Exemple #18
0
        private void PrepareFormView()
        {
            populatedItems        = new List <PRMPreBOQDetailEntity>();
            populatedCheckedItems = new List <PRMPreBOQDetailEntity>();

            BuildDropDownList();

            #region New or Update mode decission making

            String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQEntity.FLD_NAME_ProjectID, this.OverviewProjectID.ToString(), SQLMatchType.Equal);

            IList <PRMPreBOQEntity> lst = FCCPRMPreBOQ.GetFacadeCreate().GetIL(null, null, String.Empty, fe, DatabaseOperationType.LoadWithFilterExpression);

            if (lst != null && lst.Count > 0)
            {
                isNewEntry    = false;
                currentPreBOQ = lst[0];
            }
            else
            {
                isNewEntry    = true;
                currentPreBOQ = null;
            }

            #endregion

            currentlyCheckedItems = new List <PRMPreBOQDetailEntity>();
            mappedItemsFromDB     = new List <PRMPreBOQDetailEntity>();

            #region Determine Current Mapped & Checked Items

            if (isNewEntry == true)
            {
                IList <MDItemEntity> itemList = FCCMDItem.GetFacadeCreate().GetILFC();

                if (itemList != null && itemList.Count > 0)
                {
                    foreach (MDItemEntity item in itemList)
                    {
                        PRMPreBOQDetailEntity ent = new PRMPreBOQDetailEntity();

                        ent.ItemID = item.ItemID;

                        currentlyCheckedItems.Add(ent);
                    }
                }
            }
            else
            {
                String fe_PreBOQDetail = SqlExpressionBuilder.PrepareFilterExpression(PRMPreBOQDetailEntity.FLD_NAME_PreBOQID, currentPreBOQ.PreBOQID.ToString(), SQLMatchType.Equal);

                mappedItemsFromDB = FCCPRMPreBOQDetail.GetFacadeCreate().GetIL(null, null, String.Empty, fe_PreBOQDetail, DatabaseOperationType.LoadWithFilterExpression);

                if (mappedItemsFromDB == null)
                {
                    mappedItemsFromDB = new List <PRMPreBOQDetailEntity>();
                }

                currentlyCheckedItems = mappedItemsFromDB;
            }

            #endregion

            if (isNewEntry == true)
            {
                FormLock(false);
            }
            else
            {
                FormLock(currentPreBOQ.IsLocked);
            }
        }