RadioButton和ListBox 用来创建与日期有关的实体

#region Event of Button btnCreat
    /// <summary>
    /// btnCreate
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnCreate_Click(object sender, EventArgs e)
    {
        lblMessage.Text = "";
        if (rdpDateFrom.SelectedDate == null && rdpDateTo.SelectedDate == null && rdpDateTo.SelectedDate < rdpDateFrom.SelectedDate)
        {
            lblMessage.CssClass = "FailMessage";
            lblMessage.Text = CommonMessage.GetMessage(ModuleName.CommonMessage.CommonMessageCode, "27");
        }
        else
        {
            divCreat.Visible = false;
            divView.Visible = true;
            DateTime dtStart = rdpDateFrom.SelectedDate.Value;
            DateTime dtEnd = rdpDateTo.SelectedDate.Value;
            System.TimeSpan tsDiff = dtEnd - dtStart;
            //rdpDateTo.SelectedDate.Value - rdpDateFrom.SelectedDate.Value;
            int intDiffer = tsDiff.Days + 1;
            int intMonths = (dtEnd.Year - dtStart.Year) * 12 + dtEnd.Month - dtStart.Month + 1;
            switch (rblPeriodType.SelectedValue)
            {
                case "Daily":
                    {
                        // objStockPeriod = new List<StockPeriodInfo>();
                        for (int i = 0; i < intDiffer; i++)
                        {
                            StockPeriodInfo objStockPeriodInfo = new StockPeriodInfo();
                            objStockPeriodInfo.BizDate = dtStart.AddDays(i);
                            objStockPeriodInfo.Status = "Active";
                            objStockPeriod.Add(objStockPeriodInfo);
                        }
                    }
                    break;
                case "Weekly":
                    {
                        int intWeeks = intDiffer / 7;
                        //    objStockPeriod = new List<StockPeriodInfo>();
                        if (intDiffer % 7 > 0)
                        {
                            intWeeks++;
                        }
                        for (int i = 0; i < intWeeks; i++)
                        {
                            StockPeriodInfo objStockPeriodInfo = new StockPeriodInfo();
                            objStockPeriodInfo.BizDate = dtStart.AddDays(i * 7);
                            objStockPeriodInfo.Status = "Active";
                            objStockPeriod.Add(objStockPeriodInfo);
                        }
                    }
                    break;
                case "Monthly":
                    {

                        //  objStockPeriod = new List<StockPeriodInfo>();
                        for (int i = 0; i < intMonths; i++)
                        {
                            StockPeriodInfo objStockPeriodInfo = new StockPeriodInfo();
                            objStockPeriodInfo.BizDate = dtStart.AddMonths(i);
                            objStockPeriodInfo.Status = "Active";
                            objStockPeriod.Add(objStockPeriodInfo);
                            //lblMessage.Text = objStockPeriodInfo.BizDate.ToString();
                        }
                    }
                    break;
                case "Selected":
                    {
                        //lblMessage.Text = listboxSelectedStockPreiod.SelectedItem
                        // objStockPeriod = new List<StockPeriodInfo>();
                        ArrayList arrSelectedDays = new ArrayList();
                        for (int i = 0; i < listboxSelectedStockPreiod.Items.Count; i++)
                        {
                            if (listboxSelectedStockPreiod.Items[i].Selected == true)
                            {
                                arrSelectedDays.Add(i);
                            }
                        }

                        for (int i = 0; i < intMonths; i++)
                        {
                            DateTime dtTemp1 = dtStart.AddMonths(i);
                            DateTime dtBizDate;
                            for (int j = 0; j < arrSelectedDays.Count; j++)
                            {
                                DateTime dtTemp2 = new DateTime(dtTemp1.Year, dtTemp1.Month, 1).AddDays(Convert.ToInt32(arrSelectedDays[j]));
                                if (dtTemp1.Month != dtTemp2.Month)
                                {
                                    dtBizDate = new DateTime(dtTemp2.Year, dtTemp2.Month, 1).AddDays(-1);
                                }
                                else
                                {
                                    dtBizDate = dtTemp2;
                                }

                                if (dtBizDate >= dtStart && dtBizDate <= dtEnd)
                                {
                                    StockPeriodInfo objStockPeriodInfo = new StockPeriodInfo();
                                    objStockPeriodInfo.BizDate = dtBizDate;
                                    objStockPeriodInfo.Status = "Active";
                                    objStockPeriod.Add(objStockPeriodInfo);
                                }
                            }
                        }

                    }
                    break;
            }
            IList<EntityInfo> objUnClosingStockPeriod = objStockPeriodProxy.GetUnClosingStockPeriod();

            for (int i = 0; i < objUnClosingStockPeriod.Count; i++)
            {
                objStockPeriod.Add((StockPeriodInfo)objUnClosingStockPeriod[i]);
                //  return objStockPeriod;
            }
            grdFormView.DataSource = objStockPeriod;
            grdFormView.DataBind();
            ViewState["FormViewDataSource"] = objStockPeriod;
        }
    }
    #endregion

posted on 2009-07-13 11:06  晓兰  阅读(350)  评论(0)    收藏  举报