Int64 IPRMSupplierContactPersonDataAccess.Add(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

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

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

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

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Int64 UpdateTran(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMSupplierContactPerson_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, "@SupplierContactPersonID", DbType.Int64, pRMSupplierContactPersonEntity.SupplierContactPersonID);
                db.AddInParameter(cmd, "@SupplierID", DbType.Int64, pRMSupplierContactPersonEntity.SupplierID);
                db.AddInParameter(cmd, "@Name", DbType.String, pRMSupplierContactPersonEntity.Name);
                db.AddInParameter(cmd, "@Designation", DbType.String, pRMSupplierContactPersonEntity.Designation);
                db.AddInParameter(cmd, "@Phone", DbType.String, pRMSupplierContactPersonEntity.Phone);
                db.AddInParameter(cmd, "@MobileNo", DbType.String, pRMSupplierContactPersonEntity.MobileNo);
                db.AddInParameter(cmd, "@Fax", DbType.String, pRMSupplierContactPersonEntity.Fax);
                db.AddInParameter(cmd, "@Email", DbType.String, pRMSupplierContactPersonEntity.Email);
                db.AddInParameter(cmd, "@WebLink", DbType.String, pRMSupplierContactPersonEntity.WebLink);

                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 void SavePRMSupplierContactPersonEntity()
        {
            if (IsValid)
            {
                try
                {
                    PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity = BuildPRMSupplierContactPersonEntity();

                    Int64 result = -1;

                    if (pRMSupplierContactPersonEntity.IsNew)
                    {
                        result = FCCPRMSupplierContactPerson.GetFacadeCreate().Add(pRMSupplierContactPersonEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(PRMSupplierContactPersonEntity.FLD_NAME_SupplierContactPersonID, pRMSupplierContactPersonEntity.SupplierContactPersonID.ToString(), SQLMatchType.Equal);
                        result = FCCPRMSupplierContactPerson.GetFacadeCreate().Update(pRMSupplierContactPersonEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        _SupplierContactPersonID        = 0;
                        _PRMSupplierContactPersonEntity = new PRMSupplierContactPersonEntity();
                        PrepareInitialView();
                        BindPRMSupplierContactPersonList();

                        if (pRMSupplierContactPersonEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Vendor Contact Person Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Vendor Contact Person Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (pRMSupplierContactPersonEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Vendor Contact Person Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Vendor Contact Person Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
        protected void lvPRMSupplierContactPerson_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 SupplierContactPersonID;

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

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

                    PrepareEditView();

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

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(PRMSupplierContactPersonEntity.FLD_NAME_SupplierContactPersonID, SupplierContactPersonID.ToString(), SQLMatchType.Equal);

                        PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity = new PRMSupplierContactPersonEntity();


                        result = FCCPRMSupplierContactPerson.GetFacadeCreate().Delete(pRMSupplierContactPersonEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            _SupplierContactPersonID        = 0;
                            _PRMSupplierContactPersonEntity = new PRMSupplierContactPersonEntity();
                            PrepareInitialView();
                            BindPRMSupplierContactPersonList();

                            MiscUtil.ShowMessage(lblMessage, "Vendor Contact Person has been successfully deleted.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete Vendor Contact Person.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
        private Int64 DeleteTran(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMSupplierContactPerson_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 PRMSupplierContactPersonEntity BuildPRMSupplierContactPersonEntity()
        {
            PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity = CurrentPRMSupplierContactPersonEntity;

            pRMSupplierContactPersonEntity.SupplierID = Int64.Parse(this.OverviewSupplierID.ToString());

            pRMSupplierContactPersonEntity.Name        = txtName.Text.Trim();
            pRMSupplierContactPersonEntity.Designation = txtDesignation.Text.Trim();
            pRMSupplierContactPersonEntity.Phone       = txtPhone.Text.Trim();
            pRMSupplierContactPersonEntity.MobileNo    = txtMobileNo.Text.Trim();
            pRMSupplierContactPersonEntity.Fax         = txtFax.Text.Trim();
            pRMSupplierContactPersonEntity.Email       = txtEmail.Text.Trim();
            pRMSupplierContactPersonEntity.WebLink     = txtWebLink.Text.Trim();

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

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

                Database.AddInParameter(cmd, "@SupplierContactPersonID", DbType.Int64, pRMSupplierContactPersonEntity.SupplierContactPersonID);
                Database.AddInParameter(cmd, "@SupplierID", DbType.Int64, pRMSupplierContactPersonEntity.SupplierID);
                Database.AddInParameter(cmd, "@Name", DbType.String, pRMSupplierContactPersonEntity.Name);
                Database.AddInParameter(cmd, "@Designation", DbType.String, pRMSupplierContactPersonEntity.Designation);
                Database.AddInParameter(cmd, "@Phone", DbType.String, pRMSupplierContactPersonEntity.Phone);
                Database.AddInParameter(cmd, "@MobileNo", DbType.String, pRMSupplierContactPersonEntity.MobileNo);
                Database.AddInParameter(cmd, "@Fax", DbType.String, pRMSupplierContactPersonEntity.Fax);
                Database.AddInParameter(cmd, "@Email", DbType.String, pRMSupplierContactPersonEntity.Email);
                Database.AddInParameter(cmd, "@WebLink", DbType.String, pRMSupplierContactPersonEntity.WebLink);

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

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

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

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

            return(returnCode);
        }
        private void PrepareEditView()
        {
            PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity = CurrentPRMSupplierContactPersonEntity;


            if (!pRMSupplierContactPersonEntity.IsNew)
            {
                txtName.Text        = pRMSupplierContactPersonEntity.Name.ToString();
                txtDesignation.Text = pRMSupplierContactPersonEntity.Designation.ToString();
                txtPhone.Text       = pRMSupplierContactPersonEntity.Phone.ToString();
                txtMobileNo.Text    = pRMSupplierContactPersonEntity.MobileNo.ToString();
                txtFax.Text         = pRMSupplierContactPersonEntity.Fax.ToString();
                txtEmail.Text       = pRMSupplierContactPersonEntity.Email.ToString();
                txtWebLink.Text     = pRMSupplierContactPersonEntity.WebLink.ToString();

                btnSubmit.Text    = "Update";
                btnAddNew.Visible = true;
            }
        }
        private Int64 Delete(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.PRMSupplierContactPerson_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("PRMSupplierContactPersonEntity already exists. Please specify another PRMSupplierContactPersonEntity.");
                    }

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

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

            return(returnCode);
        }
 protected void btnAddNew_Click(object sender, EventArgs e)
 {
     _SupplierContactPersonID        = 0;
     _PRMSupplierContactPersonEntity = new PRMSupplierContactPersonEntity();
     PrepareInitialView();
 }
 Int64 IPRMSupplierContactPersonFacade.Delete(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMSupplierContactPersonDataAccess().Delete(pRMSupplierContactPersonEntity, filterExpression, option, reqTran));
 }
 Int64 IPRMSupplierContactPersonFacade.Add(PRMSupplierContactPersonEntity pRMSupplierContactPersonEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreatePRMSupplierContactPersonDataAccess().Add(pRMSupplierContactPersonEntity, option, reqTran));
 }