Int64 IBDProjectWaterReserviorDataAccess.Add(BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

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

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

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

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void SaveBDProjectWaterReserviorEntity()
        {
            if (IsValid)
            {
                try
                {
                    BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity = BuildBDProjectWaterReserviorEntity();

                    Int64 result = -1;

                    if (bDProjectWaterReserviorEntity.IsNew)
                    {
                        result = FCCBDProjectWaterReservior.GetFacadeCreate().Add(bDProjectWaterReserviorEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(BDProjectWaterReserviorEntity.FLD_NAME_ProjectWaterReserviorID, bDProjectWaterReserviorEntity.ProjectWaterReserviorID.ToString(), SQLMatchType.Equal);
                        result = FCCBDProjectWaterReservior.GetFacadeCreate().Update(bDProjectWaterReserviorEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        _ProjectWaterReserviorID       = 0;
                        _BDProjectWaterReserviorEntity = new BDProjectWaterReserviorEntity();
                        PrepareInitialView();
                        PrepareEditView();
                        BindBDProjectWaterReserviorList();

                        if (bDProjectWaterReserviorEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Project Water Reservior Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Project Water Reservior Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (bDProjectWaterReserviorEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Project Water Reservior  Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Project Water Reservior  Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
        private Int64 UpdateTran(BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.BDProjectWaterReservior_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, "@ProjectWaterReserviorID", DbType.Int64, bDProjectWaterReserviorEntity.ProjectWaterReserviorID);
                db.AddInParameter(cmd, "@ProjectID", DbType.Int64, bDProjectWaterReserviorEntity.ProjectID);
                db.AddInParameter(cmd, "@CapacityOfUndergroundReservior", DbType.Decimal, bDProjectWaterReserviorEntity.CapacityOfUndergroundReservior);
                db.AddInParameter(cmd, "@UndergroundReserviorUnitID", DbType.Int64, bDProjectWaterReserviorEntity.UndergroundReserviorUnitID);
                db.AddInParameter(cmd, "@CapacityOfOverheadReservior", DbType.Decimal, bDProjectWaterReserviorEntity.CapacityOfOverheadReservior);
                db.AddInParameter(cmd, "@OverheadReserviorUnitID", DbType.Int64, bDProjectWaterReserviorEntity.OverheadReserviorUnitID);

                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 BDProjectWaterReserviorEntity BuildBDProjectWaterReserviorEntity()
        {
            BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity = CurrentBDProjectWaterReserviorEntity;

            bDProjectWaterReserviorEntity.ProjectID = OverviewProjectID;

            if (!txtCapacityOfUndergroundReservior.Text.Trim().IsNullOrEmpty())
            {
                bDProjectWaterReserviorEntity.CapacityOfUndergroundReservior = Decimal.Parse(txtCapacityOfUndergroundReservior.Text.Trim());
            }
            else
            {
                bDProjectWaterReserviorEntity.CapacityOfUndergroundReservior = null;
            }

            if (!txtCapacityOfOverheadReservior.Text.Trim().IsNullOrEmpty())
            {
                bDProjectWaterReserviorEntity.CapacityOfOverheadReservior = Decimal.Parse(txtCapacityOfOverheadReservior.Text.Trim());
            }
            else
            {
                bDProjectWaterReserviorEntity.CapacityOfOverheadReservior = null;
            }

            if (ddlUndergroundReserviorUnitID.Items.Count > 0)
            {
                if (ddlUndergroundReserviorUnitID.SelectedValue == "0")
                {
                }
                else
                {
                    bDProjectWaterReserviorEntity.UndergroundReserviorUnitID = Int64.Parse(ddlUndergroundReserviorUnitID.SelectedValue);
                }
            }

            if (ddlOverheadReserviorUnitID.Items.Count > 0)
            {
                if (ddlOverheadReserviorUnitID.SelectedValue == "0")
                {
                }
                else
                {
                    bDProjectWaterReserviorEntity.OverheadReserviorUnitID = Int64.Parse(ddlOverheadReserviorUnitID.SelectedValue);
                }
            }


            return(bDProjectWaterReserviorEntity);
        }
        private Int64 Update(BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.BDProjectWaterReservior_SET";

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

                Database.AddInParameter(cmd, "@ProjectWaterReserviorID", DbType.Int64, bDProjectWaterReserviorEntity.ProjectWaterReserviorID);
                Database.AddInParameter(cmd, "@ProjectID", DbType.Int64, bDProjectWaterReserviorEntity.ProjectID);
                Database.AddInParameter(cmd, "@CapacityOfUndergroundReservior", DbType.Decimal, bDProjectWaterReserviorEntity.CapacityOfUndergroundReservior);
                Database.AddInParameter(cmd, "@UndergroundReserviorUnitID", DbType.Int64, bDProjectWaterReserviorEntity.UndergroundReserviorUnitID);
                Database.AddInParameter(cmd, "@CapacityOfOverheadReservior", DbType.Decimal, bDProjectWaterReserviorEntity.CapacityOfOverheadReservior);
                Database.AddInParameter(cmd, "@OverheadReserviorUnitID", DbType.Int64, bDProjectWaterReserviorEntity.OverheadReserviorUnitID);

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

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

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

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

            return(returnCode);
        }
        private void PrepareEditView()
        {
            BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity = CurrentBDProjectWaterReserviorEntity;


            if (!bDProjectWaterReserviorEntity.IsNew)
            {
                txtCapacityOfUndergroundReservior.Text = bDProjectWaterReserviorEntity.CapacityOfUndergroundReservior.ToString();
                txtCapacityOfOverheadReservior.Text    = bDProjectWaterReserviorEntity.CapacityOfOverheadReservior.ToString();
                if (ddlUndergroundReserviorUnitID.Items.Count > 0 && bDProjectWaterReserviorEntity.UndergroundReserviorUnitID != null)
                {
                    ddlUndergroundReserviorUnitID.SelectedValue = bDProjectWaterReserviorEntity.UndergroundReserviorUnitID.ToString();
                }

                if (ddlOverheadReserviorUnitID.Items.Count > 0 && bDProjectWaterReserviorEntity.OverheadReserviorUnitID != null)
                {
                    ddlOverheadReserviorUnitID.SelectedValue = bDProjectWaterReserviorEntity.OverheadReserviorUnitID.ToString();
                }

                btnSubmit.Text = "Update";
            }
        }
 Int64 IBDProjectWaterReserviorFacade.Delete(BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateBDProjectWaterReserviorDataAccess().Delete(bDProjectWaterReserviorEntity, filterExpression, option, reqTran));
 }
 Int64 IBDProjectWaterReserviorFacade.Add(BDProjectWaterReserviorEntity bDProjectWaterReserviorEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateBDProjectWaterReserviorDataAccess().Add(bDProjectWaterReserviorEntity, option, reqTran));
 }