Ejemplo n.º 1
0
        protected void btnNext_Click(object sender, EventArgs e)
        {
            tabCnt = Convert.ToInt32(hActiveTab.Value);
            int webID = Convert.ToInt32(hWebinarID.Value);
            string rtnVal = string.Empty;
            lblError.Text = "";
            dvValidationMsg.Visible = false;
            switch (tabCnt)
            {
                case 1:
                    #region tab 1
                    if (hIsPast.Value == "0")
                    {
                        if (txtWebinarTitle.Text.Trim() != "" && rdtStartDate.SelectedDate.ToString() != "" && rdtStartTime.SelectedDate.ToString() != "" && rdEndTime.SelectedDate.ToString() != "")
                        {
                            int webinarID = 0;
                            string recurrCond = string.Empty;

                            #region Set webinar info for save
                            objWebinarBE.Createdby = Convert.ToInt32(Session["UserID"]);
                            //objWebinarBE.Description = txtDescription.Text;
                            objWebinarBE.Description = redtSummary.Content;
                            objWebinarBE.isRecurrence = chkRecurrence.Checked;

                            //objWebinarBE.StartDate = objUtil.getGMTDateTime(Convert.ToDateTime(rdtStartDate.SelectedDate + " " + rdtStartTime.SelectedDate));

                            //objWebinarBE.StartTime = Convert.ToDateTime(objUtil.getGMTDateTime(Convert.ToDateTime(rdtStartDate.SelectedDate + " " + rdtStartTime.SelectedDate)).ToString("HH:mm:ss")); //ToLongTimeString();
                            //objWebinarBE.EndTime = Convert.ToDateTime(rdEndTime.SelectedDate).ToString("HH:mm:ss"); //.ToLongTimeString();

                            objWebinarBE.StartDate = Convert.ToDateTime(rdtStartDate.SelectedDate);
                            objWebinarBE.StartTime = Convert.ToDateTime(rdtStartTime.SelectedDate).ToString("HH:mm:ss"); //ToLongTimeString();
                            objWebinarBE.EndTime = Convert.ToDateTime(rdEndTime.SelectedDate).ToString("HH:mm:ss"); //.ToLongTimeString();

                            objWebinarBE.TimeZoneID = Convert.ToInt32(ddlTimeZone.SelectedValue);
                            objWebinarBE.Title = txtWebinarTitle.Text;
                            objWebinarBE.WebinarID = Convert.ToInt32(hWebinarID.Value);
                            if (hWebinarID.Value == "0")
                                objWebinarBE.WebinarStatus = "Active";
                            //Presenters Options
                            if (radioBtnId11.Checked)
                                objWebinarBE.DeliveryChannel = "1";
                            else if (radioBtnId22.Checked)
                                objWebinarBE.DeliveryChannel = "2";
                            else if (radioBtnId33.Checked)
                                objWebinarBE.DeliveryChannel = "3";
                            else
                                objWebinarBE.DeliveryChannel = "0";
                            objWebinarBE.isPublic = chkEmailRegAPI.Checked;

                            #endregion

                            #region recurrence
                            WebinarRecurrencyBE objWebinarRecurrBE = new WebinarRecurrencyBE();

                            if (chkRecurrence.Checked)
                            {
                                //if (rbtnNoEnddate.Checked)
                                //{
                                //    objWebinarRecurrBE.endType = "Noend";
                                //    objWebinarRecurrBE.endValue = "";
                                //}
                                //else
                                if (rbtnEndAfter.Checked)
                                {
                                    objWebinarRecurrBE.endType = "After";
                                    objWebinarRecurrBE.endValue = txtEndAfter.Text;
                                    if (!objUtil.IsInteger(txtEndAfter.Text.Trim()))
                                        rtnVal = "Number of recurrence should be numeric";
                                }
                                else
                                {
                                    objWebinarRecurrBE.endType = "Endby";
                                    objWebinarRecurrBE.endValue = Convert.ToDateTime(rdtEndBy.SelectedDate).ToShortDateString();
                                    if (!objUtil.isDateGreaterToday(Convert.ToDateTime(rdtEndBy.SelectedDate)))
                                        rtnVal = "End by date cannot be in past";
                                }
                                if (rtnVal == string.Empty)
                                {
                                    switch (rbtnDurationType.SelectedValue)
                                    {
                                        //case "H":
                                        //    recurrCond = "H:" + rcmbHourly.SelectedValue;
                                        //    break;
                                        case "D":
                                            recurrCond = "D:" + (rbtnEday.Checked ? "ED" + rcmbEDay.SelectedValue : "EW");
                                            break;
                                        case "W":
                                            string selWDay = "";
                                            foreach (ListItem li in chkWkDay.Items)
                                            {
                                                if (li.Selected)
                                                    selWDay = selWDay + li.Value + ",";
                                            }
                                            if (selWDay.Length > 0)
                                                recurrCond = "W:" + rcmbRecurE.SelectedValue + ":" + selWDay.Substring(0, selWDay.Length - 1);
                                            else
                                                recurrCond = "W:" + rcmbRecurE.SelectedValue + ":";
                                            break;
                                        case "M":
                                            if (optMDay.Checked)
                                                recurrCond = "M:D:" + rcmbMDay.SelectedValue + ":" + rcmbMDay1.SelectedValue;
                                            else
                                                recurrCond = "M:T:" + rcmbMTheDay.SelectedValue + ":" + rcmbMTheTyp.SelectedValue + ":" + rcmbM1.SelectedValue;
                                            break;
                                        case "Y":
                                            if (optY.Checked)
                                                recurrCond = "Y:E:" + rcmbY.SelectedValue + ":" + rcmbYMonthday.SelectedValue;
                                            else
                                                recurrCond = "Y:T:" + rcmbYTheDay.SelectedValue + ":" + rcmbYTheTyp.SelectedValue + ":" + rcmbMTheMonth.SelectedValue;
                                            break;
                                    }
                                    objWebinarRecurrBE.WebinarID = webinarID;
                                    objWebinarRecurrBE.recurrType = rbtnDurationType.SelectedValue;
                                    objWebinarRecurrBE.recurrCriteria = recurrCond;
                                }
                                //objWebinarDA.UpdateWebinarRecurrence(objWebinarRecurrBE);
                            }
                            #endregion

                            if ((Convert.ToDateTime(rdtStartDate.SelectedDate) - DateTime.Now).Days < 0)
                            {
                                rtnVal = "Cannot schedule webinar in the past";
                            }
                            else if ((Convert.ToDateTime(rdtStartDate.SelectedDate) - DateTime.Now).Days == 0)
                            {
                                UserDA objUserDA = new UserDA();
                                float tm = objUserDA.getTimezoneToServerTimeDiff(Convert.ToInt32(ddlTimeZone.SelectedValue));
                                DateTime currentClientPreferDateTime = DateTime.Now.AddHours(-tm);

                                if ((Convert.ToDateTime(rdtStartTime.SelectedDate) - Convert.ToDateTime(currentClientPreferDateTime)).Minutes < 0)
                                    rtnVal = "Cannot schedule webinar past the current time";
                            }

                            if (rtnVal == "")
                            {
                                if (objWebinarDA.IsWebinarOverlapping(objUtil.FormDBDate(Convert.ToDateTime(rdtStartDate.SelectedDate)), rdtStartTime.SelectedDate.ToString(), rdEndTime.SelectedDate.ToString(), Convert.ToInt32(Session["UserID"]), Convert.ToInt32(hWebinarID.Value)))
                                {
                                    rtnVal = objError.getMessage("WB0008");
                                }
                                else
                                {
                                    webinarID = objWebinarDA.SaveWebinarSchedule(objWebinarBE, objWebinarRecurrBE, Session["EmailID"].ToString());
                                    saveRecurrenceInstances(webinarID);
                                    if (hWebinarID.Value == "0") // this section occurs when new webinars get created
                                    {
                                        hWebinarID.Value = webinarID.ToString();
                                        //setWebinarIDToTabs(hWebinarID.Value, true);
                                        lblWebinarTitle.Text = "<b>Webinar Title</b> - " + txtWebinarTitle.Text;
                                        fvWebTitle.Visible = true;
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    break;
                case 2:
                    if (hIsPast.Value == "0")
                    {
                        rtnVal = webRegistration1.saveRegistrationInfo();
                    }
                    break;
                case 3:
                    if (hIsPast.Value == "0")
                    {
                        webAudience1.saveAudienceComponent();
                    }
                    break;
                case 4:
                    if (hIsPast.Value == "0")
                    {
                        webEmail1.SaveWebEmail();
                    }
                    break;
            }
            if (rtnVal == string.Empty)
            {
                if (hWebinarID.Value != "0")
                {
                    if (tabCnt < 4)
                        tabCnt = tabCnt + 1;
                    hActiveTab.Value = tabCnt.ToString();
                    setTab();
                }
            }
            else
                lblError.Text = "<br>" + rtnVal;
        }
Ejemplo n.º 2
0
        protected void btnSaveWebinar_Click(object sender, EventArgs e)
        {
            lblWebSaveAsError.Text = "";
            if ((Convert.ToDateTime(rdtStartDate1.SelectedDate) - DateTime.Now).Days < 0)
            {
                lblWebSaveAsError.Text = "Cannot schedule webinar in the past";
            }
            else if ((Convert.ToDateTime(rdtStartDate1.SelectedDate) - DateTime.Now).Days == 0)
            {
                UserDA objUserDA = new UserDA();
                float tm = objUserDA.getTimezoneToServerTimeDiff(Convert.ToInt32(ddlTimeZone.SelectedValue));
                DateTime currentClientPreferDateTime = DateTime.Now.AddHours(-tm);

                if ((Convert.ToDateTime(rdtStartTime.SelectedDate) - Convert.ToDateTime(currentClientPreferDateTime)).Minutes < 0)
                    lblWebSaveAsError.Text = "Cannot schedule webinar past the current time";
            }
            if (lblWebSaveAsError.Text == "")
            {
                if (objWebinarDA.IsWebinarOverlapping(objUtil.FormDBDate(Convert.ToDateTime(rdtStartDate1.SelectedDate)), rdtStartTime.SelectedDate.ToString(), rdEndTime.SelectedDate.ToString(), Convert.ToInt32(Session["UserID"]), Convert.ToInt32(hWebinarID.Value)))
                {
                    lblWebSaveAsError.Text = objError.getMessage("WB0008");
                }
                else
                {
                    WebinarBE objWebinarBE = new WebinarBE();
                    objWebinarBE.WebinarID = Convert.ToInt32(hWebinarID.Value);
                    objWebinarBE.Createdby = Convert.ToInt32(Session["UserID"]);
                    objWebinarBE.Title = txtWebinarTitle.Text;
                    //objWebinarBE.Description = txtDescription.Text;
                    objWebinarBE.Description = redtSummary1.Content;
                    objWebinarBE.StartDate = Convert.ToDateTime(rdtStartDate1.SelectedDate);
                    objWebinarBE.StartTime = Convert.ToDateTime(rdtStartTime.SelectedDate).ToString("HH:mm:ss");
                    objWebinarBE.EndTime = Convert.ToDateTime(rdEndTime.SelectedDate).ToString("HH:mm:ss");
                    objWebinarBE.TimeZoneID = Convert.ToInt32(ddlTimeZone.SelectedValue);

                    objWebinarDA.SaveWeibarScheduleAs(objWebinarBE);

                    Response.Redirect("~/Pages/Webinar");
                }
            }
        }