コード例 #1
0
        Int64 IPRMBOQFloorDetailDataAccess.Add(PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

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

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

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

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        private void PrepareEditView()
        {
            PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity = CurrentPRMBOQFloorDetailEntity;


            if (!pRMBOQFloorDetailEntity.IsNew)
            {
                if (ddlBOQDetailID.Items.Count > 0 && pRMBOQFloorDetailEntity.BOQDetailID != null)
                {
                    ddlBOQDetailID.SelectedValue = pRMBOQFloorDetailEntity.BOQDetailID.ToString();
                }

                if (ddlProjectFloorID.Items.Count > 0 && pRMBOQFloorDetailEntity.ProjectFloorID != null)
                {
                    ddlProjectFloorID.SelectedValue = pRMBOQFloorDetailEntity.ProjectFloorID.ToString();
                }

                txtQty.Text       = pRMBOQFloorDetailEntity.Qty.ToString();
                txtRemarks.Text   = pRMBOQFloorDetailEntity.Remarks.ToString();
                txtEntryDate.Text = pRMBOQFloorDetailEntity.EntryDate.ToStringDefault();

                btnSubmit.Text    = "Update";
                btnAddNew.Visible = true;
            }
        }
コード例 #3
0
        private Int64 UpdateTran(PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMBOQFloorDetail_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, "@BOQFloorDetailID", DbType.Int64, pRMBOQFloorDetailEntity.BOQFloorDetailID);
                db.AddInParameter(cmd, "@BOQDetailID", DbType.Int64, pRMBOQFloorDetailEntity.BOQDetailID);
                db.AddInParameter(cmd, "@ProjectFloorID", DbType.Int64, pRMBOQFloorDetailEntity.ProjectFloorID);
                db.AddInParameter(cmd, "@Qty", DbType.Decimal, pRMBOQFloorDetailEntity.Qty);
                db.AddInParameter(cmd, "@Rate", DbType.Decimal, pRMBOQFloorDetailEntity.Rate);
                db.AddInParameter(cmd, "@Remarks", DbType.String, pRMBOQFloorDetailEntity.Remarks);
                db.AddInParameter(cmd, "@EntryDate", DbType.DateTime, pRMBOQFloorDetailEntity.EntryDate);

                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);
        }
コード例 #4
0
        private void SavePRMBOQFloorDetailEntity()
        {
            if (IsValid)
            {
                try
                {
                    PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity = BuildPRMBOQFloorDetailEntity();

                    Int64 result = -1;

                    if (pRMBOQFloorDetailEntity.IsNew)
                    {
                        result = FCCPRMBOQFloorDetail.GetFacadeCreate().Add(pRMBOQFloorDetailEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(PRMBOQFloorDetailEntity.FLD_NAME_BOQFloorDetailID, pRMBOQFloorDetailEntity.BOQFloorDetailID.ToString(), SQLMatchType.Equal);
                        result = FCCPRMBOQFloorDetail.GetFacadeCreate().Update(pRMBOQFloorDetailEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        _BOQFloorDetailID        = 0;
                        _PRMBOQFloorDetailEntity = new PRMBOQFloorDetailEntity();
                        PrepareInitialView();
                        BindPRMBOQFloorDetailList();

                        if (pRMBOQFloorDetailEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Project Cost Floor Detail Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Project Cost Floor Detail Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (pRMBOQFloorDetailEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Project Cost Floor Detail Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Project Cost Floor Detail Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
コード例 #5
0
        protected void lvPRMBOQFloorDetail_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 BOQFloorDetailID;

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

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

                    PrepareEditView();

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

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMBOQFloorDetailEntity.FLD_NAME_BOQFloorDetailID, BOQFloorDetailID.ToString(), SQLMatchType.Equal);

                        PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity = new PRMBOQFloorDetailEntity();


                        result = FCCPRMBOQFloorDetail.GetFacadeCreate().Delete(pRMBOQFloorDetailEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            _BOQFloorDetailID        = 0;
                            _PRMBOQFloorDetailEntity = new PRMBOQFloorDetailEntity();
                            PrepareInitialView();
                            BindPRMBOQFloorDetailList();

                            MiscUtil.ShowMessage(lblMessage, "Project Cost Floor Detail has been successfully deleted.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete Project Cost Floor Detail.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
コード例 #6
0
        private Int64 Update(PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMBOQFloorDetail_SET";

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

                Database.AddInParameter(cmd, "@BOQFloorDetailID", DbType.Int64, pRMBOQFloorDetailEntity.BOQFloorDetailID);
                Database.AddInParameter(cmd, "@BOQDetailID", DbType.Int64, pRMBOQFloorDetailEntity.BOQDetailID);
                Database.AddInParameter(cmd, "@ProjectFloorID", DbType.Int64, pRMBOQFloorDetailEntity.ProjectFloorID);
                Database.AddInParameter(cmd, "@Qty", DbType.Decimal, pRMBOQFloorDetailEntity.Qty);
                Database.AddInParameter(cmd, "@Rate", DbType.Decimal, pRMBOQFloorDetailEntity.Rate);
                Database.AddInParameter(cmd, "@Remarks", DbType.String, pRMBOQFloorDetailEntity.Remarks);
                Database.AddInParameter(cmd, "@EntryDate", DbType.DateTime, pRMBOQFloorDetailEntity.EntryDate);

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

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

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

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

            return(returnCode);
        }
コード例 #7
0
        private PRMBOQFloorDetailEntity BuildPRMBOQFloorDetailEntity()
        {
            PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity = CurrentPRMBOQFloorDetailEntity;

            if (ddlBOQDetailID.Items.Count > 0)
            {
                if (ddlBOQDetailID.SelectedValue == "0")
                {
                }
                else
                {
                    pRMBOQFloorDetailEntity.BOQDetailID = Int64.Parse(ddlBOQDetailID.SelectedValue);
                }
            }

            if (ddlProjectFloorID.Items.Count > 0)
            {
                if (ddlProjectFloorID.SelectedValue == "0")
                {
                }
                else
                {
                    pRMBOQFloorDetailEntity.ProjectFloorID = Int64.Parse(ddlProjectFloorID.SelectedValue);
                }
            }

            if (!txtQty.Text.Trim().IsNullOrEmpty())
            {
                pRMBOQFloorDetailEntity.Qty = Decimal.Parse(txtQty.Text.Trim());
            }
            else
            {
                pRMBOQFloorDetailEntity.Qty = null;
            }

            pRMBOQFloorDetailEntity.Remarks = txtRemarks.Text.Trim();
            if (txtEntryDate.Text.Trim().IsNotNullOrEmpty())
            {
                pRMBOQFloorDetailEntity.EntryDate = MiscUtil.ParseToDateTime(txtEntryDate.Text);
            }


            return(pRMBOQFloorDetailEntity);
        }
コード例 #8
0
        protected void lvPRMBOQDetail_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            #region Modify Qty

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

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

                Int64 BOQDetailID = Int64.Parse(lblBOQDetailLV.Text);
                _CurrentBOQDetailIDPopup = BOQDetailID;

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

                    PRMBOQDetailEntity bOQDetailEntity = FCCPRMBOQDetail.GetFacadeCreate().GetByID(BOQDetailID);

                    if (bOQDetailEntity != null && bOQDetailEntity.BOQDetailID > 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(PRMBOQFloorDetailEntity.FLD_NAME_ProjectFloorID, bdProjectfloorent.ProjectFloorID.ToString(), SQLMatchType.Equal);
                                String feFloorDetail2 = SqlExpressionBuilder.PrepareFilterExpression(PRMBOQFloorDetailEntity.FLD_NAME_BOQDetailID, BOQDetailID.ToString(), SQLMatchType.Equal);
                                fe4 = SqlExpressionBuilder.PrepareFilterExpression(feFloorDetail1, SQLJoinType.AND, feFloorDetail2);

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

                                if (list == null || list.Count <= 0)
                                {
                                    PRMBOQFloorDetailEntity ent = new PRMBOQFloorDetailEntity();
                                    ent.BOQDetailID    = Int64.Parse(BOQDetailID.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;
                                    FCCPRMBOQFloorDetail.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                                }
                            }

                            BindPRMBOQFloorDetailList();

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

            #endregion

            #region Modify Price Info

            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.lblItemNameModifyPriceLV.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.Panel2_ModalPopupExtender.Show();
            }

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

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

                if (boqDetailID > 0)
                {
                    _CurrentBOQDetailIDPopup = boqDetailID;

                    this.ModalPopupExtender1.Show();
                }
            }

            #endregion
        }
コード例 #9
0
        private void UpdateBOQFloorDetail()
        {
            try
            {
                IList <ListViewDataItem> listPRMFloorDetail = lvPRMBOQFloorDetail.Items;

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

                    foreach (ListViewDataItem lvdi in listPRMFloorDetail)
                    {
                        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("lblBOQFloorDetailIDLV");

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

                        PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity = FCCPRMBOQFloorDetail.GetFacadeCreate().GetByID(floorDetailID);
                        pRMBOQFloorDetailEntity.Qty       = newQty;
                        pRMBOQFloorDetailEntity.Rate      = floorRate;
                        pRMBOQFloorDetailEntity.Remarks   = txtRemarksLV.Text;
                        pRMBOQFloorDetailEntity.EntryDate = System.DateTime.Now;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMBOQFloorDetailEntity.FLD_NAME_BOQFloorDetailID, floorDetailID.ToString(), SQLMatchType.Equal);

                        FCCPRMBOQFloorDetail.GetFacadeCreate().Update(pRMBOQFloorDetailEntity, 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(PRMBOQDetailEntity.FLD_NAME_BOQDetailID, _CurrentBOQDetailIDPopup.ToString(), SQLMatchType.Equal);
                    PRMBOQDetailEntity prmBOQDetailEntity = FCCPRMBOQDetail.GetFacadeCreate().GetByID(_CurrentBOQDetailIDPopup);
                    prmBOQDetailEntity.TotalQty = Totalqty;

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

                    IList <ListViewDataItem> listPRMBOQDetail = lvPRMBOQDetail.Items;

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

                        foreach (ListViewDataItem lvdi in listPRMBOQDetail)
                        {
                            DataKey currentDataKey = lvPRMBOQDetail.DataKeys[tempDataItemIndex++];
                            Int64   intBOQDetailID = (Int64)currentDataKey["BOQDetailID"];

                            if (_CurrentBOQDetailIDPopup == intBOQDetailID)
                            {
                                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);
            }
        }
コード例 #10
0
 Int64 IPRMBOQFloorDetailFacade.Delete(PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMBOQFloorDetailDataAccess().Delete(pRMBOQFloorDetailEntity, filterExpression, option, reqTran));
 }
コード例 #11
0
 Int64 IPRMBOQFloorDetailFacade.Add(PRMBOQFloorDetailEntity pRMBOQFloorDetailEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMBOQFloorDetailDataAccess().Add(pRMBOQFloorDetailEntity, option, reqTran));
 }
コード例 #12
0
 protected void btnAddNew_Click(object sender, EventArgs e)
 {
     _BOQFloorDetailID        = 0;
     _PRMBOQFloorDetailEntity = new PRMBOQFloorDetailEntity();
     PrepareInitialView();
 }