Int64 ICRMAgreementSpecsDataAccess.Add(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

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

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

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

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Int64 Update(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.CRMAgreementSpecs_SET";

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

                Database.AddInParameter(cmd, "@AgreementSpecsID", DbType.Int64, cRMAgreementSpecsEntity.AgreementSpecsID);
                Database.AddInParameter(cmd, "@AgreementID", DbType.Int64, cRMAgreementSpecsEntity.AgreementID);
                Database.AddInParameter(cmd, "@Item", DbType.String, cRMAgreementSpecsEntity.Item);
                Database.AddInParameter(cmd, "@BrandID", DbType.Int64, cRMAgreementSpecsEntity.BrandID);
                Database.AddInParameter(cmd, "@BayQty", DbType.Decimal, cRMAgreementSpecsEntity.BayQty);
                Database.AddInParameter(cmd, "@BayPrice", DbType.Decimal, cRMAgreementSpecsEntity.BayPrice);
                Database.AddInParameter(cmd, "@CustomerQty", DbType.Decimal, cRMAgreementSpecsEntity.CustomerQty);
                Database.AddInParameter(cmd, "@CustomerPrice", DbType.Decimal, cRMAgreementSpecsEntity.CustomerPrice);
                Database.AddInParameter(cmd, "@Field1", DbType.String, cRMAgreementSpecsEntity.Field1);
                Database.AddInParameter(cmd, "@Field2", DbType.String, cRMAgreementSpecsEntity.Field2);
                Database.AddInParameter(cmd, "@var0", DbType.String, cRMAgreementSpecsEntity.var0);
                Database.AddInParameter(cmd, "@var1", DbType.String, cRMAgreementSpecsEntity.var1);
                Database.AddInParameter(cmd, "@var2", DbType.String, cRMAgreementSpecsEntity.var2);
                Database.AddInParameter(cmd, "@var3", DbType.String, cRMAgreementSpecsEntity.var3);
                Database.AddInParameter(cmd, "@var4", DbType.String, cRMAgreementSpecsEntity.var4);
                Database.AddInParameter(cmd, "@var5", DbType.String, cRMAgreementSpecsEntity.var5);
                Database.AddInParameter(cmd, "@Remarks", DbType.String, cRMAgreementSpecsEntity.Remarks);
                Database.AddInParameter(cmd, "@AgreementSpecsType", DbType.String, cRMAgreementSpecsEntity.AgreementSpecsType);

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

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

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

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

            return(returnCode);
        }
        private Int64 DeleteTran(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.CRMAgreementSpecs_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);
        }
        protected void lvCRMAgreementSpecs_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 AgreementSpecsID;

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

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

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

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(CRMAgreementSpecsEntity.FLD_NAME_AgreementSpecsID, AgreementSpecsID.ToString(), SQLMatchType.Equal);

                        CRMAgreementSpecsEntity cRMAgreementSpecsEntity = new CRMAgreementSpecsEntity();


                        result = FCCCRMAgreementSpecs.GetFacadeCreate().Delete(cRMAgreementSpecsEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            _AgreementSpecsID        = 0;
                            _CRMAgreementSpecsEntity = new CRMAgreementSpecsEntity();
                            PrepareInitialView();
                            BindCRMAgreementSpecsList();

                            MiscUtil.ShowMessage(lblMessage, "C RMAgreement Specs has been successfully deleted.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete C RMAgreement Specs.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
        private Int64 Delete(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.CRMAgreementSpecs_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("CRMAgreementSpecsEntity already exists. Please specify another CRMAgreementSpecsEntity.");
                    }

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

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

            return(returnCode);
        }
        private void PrepareEditView()
        {
            CRMAgreementSpecsEntity cRMAgreementSpecsEntity = CurrentCRMAgreementSpecsEntity;


            if (!cRMAgreementSpecsEntity.IsNew)
            {
                txtItemName.Text = cRMAgreementSpecsEntity.Item.ToString();
                if (ddlBrandID.Items.Count > 0 && cRMAgreementSpecsEntity.BrandID != null)
                {
                    ddlBrandID.SelectedValue = cRMAgreementSpecsEntity.BrandID.ToString();
                }

                if (ddlUnitID.Items.Count > 0 && cRMAgreementSpecsEntity.Field1 != null)
                {
                    // ddlUnitID.Text = cRMAgreementSpecsEntity.Field1;
                }

                txtBayQty.Text             = cRMAgreementSpecsEntity.BayQty.ToString();
                txtBayPrice.Text           = cRMAgreementSpecsEntity.BayPrice.ToString();
                txtCustomerQty.Text        = cRMAgreementSpecsEntity.CustomerQty.ToString();
                txtCustomerPrice.Text      = cRMAgreementSpecsEntity.CustomerPrice.ToString();
                txtField2.Text             = cRMAgreementSpecsEntity.Field2.ToString();
                txtvar0.Text               = cRMAgreementSpecsEntity.var0.ToString();
                txtvar1.Text               = cRMAgreementSpecsEntity.var1.ToString();
                txtvar2.Text               = cRMAgreementSpecsEntity.var2.ToString();
                txtvar3.Text               = cRMAgreementSpecsEntity.var3.ToString();
                txtvar4.Text               = cRMAgreementSpecsEntity.var4.ToString();
                txtvar5.Text               = cRMAgreementSpecsEntity.var5.ToString();
                txtRemarks.Text            = cRMAgreementSpecsEntity.Remarks.ToString();
                txtAgreementSpecsType.Text = cRMAgreementSpecsEntity.AgreementSpecsType.ToString();

                btnSubmit.Text    = "Update";
                btnAddNew.Visible = true;
            }
        }
 Int64 ICRMAgreementSpecsFacade.Delete(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateCRMAgreementSpecsDataAccess().Delete(cRMAgreementSpecsEntity, filterExpression, option, reqTran));
 }
 Int64 ICRMAgreementSpecsFacade.Add(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateCRMAgreementSpecsDataAccess().Add(cRMAgreementSpecsEntity, option, reqTran));
 }
        private Int64 UpdateTran(CRMAgreementSpecsEntity cRMAgreementSpecsEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.CRMAgreementSpecs_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, "@AgreementSpecsID", DbType.Int64, cRMAgreementSpecsEntity.AgreementSpecsID);
                db.AddInParameter(cmd, "@AgreementID", DbType.Int64, cRMAgreementSpecsEntity.AgreementID);
                db.AddInParameter(cmd, "@Item", DbType.String, cRMAgreementSpecsEntity.Item);
                db.AddInParameter(cmd, "@BrandID", DbType.Int64, cRMAgreementSpecsEntity.BrandID);
                db.AddInParameter(cmd, "@BayQty", DbType.Decimal, cRMAgreementSpecsEntity.BayQty);
                db.AddInParameter(cmd, "@BayPrice", DbType.Decimal, cRMAgreementSpecsEntity.BayPrice);
                db.AddInParameter(cmd, "@CustomerQty", DbType.Decimal, cRMAgreementSpecsEntity.CustomerQty);
                db.AddInParameter(cmd, "@CustomerPrice", DbType.Decimal, cRMAgreementSpecsEntity.CustomerPrice);
                db.AddInParameter(cmd, "@Field1", DbType.String, cRMAgreementSpecsEntity.Field1);
                db.AddInParameter(cmd, "@Field2", DbType.String, cRMAgreementSpecsEntity.Field2);
                db.AddInParameter(cmd, "@var0", DbType.String, cRMAgreementSpecsEntity.var0);
                db.AddInParameter(cmd, "@var1", DbType.String, cRMAgreementSpecsEntity.var1);
                db.AddInParameter(cmd, "@var2", DbType.String, cRMAgreementSpecsEntity.var2);
                db.AddInParameter(cmd, "@var3", DbType.String, cRMAgreementSpecsEntity.var3);
                db.AddInParameter(cmd, "@var4", DbType.String, cRMAgreementSpecsEntity.var4);
                db.AddInParameter(cmd, "@var5", DbType.String, cRMAgreementSpecsEntity.var5);
                db.AddInParameter(cmd, "@Remarks", DbType.String, cRMAgreementSpecsEntity.Remarks);
                db.AddInParameter(cmd, "@AgreementSpecsType", DbType.String, cRMAgreementSpecsEntity.AgreementSpecsType);

                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);
        }
 protected void btnAddNew_Click(object sender, EventArgs e)
 {
     _AgreementSpecsID        = 0;
     _CRMAgreementSpecsEntity = new CRMAgreementSpecsEntity();
     PrepareInitialView();
 }
        private void SaveCRMAgreementSpecsEntity()
        {
            if (IsValid)
            {
                try
                {
                    CRMAgreementSpecsEntity cRMAgreementSpecsEntity = BuildCRMAgreementSpecsEntity();

                    Int64 result = -1;

                    if (cRMAgreementSpecsEntity.IsNew)
                    {
                        result = FCCCRMAgreementSpecs.GetFacadeCreate().Add(cRMAgreementSpecsEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(CRMAgreementSpecsEntity.FLD_NAME_AgreementSpecsID, cRMAgreementSpecsEntity.AgreementSpecsID.ToString(), SQLMatchType.Equal);
                        result = FCCCRMAgreementSpecs.GetFacadeCreate().Update(cRMAgreementSpecsEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        if (cRMAgreementSpecsEntity.IsNew)
                        {
                            for (Int32 i = 1; i <= 5; i++)
                            {
                                CRMAgreementVariableMapEntity ent = new CRMAgreementVariableMapEntity();
                                switch (i)
                                {
                                //case 1:
                                //    ent.Name = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType+"_"+cRMAgreementSpecsEntity.Item +"_IName"+ result.ToString() + "%&gt;";
                                //    ent.Value = cRMAgreementSpecsEntity.Item;
                                //    break;
                                //case 2:
                                //    ent.Name = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_" + ddlBrandID.SelectedItem + "_IBrand_" + result.ToString() + "%&gt;";
                                //    ent.Value = ddlBrandID.SelectedItem.ToString();
                                //    break;
                                //case 3:
                                //    ent.Name = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_" + cRMAgreementSpecsEntity.Item+"_IQty_"+ result.ToString()+ "%&gt;";
                                //    ent.Value = cRMAgreementSpecsEntity.BayQty.ToString();
                                //    break;
                                //case 4:
                                //    ent.Name = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_" + cRMAgreementSpecsEntity.Item+"_IPrice_"+ result.ToString()+"%&gt;";
                                //    ent.Value = cRMAgreementSpecsEntity.BayPrice.ToString();
                                //    break;
                                //case 5:
                                //    ent.Name = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_" + cRMAgreementSpecsEntity.Field1+ "_IUnit_"+ result.ToString() + "%&gt;";
                                //    ent.Value = cRMAgreementSpecsEntity.Field1.ToString();
                                //    break;

                                case 1:
                                    ent.Name  = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_IName" + result.ToString() + "%&gt;";
                                    ent.Value = cRMAgreementSpecsEntity.Item;
                                    break;

                                case 2:
                                    ent.Name  = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_IBrand_" + result.ToString() + "%&gt;";
                                    ent.Value = ddlBrandID.SelectedItem.ToString();
                                    break;

                                case 3:
                                    ent.Name  = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_IQty_" + result.ToString() + "%&gt;";
                                    ent.Value = cRMAgreementSpecsEntity.BayQty.ToString();
                                    break;

                                case 4:
                                    ent.Name  = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_IPrice_" + result.ToString() + "%&gt;";
                                    ent.Value = cRMAgreementSpecsEntity.BayPrice.ToString();
                                    break;

                                case 5:
                                    ent.Name  = "&lt;%$$" + cRMAgreementSpecsEntity.AgreementSpecsType + "_IUnit_" + result.ToString() + "%&gt;";
                                    ent.Value = cRMAgreementSpecsEntity.Field1.ToString();
                                    break;
                                }

                                ent.CreateDate          = System.DateTime.Now;
                                ent.CreatedByEmployeeID = MiscUtil.GetCurrentEmployeeByMemberID(CurrentMember);
                                ent.IP          = MiscUtil.GetLocalIP();
                                ent.Remarks     = "Auto Generated";
                                ent.AgreementID = OverviewAgreementID;

                                FCCCRMAgreementVariableMap.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);
                            }
                        }
                        _AgreementSpecsID        = 0;
                        _CRMAgreementSpecsEntity = new CRMAgreementSpecsEntity();
                        PrepareInitialView();
                        BindCRMAgreementSpecsList();

                        if (cRMAgreementSpecsEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Agreement Specs Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Agreement Specs Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (cRMAgreementSpecsEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Agreement Specs Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Agreement Specs Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }
        private CRMAgreementSpecsEntity BuildCRMAgreementSpecsEntity()
        {
            CRMAgreementSpecsEntity cRMAgreementSpecsEntity = CurrentCRMAgreementSpecsEntity;

            cRMAgreementSpecsEntity.AgreementID = OverviewAgreementID;

            cRMAgreementSpecsEntity.Item = txtItemName.Text.Trim();
            if (ddlBrandID.Items.Count > 0)
            {
                if (ddlBrandID.SelectedValue == "0")
                {
                }
                else
                {
                    cRMAgreementSpecsEntity.BrandID = Int64.Parse(ddlBrandID.SelectedValue);
                }
            }

            if (!txtBayQty.Text.Trim().IsNullOrEmpty())
            {
                cRMAgreementSpecsEntity.BayQty = Decimal.Parse(txtBayQty.Text.Trim());
            }
            else
            {
                cRMAgreementSpecsEntity.BayQty = null;
            }

            if (!txtBayPrice.Text.Trim().IsNullOrEmpty())
            {
                cRMAgreementSpecsEntity.BayPrice = Decimal.Parse(txtBayPrice.Text.Trim());
            }
            else
            {
                cRMAgreementSpecsEntity.BayPrice = null;
            }

            if (!txtCustomerQty.Text.Trim().IsNullOrEmpty())
            {
                cRMAgreementSpecsEntity.CustomerQty = Decimal.Parse(txtCustomerQty.Text.Trim());
            }
            else
            {
                cRMAgreementSpecsEntity.CustomerQty = null;
            }

            if (!txtCustomerPrice.Text.Trim().IsNullOrEmpty())
            {
                cRMAgreementSpecsEntity.CustomerPrice = Decimal.Parse(txtCustomerPrice.Text.Trim());
            }
            else
            {
                cRMAgreementSpecsEntity.CustomerPrice = null;
            }

            if (ddlUnitID.Items.Count > 0)
            {
                if (ddlUnitID.SelectedValue == "0")
                {
                }
                else
                {
                    cRMAgreementSpecsEntity.Field1 = ddlUnitID.SelectedItem.ToString();
                }
            }

            cRMAgreementSpecsEntity.Field2             = txtField2.Text.Trim();
            cRMAgreementSpecsEntity.var0               = txtvar0.Text.Trim();
            cRMAgreementSpecsEntity.var1               = txtvar1.Text.Trim();
            cRMAgreementSpecsEntity.var2               = txtvar2.Text.Trim();
            cRMAgreementSpecsEntity.var3               = txtvar3.Text.Trim();
            cRMAgreementSpecsEntity.var4               = txtvar4.Text.Trim();
            cRMAgreementSpecsEntity.var5               = txtvar5.Text.Trim();
            cRMAgreementSpecsEntity.Remarks            = txtRemarks.Text.Trim();
            cRMAgreementSpecsEntity.AgreementSpecsType = txtAgreementSpecsType.Text.Trim();

            return(cRMAgreementSpecsEntity);
        }