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; }
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); } }