protected void rptCruiseExpenses_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.DataItem is CruiseExpense) { CruiseExpense expense = (CruiseExpense)e.Item.DataItem; HiddenField hiddenId = (HiddenField)e.Item.FindControl("hiddenId"); TextBox txtFrom = (TextBox)e.Item.FindControl("txtFrom"); TextBox txtTo = (TextBox)e.Item.FindControl("txtTo"); TextBox txtCost = (TextBox)e.Item.FindControl("txtCost"); hiddenId.Value = expense.Id.ToString(); txtFrom.Text = expense.CustomerFrom.ToString(); txtTo.Text = expense.CustomerTo.ToString(); txtCost.Text = expense.Price.ToString("#,0.#"); } }
protected IList ValidateData() { ArrayList list = new ArrayList(rptCruiseExpensesToIList()); list.Sort(); for (int ii = 0; ii < list.Count; ii++) { CruiseExpense expense = (CruiseExpense)list[ii]; if (expense.CustomerFrom > expense.CustomerTo) { ShowError(string.Format("Customer from must be smaller than customer to ({0} > {1})", expense.CustomerFrom, expense.CustomerTo)); return(null); } if (expense.CustomerFrom < 0 || expense.CustomerTo < 0) { ShowError("Value cannot be negative"); return(null); } if (ii < list.Count - 1) { CruiseExpense expenseNext = (CruiseExpense)list[ii + 1]; if (expenseNext.CustomerFrom - expense.CustomerTo > 1) { ShowError(string.Format("Lack of data for customer from {0} to {1}", expense.CustomerTo + 1, expenseNext.CustomerFrom - 1)); return(null); } if (expenseNext.CustomerFrom - expense.CustomerTo < 1) { ShowError(string.Format("Duplicate data for customer from {1} to {0}", expense.CustomerTo, expenseNext.CustomerFrom)); return(null); } } } return(list); }
protected IList rptCruiseExpensesToIList() { IList result = new ArrayList(); foreach (RepeaterItem item in rptCruiseExpenses.Items) { HiddenField hiddenId = (HiddenField)item.FindControl("hiddenId"); TextBox txtFrom = (TextBox)item.FindControl("txtFrom"); TextBox txtTo = (TextBox)item.FindControl("txtTo"); TextBox txtCost = (TextBox)item.FindControl("txtCost"); CruiseExpense expense = new CruiseExpense(); if (!string.IsNullOrEmpty(hiddenId.Value)) { expense.Id = Convert.ToInt32(hiddenId.Value); } expense.CustomerFrom = Convert.ToInt32(txtFrom.Text); expense.CustomerTo = Convert.ToInt32(txtTo.Text); expense.Price = Convert.ToDouble(txtCost.Text); expense.Currency = 1; result.Add(expense); } return(result); }