コード例 #1
0
        private void LoadPkgRatesData(string optionPeriod)
        {
            string royaltor;

            userRoleID            = Utilities.GetUserRoleId(Session["UserRole"].ToString().ToLower());;
            royContractPkgRatesBL = new RoyContractPkgRatesBL();
            DataSet pkgRatesData = royContractPkgRatesBL.GetPkgRatesData(royaltorId, optionPeriod, userRoleID, out royaltor, out errorId);

            royContractPkgRatesBL = null;

            if (pkgRatesData.Tables.Count != 0 && errorId != 2)
            {
                txtRoyaltorId.Text = royaltor;
                dtOptionPeriodList = pkgRatesData.Tables[1];
                Session["RoyContPkgRatesGridDataInitial"] = pkgRatesData.Tables[0];
                Session["RoyContPkgRatesGridData"]        = pkgRatesData.Tables[0];
                Session["RoyContPkgRatesOptPeriod"]       = dtOptionPeriodList;
                Session["RoyContPkgRatesCatno"]           = pkgRatesData.Tables[2];

                ddlOptionPeriod.DataSource     = dtOptionPeriodList;
                ddlOptionPeriod.DataTextField  = "item_text";
                ddlOptionPeriod.DataValueField = "item_value";
                ddlOptionPeriod.DataBind();
                ddlOptionPeriod.Items.Insert(0, new ListItem("-"));

                //on initial load populate option period dropdown with minimum/first option period code
                if (optionPeriod == "-")
                {
                    if (dtOptionPeriodList.Rows.Count > 0)
                    {
                        int minOptionPeriodCode = Convert.ToInt32(dtOptionPeriodList.Compute("min([item_value])", string.Empty));
                        ddlOptionPeriod.SelectedValue = minOptionPeriodCode.ToString();
                    }
                }
                else
                {
                    ddlOptionPeriod.SelectedValue = optionPeriod;
                }

                if (pkgRatesData.Tables[0].Rows.Count == 0)
                {
                    gvPkgRates.EmptyDataText = "No data found for the selected royaltor and option period";
                }

                gvPkgRates.DataSource = pkgRatesData.Tables[0];
                gvPkgRates.DataBind();
            }
            else if (pkgRatesData.Tables.Count == 0 && errorId != 2)
            {
                dtEmpty = new DataTable();
                gvPkgRates.DataSource    = dtEmpty;
                gvPkgRates.EmptyDataText = "No data found for the selected royaltor and option period";
                gvPkgRates.DataBind();
            }
            else
            {
                ExceptionHandler("Error in loading grid data", string.Empty);
            }

            hdnOptPeriodSelected.Value = ddlOptionPeriod.SelectedValue;
            hdnGridDataChanged.Value   = "N";
            hdnGridDataDeleted.Value   = "N";
            ViewState["vsDeleteIds"]   = null;
        }
コード例 #2
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                //validate
                if (!Page.IsValid)
                {
                    msgView.SetMessage("Packaging rates not saved – invalid or missing data!", MessageType.Warning, PositionType.Auto);
                    return;
                }

                Array         pkgRatesList = PkgRatesList();
                List <string> deleteList   = new List <string>();
                if (ViewState["vsDeleteIds"] != null)
                {
                    deleteList = (List <string>)ViewState["vsDeleteIds"];
                }

                //check if any changes to save
                if (pkgRatesList.Length == 0 && deleteList.Count == 0)
                {
                    if (isNewRoyaltor == "N")
                    {
                        msgView.SetMessage("No changes made to save!", MessageType.Warning, PositionType.Auto);
                    }
                    else if (isNewRoyaltor == "Y")
                    {
                        //WUIN-450
                        //set screen button enabled = Y
                        contractNavigationButtons.SetNewRoyButtonStatus(ContractScreens.PackagingRates.ToString());

                        ScriptManager.RegisterStartupScript(this, typeof(Page), "NewRoySave", "RedirectOnNewRoyaltorSave(" + royaltorId + ");", true);
                    }

                    return;
                }

                loggedUserID = WebUtility.HtmlDecode(System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString());
                userRoleID   = Utilities.GetUserRoleId(Session["UserRole"].ToString().ToLower());
                string royaltor;
                string invalidCatno;
                royContractPkgRatesBL = new RoyContractPkgRatesBL();
                DataSet pkgRatesData = royContractPkgRatesBL.SavePkgRates(royaltorId, ddlOptionPeriod.SelectedValue, loggedUserID, userRoleID, pkgRatesList, deleteList.ToArray(), out royaltor, out invalidCatno, out errorId);
                royContractPkgRatesBL = null;

                //validate - catno should be valid one from warse.catno table
                if (errorId == 1)
                {
                    msgView.SetMessage("Packaging rates not saved – invalid Catalogue No. - " + invalidCatno, MessageType.Warning, PositionType.Auto);
                    return;
                }

                hdnGridDataChanged.Value = "N";
                hdnGridDataDeleted.Value = "N";
                ViewState["vsDeleteIds"] = null;
                //WUIN-746 clearing sort hidden files
                hdnSortExpression.Value = string.Empty;
                hdnSortDirection.Value  = string.Empty;

                if (errorId == 0)
                {
                    txtRoyaltorId.Text = royaltor;
                    if (pkgRatesData.Tables.Count != 0)
                    {
                        DataTable dtGridDataSorted = GridDataSorted(pkgRatesData.Tables[0]);
                        dtOptionPeriodList = pkgRatesData.Tables[1];
                        Session["RoyContPkgRatesGridDataInitial"] = dtGridDataSorted;
                        Session["RoyContPkgRatesGridData"]        = dtGridDataSorted;
                        Session["RoyContPkgRatesOptPeriod"]       = dtOptionPeriodList;

                        gvPkgRates.DataSource = pkgRatesData.Tables[0];
                        gvPkgRates.DataBind();

                        if (pkgRatesData.Tables[0].Rows.Count == 0)
                        {
                            gvPkgRates.EmptyDataText = "No data found for the selected royaltor and option period";
                        }
                        else
                        {
                            gvPkgRates.EmptyDataText = string.Empty;
                        }
                    }
                    else if (pkgRatesData.Tables.Count == 0)
                    {
                        dtEmpty = new DataTable();
                        gvPkgRates.DataSource    = dtEmpty;
                        gvPkgRates.EmptyDataText = "No data found for the selected royaltor and option period";
                        gvPkgRates.DataBind();
                    }

                    //new royaltor - redirect to Escalation rates screen
                    //existing royaltor - remain in same screen
                    if (isNewRoyaltor == "Y")
                    {
                        //WUIN-450
                        //set screen button enabled = Y
                        contractNavigationButtons.SetNewRoyButtonStatus(ContractScreens.PackagingRates.ToString());

                        //redirect in javascript so that issue of data not saved validation would be handled
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "NewRoySave", "RedirectOnNewRoyaltorSave(" + royaltorId.Split('-')[0].Trim() + ");", true);
                    }
                    else
                    {
                        msgView.SetMessage("Packaging rates saved", MessageType.Warning, PositionType.Auto);
                    }
                }
                else if (errorId == 2)
                {
                    ExceptionHandler("Error in saving packaging rates data", string.Empty);
                }
                else
                {
                    ExceptionHandler("Error in saving packaging rates data", string.Empty);
                }
            }
            catch (Exception ex)
            {
                ExceptionHandler("Error in saving packaging rates data", ex.Message);
            }
        }