Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            saveButton.Click   += new EventHandler(saveButton_Click);
            cancelButton.Click += new EventHandler(cancelButton_Click);


            int stationId = GetValueFromQueryString("station_id");

            if (stationId == 0)
            {
                RedirectToSuperAdminHome();
            }

            DollarSaverDB.StationDataTable stationTable = stationAdapter.GetStation(stationId);

            if (stationTable.Count == 0)
            {
                RedirectToSuperAdminHome();
            }

            Station = stationTable[0];

            if (!Page.IsPostBack)
            {
                nameLabel.Text      = Station.Name;
                codeBox.Text        = Station.Code;
                isActiveBox.Checked = Station.IsActive;

                if (!Station.IsSubdomainNull())
                {
                    subdomainBox.Text = Station.Subdomain;
                }
            }
        }
Exemple #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.RawUrl.StartsWith("/dollarsaver/index"))
                {
                    //Response.Redirect("~/Default.aspx?station_id=" + StationId);
                    DollarSaverRedirect("~/Default.aspx");
                }


                DateTime currentDate = DateTime.Now;
                currentDate = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day);

                StationTableAdapter stationAdapter = new StationTableAdapter();

                DollarSaverDB.StationRow station = stationAdapter.GetStation(StationId)[0];
                siteType = (SiteType)station.SiteTypeId;

                CertificateTableAdapter certificateAdapter = new CertificateTableAdapter();


                //stationNameLabel.Text = station.Name;
                if (!station.IsContent1Null())
                {
                    content1Label.Text = station.Content1;
                }

                if (!station.IsContent2Null())
                {
                    content2Label.Text = station.Content2;
                }

                String ImageDir = Request.PhysicalApplicationPath + station.ImageDirUrl;
                if (station.StationSiteType == SiteType.Standard)
                {
                    standardHolder.Visible = true;
                    dealHolder.Visible     = false;

                    signUpTopLink.NavigateUrl = GetUrl(signUpTopLink.NavigateUrl);

                    SpecialSettingsTableAdapter            specialSettingsAdapter = new SpecialSettingsTableAdapter();
                    DollarSaverDB.SpecialSettingsDataTable specialSettingsTable   = specialSettingsAdapter.GetSpecialSettings(StationId);

                    bool dailyHeader = false;
                    if (specialSettingsTable.Count == 1)
                    {
                        dailyHeader = specialSettingsTable[0].DailyHeader;
                    }

                    Image dailyWeeklyImage = new Image();

                    if (dailyHeader)
                    {
                        //dailyWeeklyImage.SkinID = "dailyImage";

                        if (!station.Content.IsDailyDealImageNull() && File.Exists(ImageDir + station.Content.DailyDealImage))
                        {
                            dailyWeeklyImage.ImageUrl = station.ImageDirUrl + station.Content.DailyDealImage;
                        }
                        else
                        {
                            dailyWeeklyImage.ImageUrl = "~/images/boxtop_daily.gif";
                        }
                    }
                    else
                    {
                        //dailyWeeklyImage.SkinID = "weeklyImage";
                        if (!station.Content.IsWeeklyDealImageNull() && File.Exists(ImageDir + station.Content.WeeklyDealImage))
                        {
                            dailyWeeklyImage.ImageUrl = station.ImageDirUrl + station.Content.WeeklyDealImage;
                        }
                        else
                        {
                            dailyWeeklyImage.ImageUrl = "~/images/boxtop_weekly.gif";
                        }
                    }

                    dailyWeeklyImageHolder.Controls.Add(dailyWeeklyImage);

                    DollarSaverDB.CertificateDataTable daily = certificateAdapter.GetSpecial(StationId, 1);
                    if (daily.Count == 1)
                    {
                        SpecialCert1.DisplayCertificate = daily[0];
                        if (HitCounterEnabled)
                        {
                            LogHit(currentDate, daily[0].CertificateId, PageHitType.HomePage);
                        }
                    }

                    DollarSaverDB.CertificateDataTable cert2 = certificateAdapter.GetSpecial(StationId, 2);
                    if (cert2.Count == 1)
                    {
                        SpecialCert2.DisplayCertificate = cert2[0];
                        if (HitCounterEnabled)
                        {
                            LogHit(currentDate, cert2[0].CertificateId, PageHitType.HomePage);
                        }
                    }

                    DollarSaverDB.CertificateDataTable cert3 = certificateAdapter.GetSpecial(StationId, 3);
                    if (cert3.Count == 1)
                    {
                        SpecialCert3.DisplayCertificate = cert3[0];
                        if (HitCounterEnabled)
                        {
                            LogHit(currentDate, cert3[0].CertificateId, PageHitType.HomePage);
                        }
                    }

                    DollarSaverDB.CertificateDataTable cert4 = certificateAdapter.GetSpecial(StationId, 4);
                    if (cert4.Count == 1)
                    {
                        SpecialCert4.DisplayCertificate = cert4[0];
                        if (HitCounterEnabled)
                        {
                            LogHit(currentDate, cert4[0].CertificateId, PageHitType.HomePage);
                        }
                    }

                    if (!station.Content.IsOtherDealsImageNull() && File.Exists(ImageDir + station.Content.OtherDealsImage))
                    {
                        otherDealsImage.ImageUrl = station.ImageDirUrl + station.Content.OtherDealsImage;
                    }

                    if (!station.Content.IsLogoImageNull() && File.Exists(ImageDir + station.Content.LogoImage))
                    {
                        logoImage.ImageUrl = station.ImageDirUrl + station.Content.LogoImage;
                    }
                }
                else     // Deal of the Week
                {
                    standardHolder.Visible = false;
                    dealHolder.Visible     = true;

                    if (!Station.IsSiteNameNull() && Station.SiteName != String.Empty)
                    {
                        dotwStationNameLabel.Text = Regex.Replace(Station.SiteName, "<[^>]+>", "");
                    }
                    else
                    {
                        dotwStationNameLabel.Text = "DollarSaver Deal of the Week";
                    }

                    if (!Station.Content.IsDotwSubheaderImageNull() && File.Exists(ImageDir + station.Content.DotwSubheaderImage))
                    {
                        subheaderCell.Style["background-image"] = "url(" + station.ImageDirUrl + station.Content.DotwSubheaderImage + ")";
                    }
                    else
                    {
                        subheaderCell.Style["background-image"] = "url(" + ResolveUrl("~/images/dotw_background.gif") + ")";
                    }

                    DollarSaverDB.CertificateDataTable certificateTable = certificateAdapter.GetCurrentDeal(StationId);

                    if (certificateTable.Count == 1)
                    {
                        dealOfTheWeek.Deal = certificateTable[0];
                        if (HitCounterEnabled)
                        {
                            LogHit(currentDate, certificateTable[0].CertificateId, PageHitType.HomePage);
                        }
                    }
                }
            }
        }
        void saveButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                StationTableAdapter stationAdapter = new StationTableAdapter();

                String name          = nameBox.Text.Trim();
                int    siteTypeId    = Int32.Parse(siteTypeList.SelectedValue);
                int    stationTypeId = Int32.Parse(stationTypeList.SelectedValue);
                String phoneNumber   = phoneNumberBox.Text.Trim();
                String address1      = address1Box.Text.Trim();
                String address2      = address2Box.Text.Trim();
                String city          = cityBox.Text.Trim();
                String stateCode     = stateList.SelectedValue;
                String zipCode       = zipCodeBox.Text.Trim();
                int    timeZoneId    = Int32.Parse(timeZoneList.SelectedValue);
                //bool affectedByDST = daylightSavingsBox.Checked;
                String stationUrl = stationUrlBox.Text.Trim();
                String siteName   = siteNameBox.Text.Trim();
                String content1   = content1Box.Text.Trim();
                String content2   = content2Box.Text.Trim();
                //bool isActive = isActiveBox.Checked;

                if (name == String.Empty)
                {
                    ErrorMessage = "Name is required";
                    return;
                }


                if (phoneNumber == String.Empty)
                {
                    ErrorMessage = "Phone Number is required";
                    return;
                }

                if (address1 == String.Empty)
                {
                    ErrorMessage = "Address 1 is required";
                    return;
                }

                if (city == String.Empty)
                {
                    ErrorMessage = "City is required";
                    return;
                }

                if (zipCode == String.Empty)
                {
                    ErrorMessage = "Zip Code is required";
                    return;
                }

                if (stationUrl != String.Empty)
                {
                    stationUrl = stationUrlStart.SelectedValue + stationUrl;

                    // come up with a better validation...
                    if (!Uri.IsWellFormedUriString(stationUrl, UriKind.Absolute))
                    {
                        ErrorMessage = "Please enter a valid Station Website";
                        return;
                    }
                }

                if (stationUrl.Length > 500)
                {
                    stationUrl = stationUrl.Substring(0, 500);
                }

                /*
                 * if (content1 == String.Empty) {
                 *  ErrorMessage = "Content 1 is required";
                 *  return;
                 * }*/

                if (content1.Length > 1000)
                {
                    content1 = content1.Substring(0, 1000);
                }


                /*
                 * if (content2 == String.Empty) {
                 *  ErrorMessage = "Content 2 is required";
                 *  return;
                 * }*/

                if (content2.Length > 1000)
                {
                    content2 = content2.Substring(0, 1000);
                }

                siteName = siteName.Replace("<br />", "");

                if (siteName.Length > 500)
                {
                    siteName = siteName.Substring(0, 500);
                }

                String siteNameCheck = Regex.Replace(siteName, "<[^>]+>", "").Replace("&nbsp;", "").Trim();

                if (siteNameCheck == String.Empty)   // only leftover formatting in site name
                {
                    siteName = String.Empty;
                }

                if (Station != null)
                {
                    Station.Name          = name;
                    Station.SiteTypeId    = Int32.Parse(siteTypeList.SelectedValue);
                    Station.StationTypeId = Int32.Parse(stationTypeList.SelectedValue);
                    Station.PhoneNumber   = phoneNumber;
                    Station.Address1      = address1;
                    Station.Address2      = address2;
                    Station.City          = city;
                    Station.StateCode     = stateList.SelectedValue;
                    Station.ZipCode       = zipCode;
                    Station.TimeZoneId    = Int32.Parse(timeZoneList.SelectedValue);
                    //Station.AffectedByDST = daylightSavingsBox.Checked;
                    if (stationUrl != String.Empty)
                    {
                        Station.StationUrl = stationUrl;
                    }
                    else
                    {
                        Station.SetStationUrlNull();
                    }

                    if (siteName != String.Empty)
                    {
                        Station.SiteName = siteName;
                    }
                    else
                    {
                        Station.SetSiteNameNull();
                    }

                    Station.Content1 = content1;
                    Station.Content2 = content2;
                    //Station.IsActive = isActiveBox.Checked;
                    Station.IsSiteActive = isSiteActiveBox.Checked;

                    stationAdapter.Update(Station);
                    InfoMessage = "Station Updated";
                }
                else
                {
                    if (IsSuperAdmin)
                    {
                        String code = codeBox.Text.Trim().ToUpper();

                        if (code == String.Empty)
                        {
                            ErrorMessage = "Code is required";
                            return;
                        }

                        if (code.Length < 3 || code.Length > 20)
                        {
                            ErrorMessage = "Code must be between 3 and 20 characters";
                            return;
                        }

                        DollarSaverDB.StationDataTable stationCodeLookup = stationAdapter.GetByCode(code);

                        if (stationCodeLookup.Count == 1 && (Station == null || stationCodeLookup[0].StationId != Station.StationId))
                        {
                            InfoMessage = "Code is already in use";
                            return;
                        }

                        int stationId = Convert.ToInt32(stationAdapter.InsertPK(name, code, stationTypeId, siteTypeId, phoneNumber, address1, address2,
                                                                                city, stateCode, zipCode, timeZoneId, false, DateTime.Now, DateTime.Now, true,
                                                                                content1, content2, Globals.ConvertToNull(stationUrl), Globals.ConvertToNull(siteName), isSiteActiveBox.Checked, null));

                        Station = stationAdapter.GetStation(stationId)[0];

                        CategoryTableAdapter categoryAdapter = new CategoryTableAdapter();
                        categoryAdapter.Insert(stationId, null, "Restaurants & Food", 1);
                        categoryAdapter.Insert(stationId, null, "Things To Do", 2);
                        categoryAdapter.Insert(stationId, null, "Home & Garden", 3);
                        categoryAdapter.Insert(stationId, null, "Health & Beauty", 4);
                        categoryAdapter.Insert(stationId, null, "Retail", 5);
                        categoryAdapter.Insert(stationId, null, "Automotive", 6);

                        StationContentTableAdapter stationContentTableAdapter = new StationContentTableAdapter();
                        stationContentTableAdapter.Insert(stationId, null, null, null, null, null, null, null, null, null);

                        DealSettingsTableAdapter dealSettingsAdapter = new DealSettingsTableAdapter();
                        dealSettingsAdapter.Insert(stationId, 1, 8, 4, 10);

                        SpecialSettingsTableAdapter specialSettingAdapter = new SpecialSettingsTableAdapter();
                        specialSettingAdapter.Insert(stationId, true);

                        if (!Directory.Exists(Request.PhysicalApplicationPath + Station.StationDirUrl))
                        {
                            Directory.CreateDirectory(Request.PhysicalApplicationPath + Station.StationDirUrl);
                        }

                        if (!Directory.Exists(Request.PhysicalApplicationPath + Station.ImageDirUrl))
                        {
                            Directory.CreateDirectory(Request.PhysicalApplicationPath + Station.ImageDirUrl);
                        }
                    }
                }

                RedirectToHomePage();
            }
        }
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);

            CheckSecurity();

            int subdomainStationId = CheckSubdomain();

            int queryStringStationId = GetStationIdFromQueryString();

            if (queryStringStationId == 0)
            {
                // old parameter for backwards compatibility
                queryStringStationId = GetValueFromQueryString("stationId");
            }


            int stationId = 0;

            if (subdomainStationId > 0)
            {
                stationId = subdomainStationId;
            }
            else if (queryStringStationId > 0)
            {
                stationId = queryStringStationId;
            }
            else if (GetPageStationId() > 0)
            {
                stationId = GetPageStationId();
            }
            else if (DsCookie["station_id"] != null)
            {
                try {
                    stationId = Int32.Parse(DsCookie["station_id"]);
                } catch { }
            }

            if (stationId == 0 || invalidSubdomain)
            {
                String url = "http://" + EnvDomain + ResolveUrl("~/Sites.aspx");

                Response.Redirect(url);
            }

            DollarSaverDB.StationDataTable stationTable = stationAdapter.GetStation(stationId);

            if (stationTable.Count != 1)
            {
                ErrorMessage = "Unkown Station: " + stationId;

                String url = "http://" + EnvDomain + ResolveUrl("~/Sites.aspx");

                Response.Redirect(url);
            }

            DollarSaverDB.StationRow station = stationTable[0];

            if (StationActiveRequired && (!station.IsActive || !station.IsSiteActive))
            {
                ErrorMessage = "Sorry, this station is not currently active";

                String url = "http://" + EnvDomain + ResolveUrl("~/Sites.aspx");

                Response.Redirect(url);
            }

            Station = station;


            // set cookie

            DsCookie["station_id"] = stationId.ToString();
            DsCookie.Expires       = DateTime.Now.AddYears(10);
            if (IsDev)
            {
                DsCookie.Domain = EnvDomain;
            }
            else
            {
                DsCookie.Domain = ".dollarsavershow.com";
            }

            if (UseSubdomain && UrlSubdomain == String.Empty && !IsSecure)
            {
                // redirect to absolute URL
                String absoluteUrl = String.Empty;

                if (IsSecure)
                {
                    absoluteUrl = "https://";
                }
                else
                {
                    absoluteUrl = "http://";
                }

                absoluteUrl += Station.Subdomain + "." + EnvDomain;

                //absoluteUrl += Request.RawUrl;

                String queryString = String.Empty;

                foreach (String key in Request.QueryString.Keys)
                {
                    if (key.ToLower() != "station_id" && key.ToLower() != "stationid")
                    {
                        queryString += key + "=" + Request.QueryString[key];
                    }
                }

                if (queryString.EndsWith("&"))
                {
                    queryString = queryString.Substring(0, queryString.Length - 1);
                }

                if (queryString != String.Empty)
                {
                    queryString = "?" + queryString;
                }

                absoluteUrl += Request.Url.LocalPath + queryString;


                Response.Redirect(absoluteUrl);
            }
        }