コード例 #1
0
        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.#");
            }
        }
コード例 #2
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);
        }
コード例 #3
0
        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);
        }