예제 #1
0
    public void Page_Load(object sender, EventArgs e)
    {
        this.addFile.Attributes["onclick"] = this.files.GetAddFileScriptReference() + "return false;";
        gridManage.OnGetDataSource        += new EventHandler(gridManage_OnGetDataSource);

        if (!IsPostBack)
        {
            TransitPlace place = SessionManager.PlaceService.GetPlaceById(SessionManager.Ticket, RequestId);

            GetData(sender, e);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Pictures", Request.Url));
            StackSiteMap(sitemapdata);
        }

        if (!SessionManager.HasVerified())
        {
            ReportWarning("You don't have any verified e-mail addresses and/or profile photos.\n" +
                          "You must add/confirm a valid e-mail address and upload a profile photo before uploading place pictures.");

            addFile.Enabled = false;
            save.Enabled    = false;
        }
    }
예제 #2
0
    public void merge_Click(object sender, EventArgs e)
    {
        TransitPlace t_instance = GetMergeTo();

        t_instance.City         = selectCity.SelectedValue;
        t_instance.Country      = selectCountry.SelectedValue;
        t_instance.CrossStreet  = selectCrossStreet.SelectedValue;
        t_instance.Description  = selectDescription.SelectedValue;
        t_instance.Email        = selectEmail.SelectedValue;
        t_instance.Fax          = selectFax.SelectedValue;
        t_instance.Name         = selectName.SelectedValue;
        t_instance.Neighborhood = selectNeighborhood.SelectedValue;
        t_instance.Phone        = selectPhone.SelectedValue;
        t_instance.State        = selectState.SelectedValue;
        t_instance.Street       = selectStreet.SelectedValue;
        t_instance.Type         = selectType.SelectedValue;
        t_instance.Zip          = selectZip.SelectedValue;

        SessionManager.PlaceService.MergePlaces(
            SessionManager.Ticket, MergeId, t_instance);

        SessionManager.InvalidateCache <TransitPlace>();
        SessionManager.InvalidateCache <TransitPlacePicture>();
        Redirect(string.Format("PlaceView.aspx?id={0}", RequestId));
    }
예제 #3
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TransitPlace p = SessionManager.PlaceService.GetPlaceById(SessionManager.Ticket, PlaceId);
            linkBack.NavigateUrl = string.Format("PlacePicturesManage.aspx?id={0}", PlaceId);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(p.Name, Request, string.Format("PlaceView.aspx?id={0}", p.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Pictures", Request, string.Format("PlacePicturesManage.aspx?id={0}", p.Id)));

            if (RequestId > 0)
            {
                TransitPlacePicture t = SessionManager.PlaceService.GetPlacePictureById(
                    SessionManager.Ticket, RequestId);
                inputName.Text        = t.Name;
                inputDescription.Text = t.Description;
                imageFull.ImageUrl    = string.Format("PlacePicture.aspx?id={0}&CacheDuration=0", t.Id);
                sitemapdata.Add(new SiteMapDataAttributeNode(t.Name, Request.Url));
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("New Picture", Request.Url));
            }

            StackSiteMap(sitemapdata);
        }

        SetDefaultButton(manageAdd);
    }
예제 #4
0
    public void merge_Click(object sender, EventArgs e)
    {
        TransitPlaceChangeRequest request = SessionManager.PlaceService.GetPlaceChangeRequestById(
            SessionManager.Ticket, RequestId);

        TransitPlace place = SessionManager.PlaceService.GetPlaceById(
            SessionManager.Ticket, request.PlaceId);

        place.City         = selectCity.SelectedValue;
        place.Country      = selectCountry.SelectedValue;
        place.CrossStreet  = selectCrossStreet.SelectedValue;
        place.Description  = selectDescription.SelectedValue;
        place.Email        = selectEmail.SelectedValue;
        place.Fax          = selectFax.SelectedValue;
        place.Name         = selectName.SelectedValue;
        place.Neighborhood = selectNeighborhood.SelectedValue;
        place.Phone        = selectPhone.SelectedValue;
        place.State        = selectState.SelectedValue;
        place.Street       = selectStreet.SelectedValue;
        place.Type         = selectType.SelectedValue;
        place.Zip          = selectZip.SelectedValue;

        SessionManager.CreateOrUpdate <TransitPlace>(place, SessionManager.PlaceService.CreateOrUpdatePlace);
        SessionManager.Delete <TransitPlaceChangeRequest>(request.Id, SessionManager.PlaceService.DeletePlaceChangeRequest);

        Redirect(string.Format("PlaceView.aspx?id={0}", place.Id));
    }
예제 #5
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (RequestId == 0)
        {
            throw new Exception("Missing place.");
        }

        gridManage.OnGetDataSource += new EventHandler(gridManage_OnGetDataSource);

        if (!IsPostBack)
        {
            TransitPlace p = SessionManager.GetInstance <TransitPlace, PlaceService.ServiceQueryOptions, int>(
                RequestId, SessionManager.PlaceService.GetPlaceById);

            this.Title = string.Format("{0}'s Pictures", Renderer.Render(p.Name));

            GetData(sender, e);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(p.Name, Request, string.Format("PlaceView.aspx?id={0}", p.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Pictures", Request.Url));
            StackSiteMap(sitemapdata);
        }
    }
예제 #6
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GetData(sender, e);

            if (ParentId != 0)
            {
                TransitPlace place = SessionManager.PlaceService.GetPlaceById(SessionManager.Ticket, ParentId);
                linkPlace.NavigateUrl = string.Format("PlaceView.aspx?id={0}", place.Id);
                linkBack.NavigateUrl  = (string.IsNullOrEmpty(ReturnUrl)) ? linkPlace.NavigateUrl : ReturnUrl;
                linkPlace.Text        = Renderer.Render(place.Name);
                imagePlace.ImageUrl   = string.Format("PlacePictureThumbnail.aspx?id={0}", place.PictureId);
                inputMessage.Text     = "Hello,\n\nI work for this place and would like to manage content.\n\nThanks!\n";

                SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
                sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
                sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
                sitemapdata.Add(new SiteMapDataAttributeNode("Request Ownership", Request.Url));
                StackSiteMap(sitemapdata);
            }
        }

        SetDefaultButton(manageAdd);
    }
        public void doIntro()
        {
            mAccountEvent = new TransitAccountEvent();
            mAccountEvent.Publish = true;

            mPlace = new TransitPlace();
            mSchedule = new TransitSchedule();
        }
예제 #8
0
    public void SavePlace(object sender, EventArgs e)
    {
        if (!IsEditing)
        {
            return;
        }

        Place      = new TransitPlace();
        Place.Type = selectType.SelectedValue;
        if (string.IsNullOrEmpty(Place.Type))
        {
            throw new Exception("Please choose a type for this place.");
        }
        Place.Name         = inputName.Text;
        Place.Country      = inputCountry.SelectedValue;
        Place.City         = inputCity.Text;
        Place.Neighborhood = inputNeighborhood.Text;
        if (string.IsNullOrEmpty(Place.Name))
        {
            throw new Exception("Please enter a place name.");
        }
        if (string.IsNullOrEmpty(Place.Country))
        {
            throw new Exception("Please choose a country for this place.");
        }
        if (string.IsNullOrEmpty(Place.City))
        {
            throw new Exception("Please choose a city for this place.");
        }
        Place.State       = inputState.Text;
        Place.Street      = inputStreet.Text;
        Place.Zip         = inputZip.Text;
        Place.CrossStreet = inputCrossStreet.Text;
        Place.Phone       = inputPhone.Text;
        Place.Fax         = inputFax.Text;
        Place.Email       = inputEmail.Text;
        Place.Description = string.Empty;
        ArrayList a = new ArrayList();

        a.Add(Place);
        chosenPlace.DataSource = a;
        chosenPlace.DataBind();
        panelAdd.Visible    = false;
        lookupPlace.Enabled = true;
        addPlace.Enabled    = true;
        IsChosen            = true;
        IsEditing           = false;
        if (Choose != null)
        {
            Choose(sender, e);
        }
        panelSelectPlace.Update();
    }
예제 #9
0
        public void CreateManyPlaces(int count)
        {
            Random r = new Random();
            ManagedSecurityContext sec = ManagedAccount.GetAdminSecurityContext(Session);

            // country
            TransitCountry t_country = new TransitCountry();

            t_country.Name = Guid.NewGuid().ToString();
            ManagedCountry country = new ManagedCountry(Session);

            country.CreateOrUpdate(t_country, sec);
            // state
            TransitState t_state = new TransitState();

            t_state.Name    = Guid.NewGuid().ToString();
            t_state.Country = t_country.Name;
            ManagedState state = new ManagedState(Session);

            state.CreateOrUpdate(t_state, sec);
            // city
            TransitCity t_city = new TransitCity();

            t_city.Name    = Guid.NewGuid().ToString();
            t_city.State   = t_state.Name;
            t_city.Country = t_country.Name;
            ManagedCity city = new ManagedCity(Session);

            city.CreateOrUpdate(t_city, sec);
            // place type
            TransitPlaceType t_placetype = new TransitPlaceType();

            t_placetype.Name = Guid.NewGuid().ToString();
            ManagedPlaceType placetype = new ManagedPlaceType(Session);

            placetype.CreateOrUpdate(t_placetype, sec);

            for (int i = 0; i < count; i++)
            {
                TransitPlace t_place = new TransitPlace();
                t_place.Name      = Guid.NewGuid().ToString();
                t_place.AccountId = sec.Account.Id;
                t_place.City      = t_city.Name;
                t_place.Country   = t_country.Name;
                t_place.State     = t_state.Name;
                t_place.Street    = string.Format("{0} {1} St.", r.Next(), Guid.NewGuid().ToString());
                t_place.Zip       = r.Next().ToString();
                t_place.Type      = t_placetype.Name;

                ManagedPlace place = new ManagedPlace(Session);
                place.CreateOrUpdate(t_place, sec);
            }
        }
예제 #10
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            StackSiteMap(sitemapdata);

            if (RequestId == 0)
            {
                throw new Exception("Missing Merge Place");
            }

            TransitPlace mergeto = GetMergeTo();
            linkMergeInto.Text        = Renderer.Render(mergeto.Name);
            linkMergeInto.NavigateUrl = string.Format("PlaceView.aspx?id={0}", mergeto.Id);

            if (MergeId == 0)
            {
                panelLookup.Visible          = true;
                panelMerge.Visible           = false;
                panelSelectMergeFrom.Visible = true;
                return;
            }

            if (MergeId == RequestId)
            {
                throw new Exception("Cannot merge place into itself.");
            }

            TransitPlace mergefrom = GetMergeFrom();
            linkMergeFrom.Text        = Renderer.Render(mergefrom.Name);
            linkMergeFrom.NavigateUrl = string.Format("PlaceView.aspx?id={0}", mergefrom.Id);

            AddListItem(mergeto.Name, mergefrom.Name, selectName);
            AddListItem(mergeto.Type, mergefrom.Type, selectType);
            AddListItem(mergeto.Description, mergefrom.Description, selectDescription);
            AddListItem(mergeto.Country, mergefrom.Country, selectCountry);
            AddListItem(mergeto.State, mergefrom.State, selectState);
            AddListItem(mergeto.City, mergefrom.City, selectCity);
            AddListItem(mergeto.Neighborhood, mergefrom.Neighborhood, selectNeighborhood);
            AddListItem(mergeto.Phone, mergefrom.Phone, selectPhone);
            AddListItem(mergeto.Fax, mergefrom.Fax, selectFax);
            AddListItem(mergeto.Street, mergefrom.Street, selectStreet);
            AddListItem(mergeto.Zip, mergefrom.Zip, selectZip);
            AddListItem(mergeto.CrossStreet, mergefrom.CrossStreet, selectCrossStreet);
            AddListItem(mergeto.Email, mergefrom.Email, selectEmail);
        }

        SetDefaultButton(merge);
    }
예제 #11
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DomainClass cs = SessionManager.GetDomainClass("PlaceAttribute");
            inputUrl.MaxLength = cs["Url"].MaxLengthInChars;

            linkBack.NavigateUrl = string.Format("PlaceAttributesManage.aspx?id={0}", PlaceId);

            List <TransitAttribute> attributes = SessionManager.ObjectService.GetAttributes(
                SessionManager.Ticket, null);

            if (RequestId == 0)
            {
                attributes.Insert(0, new TransitAttribute());
            }

            listAttributes.DataSource = attributes;
            listAttributes.DataBind();

            TransitPlace         p           = Place;
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(p.Name, Request, string.Format("PlaceView.aspx?id={0}", p.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Attributes", Request, string.Format("PlaceAttributesManage.aspx?id={0}", p.Id)));

            if (RequestId > 0)
            {
                TransitPlaceAttribute attribute = SessionManager.PlaceService.GetPlaceAttributeById(
                    SessionManager.Ticket, RequestId);
                inputValue.Text        = Renderer.Render(attribute.Value);
                inputUrl.Text          = Renderer.Render(attribute.Url);
                inputDefaultUrl.Text   = Renderer.Render(attribute.Attribute.DefaultUrl);
                inputDefaultValue.Text = Renderer.Render(attribute.Attribute.DefaultValue);
                ListItemManager.TrySelect(listAttributes, attribute.AttributeId);
                listAttributes.Enabled = false;
                previewImage.ImageUrl  = string.Format("SystemAttribute.aspx?id={0}", attribute.AttributeId);
                previewImage.Visible   = true;
                sitemapdata.Add(new SiteMapDataAttributeNode(attribute.Attribute.Name, Request.Url));
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("New Attribute", Request.Url));
            }

            StackSiteMap(sitemapdata);
        }

        SetDefaultButton(manageAdd);
    }
예제 #12
0
    public string GetDataObjectName()
    {
        switch (Feature.DataObjectName)
        {
        case "AccountFeed":
        {
            TransitAccountFeed t_instance = SessionManager.GetInstance <TransitAccountFeed, int>(
                Feature.DataRowId, SessionManager.SyndicationService.GetAccountFeedById);
            return(t_instance.Name);
        }

        case "AccountFeedItem":
        {
            TransitAccountFeedItem t_instance = SessionManager.GetInstance <TransitAccountFeedItem, int>(
                Feature.DataRowId, SessionManager.SyndicationService.GetAccountFeedItemById);
            return(t_instance.Title);
        }

        case "Account":
        {
            TransitAccount t_instance = SessionManager.GetInstance <TransitAccount, int>(
                Feature.DataRowId, SessionManager.AccountService.GetAccountById);
            return(t_instance.Name);
        }

        case "AccountEvent":
        {
            TransitAccountEvent t_instance = SessionManager.GetInstance <TransitAccountEvent, int, long>(
                Feature.DataRowId, 0, SessionManager.EventService.GetAccountEventById);
            return(t_instance.Name);
        }

        case "AccountGroup":
        {
            TransitAccountGroup t_instance = SessionManager.GetInstance <TransitAccountGroup, int>(
                Feature.DataRowId, SessionManager.GroupService.GetAccountGroupById);
            return(t_instance.Name);
        }

        case "Place":
        {
            TransitPlace t_instance = SessionManager.GetInstance <TransitPlace, int>(
                Feature.DataRowId, SessionManager.PlaceService.GetPlaceById);
            return(t_instance.Name);
        }
        }

        return(string.Empty);
    }
예제 #13
0
        public void CreateManyPlaces(int count)
        {
            Random r = new Random();
            ManagedSecurityContext sec = ManagedAccount.GetAdminSecurityContext(Session);

            // country
            TransitCountry t_country = new TransitCountry();
            t_country.Name = Guid.NewGuid().ToString();
            ManagedCountry country = new ManagedCountry(Session);
            country.CreateOrUpdate(t_country, sec);
            // state
            TransitState t_state = new TransitState();
            t_state.Name = Guid.NewGuid().ToString();
            t_state.Country = t_country.Name;
            ManagedState state = new ManagedState(Session);
            state.CreateOrUpdate(t_state, sec);
            // city
            TransitCity t_city = new TransitCity();
            t_city.Name = Guid.NewGuid().ToString();
            t_city.State = t_state.Name;
            t_city.Country = t_country.Name;
            ManagedCity city = new ManagedCity(Session);
            city.CreateOrUpdate(t_city, sec);
            // place type
            TransitPlaceType t_placetype = new TransitPlaceType();
            t_placetype.Name = Guid.NewGuid().ToString();
            ManagedPlaceType placetype = new ManagedPlaceType(Session);
            placetype.CreateOrUpdate(t_placetype, sec);

            for (int i = 0; i < count; i++)
            {
                TransitPlace t_place = new TransitPlace();
                t_place.Name = Guid.NewGuid().ToString();
                t_place.AccountId = sec.Account.Id;
                t_place.City = t_city.Name;
                t_place.Country = t_country.Name;
                t_place.State = t_state.Name;
                t_place.Street = string.Format("{0} {1} St.", r.Next(), Guid.NewGuid().ToString());
                t_place.Zip = r.Next().ToString();
                t_place.Type = t_placetype.Name;

                ManagedPlace place = new ManagedPlace(Session);
                place.CreateOrUpdate(t_place, sec);
            }
        }
예제 #14
0
    public void Page_Load(object sender, EventArgs e)
    {
        picturesView.OnGetDataSource += new EventHandler(picturesView_OnGetDataSource);

        if (!IsPostBack)
        {
            mPictureId = RequestId;
            GetPictureData(sender, e);
            GetPicturesData(sender, e);

            TransitPlace         p           = Place;
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "PlacesView.aspx", p.Country, p.State, p.City, p.Neighborhood, p.Type));
            sitemapdata.Add(new SiteMapDataAttributeNode(p.Name, Request, string.Format("PlaceView.aspx?id={0}", p.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Pictures", Request.Url));
            StackSiteMap(sitemapdata);
        }
    }
예제 #15
0
    void GetPictureData(object sender, EventArgs e)
    {
        TransitPlacePicture p = GetPlacePicture();

        inputPicture.Src = string.Format("PlacePictureThumbnail.aspx?id={0}",
                                         p.Id);

        inputName.Text        = Renderer.Render(p.Name);
        inputDescription.Text = Renderer.Render(p.Description);
        inputCreated.Text     = SessionManager.Adjust(p.Created).ToString("d");
        inputCounter.Text     = p.Counter.Total.ToString();

        TransitPlace l = GetPlace();

        //discussionComments.ReturnUrl = string.Format("PlacePictureView.aspx?id={0}", PictureId);
        //discussionComments.DiscussionId = SessionManager.GetCount<TransitDiscussion, string, int>(
        //    typeof(PlacePicture).Name, PictureId, SessionManager.DiscussionService.GetOrCreateDiscussionId);
        //discussionComments.DataBind();
    }
예제 #16
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (RequestId == 0)
            {
                throw new Exception("Missing place merge request.");
            }

            TransitPlaceChangeRequest request = SessionManager.PlaceService.GetPlaceChangeRequestById(
                SessionManager.Ticket, RequestId);

            TransitPlace place = SessionManager.PlaceService.GetPlaceById(
                SessionManager.Ticket, request.PlaceId);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "PlacesView.aspx", place.Country, place.State, place.City, place.Neighborhood, place.Type));
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Merge Changes", Request.Url));
            StackSiteMap(sitemapdata);

            Title = labelName.Text = string.Format("{0}: Merge Changes", Renderer.Render(place.Name));
            linkBack.NavigateUrl = string.Format("PlaceChangeRequestsManage.aspx?id={0}", place.Id);

            AddListItem(place.Name, request.Name, selectName);
            AddListItem(place.Type, request.Type, selectType);
            AddListItem(place.Description, request.Description, selectDescription);
            AddListItem(place.Country, request.Country, selectCountry);
            AddListItem(place.State, request.State, selectState);
            AddListItem(place.City, request.City, selectCity);
            AddListItem(place.Neighborhood, request.Neighborhood, selectNeighborhood);
            AddListItem(place.Phone, request.Phone, selectPhone);
            AddListItem(place.Fax, request.Fax, selectFax);
            AddListItem(place.Street, request.Street, selectStreet);
            AddListItem(place.Zip, request.Zip, selectZip);
            AddListItem(place.CrossStreet, request.CrossStreet, selectCrossStreet);
            AddListItem(place.Email, request.Email, selectEmail);
        }

        SetDefaultButton(merge);
    }
예제 #17
0
    public void Page_Load(object sender, EventArgs e)
    {
        gridManage.OnGetDataSource += new EventHandler(gridManage_OnGetDataSource);

        if (!IsPostBack)
        {
            TransitPlace place = SessionManager.PlaceService.GetPlaceById(
                SessionManager.Ticket, RequestId);

            labelTitle.Text      = Title = string.Format("{0}: Change Requests", Renderer.Render(place.Name));
            linkBack.NavigateUrl = string.Format("PlaceView.aspx?id={0}", place.Id);

            GetData(sender, e);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "PlacesView.aspx", place.Country, place.State, place.City, place.Neighborhood, place.Type));
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Change Requests", Request.Url));
            StackSiteMap(sitemapdata);
        }
    }
예제 #18
0
    public void Page_Load(object sender, EventArgs e)
    {
        TransitPlace p = Place;

        linkNew.NavigateUrl = string.Format("PlaceAttributeEdit.aspx?aid={0}", RequestId);
        placeLink.HRef      = string.Format("PlaceView.aspx?id={0}", RequestId);
        placeImage.Src      = string.Format("PlacePictureThumbnail.aspx?id={0}", p.PictureId);
        placeName.Text      = Render(p.Name);

        gridManage.OnGetDataSource += new EventHandler(gridManage_OnGetDataSource);

        if (!IsPostBack)
        {
            GetData(sender, e);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(p.Name, Request, string.Format("PlaceView.aspx?id={0}", p.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Attributes", Request.Url));
            StackSiteMap(sitemapdata);
        }
    }
예제 #19
0
 public void linkFetch_Click(object sender, EventArgs e)
 {
     try
     {
         ContentPageParameters p = new ContentPageParameters();
         p.UserAgent = SessionManager.GetCachedConfiguration("SnCore.Web.UserAgent", "SnCore/1.0");
         Uri          pageuri = new Uri(inputUrl.Text);
         string       content = ContentPage.GetHttpContent(pageuri, p);
         HtmlPageInfo info    = HtmlPageInfoExtractor.Extract(content);
         if (string.IsNullOrEmpty(info.Title))
         {
             TransitPlace place = SessionManager.GetInstance <TransitPlace, int>(
                 PlaceId, SessionManager.PlaceService.GetPlaceById);
             info.Title = place.Name;
         }
         inputName.Text = info.Title.Trim();
     }
     catch (Exception ex)
     {
         throw new Exception(string.Format("Error retreiving {0}\n{1}",
                                           inputUrl.Text, ex.Message));
     }
 }
예제 #20
0
    void GetPictureData(object sender, EventArgs e)
    {
        TransitPlacePicture p = PlacePicture;

        inputPicture.Src            = string.Format("PlacePicture.aspx?id={0}", p.Id);
        inputName.Text              = Renderer.Render(p.Name);
        inputDescription.Text       = Renderer.Render(p.Description);
        inputUploadedBy.NavigateUrl = string.Format("AccountView.aspx?id={0}", p.AccountId);
        inputUploadedBy.Text        = Renderer.Render(p.AccountName);
        inputCreated.Text           = Adjust(p.Created).ToString("d");
        inputCounter.Text           = p.Counter.Total.ToString();

        TransitPlace l = Place;

        this.Title = string.Format("{0}: {1}",
                                   Renderer.Render(l.Name), string.IsNullOrEmpty(p.Name) ? "Untitled" : Renderer.Render(p.Name));

        labelPlaceName.Text = Renderer.Render(l.Name);

        linkBack.NavigateUrl = string.Format("PlaceView.aspx?id={0}", l.Id);
        linkBack.Text        = string.Format("&#187; Back to {0}", Renderer.Render(l.Name));
        linkComments.Visible = p.CommentCount > 0;
        linkComments.Text    = string.Format("&#187; {0} comment{1}",
                                             (p.CommentCount > 0) ? p.CommentCount.ToString() : "no",
                                             (p.CommentCount == 1) ? "" : "s");

        linkPrev.Enabled         = p.PrevId > 0;
        linkPrev.CommandArgument = p.PrevId.ToString();
        linkNext.Enabled         = p.NextId > 0;
        linkNext.CommandArgument = p.NextId.ToString();
        labelIndex.Text          = string.Format("{0} / {1}", p.Index + 1, p.Count);

        discussionComments.ReturnUrl    = string.Format("PlacePictureView.aspx?id={0}", PictureId);
        discussionComments.DiscussionId = SessionManager.GetCount <TransitDiscussion, string, int>(
            typeof(PlacePicture).Name, PictureId, SessionManager.DiscussionService.GetOrCreateDiscussionId);
        discussionComments.DataBind();
    }
예제 #21
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TransitPlace place = SessionManager.GetInstance <TransitPlace, int>(
                RequestId, SessionManager.PlaceService.GetPlaceById);

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Add to Group", Request.Url));
            StackSiteMap(sitemapdata);

            placeName.Text = Renderer.Render(place.Name);
            placeId.Text   = "#" + place.Id.ToString();

            placeType.Text      = Renderer.Render(place.Type);
            placeImage.ImageUrl = string.Format("PlacePictureThumbnail.aspx?id={0}", place.PictureId);

            linkBack.NavigateUrl = string.Format("PlaceView.aspx?id={0}", RequestId);

            List <TransitAccountGroupAccount> accounts = SessionManager.GroupService.GetAccountGroupAccountsByAccountId(
                SessionManager.Ticket, SessionManager.AccountId, null);

            if (accounts.Count == 0)
            {
                ReportWarning("You aren't a member of any groups.");
                listGroups.Enabled = false;
                return;
            }

            accounts.Insert(0, new TransitAccountGroupAccount());
            listGroups.DataSource = accounts;
            listGroups.DataBind();
        }
    }
예제 #22
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));

            TransitPlace place = SessionManager.GetInstance <TransitPlace, int>(
                PlaceId, SessionManager.PlaceService.GetPlaceById);
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));

            linkBack.NavigateUrl = string.Format("PlaceView.aspx?id={0}", place.Id);

            DomainClass cs = SessionManager.GetDomainClass("PlaceWebsite");
            inputName.MaxLength = cs["Name"].MaxLengthInChars;
            inputUrl.MaxLength  = cs["Url"].MaxLengthInChars;

            if (RequestId > 0)
            {
                TransitPlaceWebsite tw = SessionManager.GetInstance <TransitPlaceWebsite, int>(
                    RequestId, SessionManager.PlaceService.GetPlaceWebsiteById);
                inputName.Text        = tw.Name;
                inputUrl.Text         = tw.Url;
                inputDescription.Text = tw.Description;
                sitemapdata.Add(new SiteMapDataAttributeNode(tw.Name, Request.Url));
            }
            else
            {
                sitemapdata.Add(new SiteMapDataAttributeNode("Link a Site", Request.Url));
            }

            StackSiteMap(sitemapdata);
        }

        SetDefaultButton(manageAdd);
    }
예제 #23
0
 public int CreateOrUpdatePlace(string ticket, TransitPlace place)
 {
     return WebServiceImpl<TransitPlace, ManagedPlace, Place>.CreateOrUpdate(
         ticket, place);
 }
예제 #24
0
    public void save_Click(object sender, EventArgs e)
    {
        TransitPlace t = new TransitPlace();
        t.Name = inputName.Text;
        t.Type = selectType.SelectedValue;
        t.Id = RequestId;
        t.Description = inputDescription.Text;
        t.CrossStreet = inputCrossStreet.Text;
        t.Email = inputEmail.Text;
        t.Fax = inputFax.Text;
        t.Phone = inputPhone.Text;
        t.Street = inputStreet.Text;
        t.Zip = inputZip.Text;
        t.City = inputCity.Text;
        t.Neighborhood = inputNeighborhood.Text;
        t.State = inputState.SelectedValue;
        t.Country = inputCountry.SelectedValue;

        if (string.IsNullOrEmpty(t.Name)) throw new Exception("Please enter a name.");
        if (string.IsNullOrEmpty(t.City)) throw new Exception("Please enter a city.");
        if (string.IsNullOrEmpty(t.Country)) throw new Exception("Please enter a country.");

        int place_id = SessionManager.CreateOrUpdate<TransitPlace>(
            t, SessionManager.PlaceService.CreateOrUpdatePlace);

        ppg.PlaceId = place_id;
        ppg.save_Click(sender, e);

        try
        {
            string website = inputWebsite.Text;
            if (RequestId == 0 && !string.IsNullOrEmpty(website) && website != "http://")
            {
                if (!website.StartsWith("http://"))
                    website = website.Insert(0, "http://");

                TransitPlaceWebsite t_website = new TransitPlaceWebsite();
                t_website.AccountId = SessionManager.AccountId;
                t_website.Name = t.Name;
                t_website.PlaceId = place_id;
                t_website.Url = website;
                t_website.Id = SessionManager.CreateOrUpdate<TransitPlaceWebsite>(
                    t_website, SessionManager.PlaceService.CreateOrUpdatePlaceWebsite);
            }
        }
        catch (UriFormatException)
        {

        }

        Redirect(string.Format("PlaceView.aspx?id={0}", place_id));
    }
예제 #25
0
    public void SavePlace(object sender, EventArgs e)
    {
        if (!IsEditing)
            return;

        Place = new TransitPlace();
        Place.Type = selectType.SelectedValue;
        if (string.IsNullOrEmpty(Place.Type))
        {
            throw new Exception("Please choose a type for this place.");
        }
        Place.Name = inputName.Text;
        Place.Country = inputCountry.SelectedValue;
        Place.City = inputCity.Text;
        Place.Neighborhood = inputNeighborhood.Text;
        if (string.IsNullOrEmpty(Place.Name)) throw new Exception("Please enter a place name.");
        if (string.IsNullOrEmpty(Place.Country)) throw new Exception("Please choose a country for this place.");
        if (string.IsNullOrEmpty(Place.City)) throw new Exception("Please choose a city for this place.");
        Place.State = inputState.Text;
        Place.Street = inputStreet.Text;
        Place.Zip = inputZip.Text;
        Place.CrossStreet = inputCrossStreet.Text;
        Place.Phone = inputPhone.Text;
        Place.Fax = inputFax.Text;
        Place.Email = inputEmail.Text;
        Place.Description = string.Empty;
        ArrayList a = new ArrayList();
        a.Add(Place);
        chosenPlace.DataSource = a;
        chosenPlace.DataBind();
        panelAdd.Visible = false;
        lookupPlace.Enabled = true;
        addPlace.Enabled = true;
        IsChosen = true;
        IsEditing = false;
        if (Choose != null) Choose(sender, e);
        panelSelectPlace.Update();
    }
예제 #26
0
    public LocationEventArgs(TransitPlace place)
        : this(place.Country, place.State, place.City, place.Neighborhood)
    {

    }
예제 #27
0
    public void Page_Load(object sender, EventArgs e)
    {
        gridPlaceNamesManage.OnGetDataSource += new EventHandler(gridPlaceNamesManage_OnGetDataSource);
        LocationSelector.LocationChanged     += new EventHandler(LocationSelector_LocationChanged);

        if (!IsPostBack)
        {
            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));

            DomainClass cs = SessionManager.GetDomainClass("Place");
            inputName.MaxLength        = cs["Name"].MaxLengthInChars;
            inputStreet.MaxLength      = cs["Street"].MaxLengthInChars;
            inputZip.MaxLength         = cs["Zip"].MaxLengthInChars;
            inputCrossStreet.MaxLength = cs["CrossStreet"].MaxLengthInChars;
            inputPhone.MaxLength       = cs["Phone"].MaxLengthInChars;
            inputFax.MaxLength         = cs["Fax"].MaxLengthInChars;
            inputEmail.MaxLength       = cs["Email"].MaxLengthInChars;

            DomainClass acs = SessionManager.GetDomainClass("PlaceName");
            inputAltName.MaxLength = acs["Name"].MaxLengthInChars;

            gridPlaceNamesManage_OnGetDataSource(sender, e);
            gridPlaceNamesManage.DataBind();

            ppg.PlaceId = RequestId;
            ppg.DataBind();

            GetPlaceTypes(sender, e);

            if (RequestId > 0)
            {
                TransitPlace place = SessionManager.PlaceService.GetPlaceById(SessionManager.Ticket, RequestId);
                labelName.Text        = Renderer.Render(place.Name);
                inputName.Text        = place.Name;
                inputDescription.Text = place.Description;
                inputCrossStreet.Text = place.CrossStreet;
                inputEmail.Text       = place.Email;
                inputFax.Text         = place.Fax;
                inputPhone.Text       = place.Phone;
                inputStreet.Text      = place.Street;
                inputZip.Text         = place.Zip;
                ListItemManager.TrySelect(selectType, place.Type);
                LocationSelector.SelectLocation(sender, new LocationEventArgs(place));
                linkEditAttributes.NavigateUrl = string.Format("PlaceAttributesManage.aspx?id={0}", place.Id);
                linkEditPictures.NavigateUrl   = string.Format("PlacePicturesManage.aspx?id={0}", place.Id);
                sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request.Url));
                placeredirect.TargetUri = string.Format("PlaceView.aspx?id={0}", place.Id);
                panelWebsite.Visible    = false;
                websitesView.PlaceId    = RequestId;
            }
            else
            {
                panelPlaceAltName.Visible = false;
                LocationSelector.ChangeCountry(sender, e);

                string type = Request.QueryString["type"];
                ListItemManager.TrySelect(selectType, type);

                string name = Request.QueryString["name"];
                if (!string.IsNullOrEmpty(name))
                {
                    inputName.Text = name;
                }

                if (!LocationSelector.SelectLocation(sender, new LocationEventArgs(Request)))
                {
                    LocationSelector.ChangeCityWithAccountDefault(sender, new CityLocationEventArgs(
                                                                      Request.QueryString["city"]));
                }

                linkDelete.Visible         = false;
                linkEditAttributes.Visible = false;
                linkEditPictures.Visible   = false;
                sitemapdata.Add(new SiteMapDataAttributeNode("New Place", Request.Url));

                placeredirect.Visible = false;
                websitesView.Visible  = false;
            }

            LocationSelector_LocationChanged(sender, e);
            StackSiteMap(sitemapdata);
        }

        if (!SessionManager.HasVerified())
        {
            ReportWarning("You don't have any verified e-mail addresses and/or profile photos.\n" +
                          "You must add/confirm a valid e-mail address and upload a profile photo before editing places.");

            manageAdd.Enabled = false;
        }

        SetDefaultButton(manageAdd);
    }
예제 #28
0
    public void save_Click(object sender, EventArgs e)
    {
        TransitPlace t = new TransitPlace();

        t.Name         = inputName.Text;
        t.Type         = selectType.SelectedValue;
        t.Id           = RequestId;
        t.Description  = inputDescription.Text;
        t.CrossStreet  = inputCrossStreet.Text;
        t.Email        = inputEmail.Text;
        t.Fax          = inputFax.Text;
        t.Phone        = inputPhone.Text;
        t.Street       = inputStreet.Text;
        t.Zip          = inputZip.Text;
        t.City         = inputCity.Text;
        t.Neighborhood = inputNeighborhood.Text;
        t.State        = inputState.SelectedValue;
        t.Country      = inputCountry.SelectedValue;

        if (string.IsNullOrEmpty(t.Name))
        {
            throw new Exception("Please enter a name.");
        }
        if (string.IsNullOrEmpty(t.City))
        {
            throw new Exception("Please enter a city.");
        }
        if (string.IsNullOrEmpty(t.Country))
        {
            throw new Exception("Please enter a country.");
        }

        int place_id = SessionManager.CreateOrUpdate <TransitPlace>(
            t, SessionManager.PlaceService.CreateOrUpdatePlace);

        ppg.PlaceId = place_id;
        ppg.save_Click(sender, e);

        try
        {
            string website = inputWebsite.Text;
            if (RequestId == 0 && !string.IsNullOrEmpty(website) && website != "http://")
            {
                if (!website.StartsWith("http://"))
                {
                    website = website.Insert(0, "http://");
                }

                TransitPlaceWebsite t_website = new TransitPlaceWebsite();
                t_website.AccountId = SessionManager.AccountId;
                t_website.Name      = t.Name;
                t_website.PlaceId   = place_id;
                t_website.Url       = website;
                t_website.Id        = SessionManager.CreateOrUpdate <TransitPlaceWebsite>(
                    t_website, SessionManager.PlaceService.CreateOrUpdatePlaceWebsite);
            }
        }
        catch (UriFormatException)
        {
        }

        Redirect(string.Format("PlaceView.aspx?id={0}", place_id));
    }
예제 #29
0
    public string Handle(string tag, string tagname, string tagvalue)
    {
        switch (tagname)
        {
        case "user":
        case "account":
            return(Handle <TransitAccount>(tagname, tagvalue, AccountService.GetAccountById,
                                           delegate(TransitAccount t_account)
            {
                return string.Format("<a href=\"{0}/AccountView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_account.Id, Renderer.Render(t_account.Name));
            }));

        case "place":
            return(Handle <TransitPlace>(tagname, tagvalue, PlaceService.GetPlaceById,
                                         delegate(TransitPlace t_place)
            {
                return string.Format("<a href=\"{0}/PlaceView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_place.Id, Renderer.Render(t_place.Name));
            }));

        case "group":
            return(Handle <TransitAccountGroup>(tagname, tagvalue, GroupService.GetAccountGroupById,
                                                delegate(TransitAccountGroup t_group)
            {
                return string.Format("<a href=\"{0}/AccountGroupView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_group.Id, Renderer.Render(t_group.Name));
            }));

        case "blog":
            return(Handle <TransitAccountBlog>(tagname, tagvalue, BlogService.GetAccountBlogById,
                                               delegate(TransitAccountBlog t_blog)
            {
                return string.Format("<a href=\"{0}/AccountBlogView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_blog.Id, Renderer.Render(t_blog.Name));
            }));

        case "event":
            return(Handle <TransitAccountEvent, long>(tagname, tagvalue, 0, EventService.GetAccountEventById,
                                                      delegate(TransitAccountEvent t_event)
            {
                return string.Format("<a href=\"{0}/AccountEventView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_event.Id, Renderer.Render(t_event.Name));
            }));

        case "feed":
            return(Handle <TransitAccountFeed>(tagname, tagvalue, SyndicationService.GetAccountFeedById,
                                               delegate(TransitAccountFeed t_feed)
            {
                return string.Format("<a href=\"{0}/AccountFeedView.aspx?id={1}\">{2}</a>",
                                     WebsiteUrl, t_feed.Id, Renderer.Render(t_feed.Name));
            }));

        case "discussion":
            return(Handle <TransitDiscussion>(tagname, tagvalue, DiscussionService.GetDiscussionById,
                                              delegate(TransitDiscussion t_discussion)
            {
                string name = string.IsNullOrEmpty(t_discussion.ParentObjectName) ? t_discussion.Name : t_discussion.ParentObjectName;
                string uri = string.IsNullOrEmpty(t_discussion.ParentObjectUri)
                            ? string.Format("DiscussionView.aspx?id={0}", t_discussion.Id)
                            : t_discussion.ParentObjectUri;
                return string.Format("<a href=\"{0}/{1}\">{2}</a>",
                                     WebsiteUrl, uri, Renderer.Render(name));
            }));

        default:
            TransitPlace p = GetInstance <TransitPlace, string, string>(
                tagname, tagvalue, PlaceService.FindPlace);
            if (p == null)
            {
                // resole tag to a city name

                TransitCity t_city = GetInstance <TransitCity, string>(
                    tagname, LocationService.GetCityByTag);

                if (t_city != null)
                {
                    return(string.Format("<a href=\"{5}/PlaceView.aspx?city={0}&state={1}&country={2}&name={3}\">{4}</a>",
                                         Renderer.UrlEncode(t_city.Name), Renderer.UrlEncode(t_city.State), Renderer.UrlEncode(t_city.Country),
                                         Renderer.UrlEncode(tagvalue), Renderer.Render(tagvalue), WebsiteUrl));
                }
                else
                {
                    return(string.Format("<a href=\"{3}/PlaceView.aspx?city={0}&name={1}\">{2}</a>",
                                         Renderer.UrlEncode(tagname), Renderer.UrlEncode(tagvalue), Renderer.Render(tagvalue), WebsiteUrl));
                }
            }
            else
            {
                return(string.Format("<a href=\"{2}/PlaceView.aspx?id={0}\">{1}</a>",
                                     p.Id, Renderer.Render(p.Name), WebsiteUrl));
            }
        }
    }
예제 #30
0
 public LocationEventArgs(TransitPlace place)
     : this(place.Country, place.State, place.City, place.Neighborhood)
 {
 }
예제 #31
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (RequestId <= 0 && GetId("pid") == 0)
        {
            throw new Exception("Missing Place");
        }

        LocationSelector.LocationChanged += new EventHandler(LocationSelector_LocationChanged);

        if (!IsPostBack)
        {
            DomainClass cs = SessionManager.GetDomainClass("PlaceChangeRequest");
            inputName.MaxLength        = cs["Name"].MaxLengthInChars;
            inputStreet.MaxLength      = cs["Street"].MaxLengthInChars;
            inputZip.MaxLength         = cs["Zip"].MaxLengthInChars;
            inputCrossStreet.MaxLength = cs["CrossStreet"].MaxLengthInChars;
            inputPhone.MaxLength       = cs["Phone"].MaxLengthInChars;
            inputFax.MaxLength         = cs["Fax"].MaxLengthInChars;
            inputEmail.MaxLength       = cs["Email"].MaxLengthInChars;

            ArrayList types = new ArrayList();
            types.Add(new TransitAccountPlaceType());
            types.AddRange(SessionManager.PlaceService.GetPlaceTypes(SessionManager.Ticket, null));
            selectType.DataSource = types;
            selectType.DataBind();

            TransitPlace place = null;

            if (RequestId > 0)
            {
                TransitPlaceChangeRequest request = SessionManager.PlaceService.GetPlaceChangeRequestById(
                    SessionManager.Ticket, RequestId);
                labelName.Text        = Renderer.Render(request.Name);
                inputName.Text        = request.Name;
                inputDescription.Text = request.Description;
                inputCrossStreet.Text = request.CrossStreet;
                inputEmail.Text       = request.Email;
                inputFax.Text         = request.Fax;
                inputPhone.Text       = request.Phone;
                inputStreet.Text      = request.Street;
                inputZip.Text         = request.Zip;
                ListItemManager.TrySelect(selectType, request.Type);
                LocationSelector.SelectLocation(sender, new LocationEventArgs(request));

                place = SessionManager.PlaceService.GetPlaceById(
                    SessionManager.Ticket, request.PlaceId);
            }
            else
            {
                place = SessionManager.PlaceService.GetPlaceById(
                    SessionManager.Ticket, PlaceId);
                labelName.Text        = Renderer.Render(place.Name);
                inputName.Text        = place.Name;
                inputDescription.Text = place.Description;
                inputCrossStreet.Text = place.CrossStreet;
                inputEmail.Text       = place.Email;
                inputFax.Text         = place.Fax;
                inputPhone.Text       = place.Phone;
                inputStreet.Text      = place.Street;
                inputZip.Text         = place.Zip;
                ListItemManager.TrySelect(selectType, place.Type);
                LocationSelector.SelectLocation(sender, new LocationEventArgs(place));
            }

            SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
            sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
            sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "PlacesView.aspx", place.Country, place.State, place.City, place.Neighborhood, place.Type));
            sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request, string.Format("PlaceView.aspx?id={0}", place.Id)));
            sitemapdata.Add(new SiteMapDataAttributeNode("Request Changes", Request.Url));
            StackSiteMap(sitemapdata);

            linkBack.NavigateUrl = (RequestId > 0 ?
                                    string.Format("AccountPlaceChangeRequestsManage.aspx?id={0}", RequestId)
                : string.Format("PlaceView.aspx?id={0}", place.Id));
        }

        if (!SessionManager.HasVerified())
        {
            ReportWarning("You don't have any verified e-mail addresses and/or profile photos.\n" +
                          "You must add/confirm a valid e-mail address and upload a profile photo before editing places.");

            save.Enabled = false;
        }

        LocationSelector_LocationChanged(sender, e);
        SetDefaultButton(save);
    }
예제 #32
0
 public void MergePlaces(string ticket, int id, TransitPlace target)
 {
     using (SnCore.Data.Hibernate.Session.OpenConnection())
     {
         ISession session = SnCore.Data.Hibernate.Session.Current;
         ITransaction t = session.BeginTransaction();
         try
         {
             ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket);
             // update all contents of the target
             ManagedPlace m_target = new ManagedPlace(session);
             m_target.CreateOrUpdate(target, sec);
             // merge child items
             m_target.Merge(sec, id);
             SnCore.Data.Hibernate.Session.Flush();
             t.Commit();
         }
         catch
         {
             t.Rollback();
             throw;
         }
     }
 }
예제 #33
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (RequestId > 0)
            {
                TransitAccountEvent t = AccountEvent;

                if (t == null)
                {
                    ReportWarning("Event does not exist.");
                    pnlAccountEvent.Visible = false;
                    return;
                }

                SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
                sitemapdata.Add(new SiteMapDataAttributeNode("Events", Request, "AccountEventsView.aspx"));
                sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "AccountEventsToday.aspx", t.PlaceCountry, t.PlaceState, t.PlaceCity, t.PlaceNeighborhood, t.AccountEventType));
                sitemapdata.Add(new SiteMapDataAttributeNode(t.Name, Request.Url));
                StackSiteMap(sitemapdata);

                picturesView.AccountEventId = RequestId;

                this.Title = Renderer.Render(t.Name);

                labelDescription.Text    = base.RenderEx(t.Description);
                panelDescription.Visible = !string.IsNullOrEmpty(labelDescription.Text);
                eventName.Text           = Renderer.Render(t.Name);
                eventId.Text             = "#" + t.Id.ToString();

                linkEdit.NavigateUrl = string.Format("AccountEventEdit.aspx?id={0}", t.Id);

                eventWebsite.NavigateUrl = t.Website;
                if (!string.IsNullOrEmpty(t.Website))
                {
                    eventWebsite.NavigateUrl = t.Website;
                    if (t.Website.Length < 64)
                    {
                        eventWebsite.Text = Renderer.Render(t.Website);
                    }
                }

                eventWebsite.Visible   = !string.IsNullOrEmpty(t.Website);
                eventPhone.Text        = Renderer.Render(t.Phone);
                eventType.Text         = Renderer.Render(t.AccountEventType);
                eventEmail.NavigateUrl = string.Format("mailto:{0}", Renderer.Render(t.Email));
                eventEmail.Visible     = !string.IsNullOrEmpty(t.Email);
                eventCost.Text         = Renderer.Render(t.Cost);

                discussionAccountEvents.DiscussionId = SessionManager.GetCount <TransitDiscussion, string, int>(
                    typeof(AccountEvent).Name, RequestId, SessionManager.DiscussionService.GetOrCreateDiscussionId);
                discussionAccountEvents.DataBind();

                if (SessionManager.IsAdministrator)
                {
                    linkFeature.Text = (LatestAccountEventFeature != null)
                        ? string.Format("Feature &#187; Last on {0}", Adjust(LatestAccountEventFeature.Created).ToString("d"))
                        : "Feature &#187; Never Featured";
                }

                panelOwner.Visible = SessionManager.IsLoggedIn &&
                                     (SessionManager.IsAdministrator || t.AccountId == SessionManager.Account.Id);

                TransitPlace pl = AccountEventPlace;
                placeImage.Src         = string.Format("PlacePictureThumbnail.aspx?id={0}", pl.PictureId);
                placeLink2.HRef        = placeLink.HRef = string.Format("PlaceView.aspx?id={0}", pl.Id);
                placeNeighborhood.Text = Renderer.Render(pl.Neighborhood);
                placeName.Text         = Renderer.Render(pl.Name);
                placeCity.Text         = Renderer.Render(pl.City);
                placeState.Text        = Renderer.Render(pl.State);
                placeCountry.Text      = Renderer.Render(pl.Country);

                labelSchedule.Text = Renderer.Render(t.Schedule);
            }
        }
    }
예제 #34
0
    public void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (RequestId > 0)
            {
                TransitPlace   place   = Place;
                TransitAccount account = PlaceAccount;

                if (place == null)
                {
                    ReportWarning("Place does not exist.");
                    panelPlace.Visible = false;
                    return;
                }

                SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute();
                sitemapdata.Add(new SiteMapDataAttributeNode("Places", Request, "PlacesView.aspx"));
                sitemapdata.AddRange(SiteMapDataAttribute.GetLocationAttributeNodes(Request, "PlacesView.aspx", place.Country, place.State, place.City, place.Neighborhood, place.Type));
                sitemapdata.Add(new SiteMapDataAttributeNode(place.Name, Request.Url));
                StackSiteMap(sitemapdata);

                groups.PlaceId = RequestId;

                Title = Renderer.Render(string.Format("{0}, {1}", place.Name, place.City));

                MetaDescription.Content = string.Format("Get photos, information and reviews on {0} and other places in {1} on {2}.",
                                                        Renderer.Render(place.Name),
                                                        Renderer.Render(place.City),
                                                        Renderer.Render(SessionManager.GetCachedConfiguration("SnCore.Title", "SnCore")));

                placeType.NavigateUrl =
                    string.Format("PlacesView.aspx?city={0}&state={1}&country={2}&neighborhood={3}&type={4}",
                                  Renderer.UrlEncode(place.City),
                                  Renderer.UrlEncode(place.State),
                                  Renderer.UrlEncode(place.Country),
                                  Renderer.UrlEncode(place.Neighborhood),
                                  Renderer.UrlEncode(place.Type));

                placeNeighborhood.NavigateUrl =
                    string.Format("PlacesView.aspx?city={0}&state={1}&country={2}&neighborhood={3}",
                                  Renderer.UrlEncode(place.City),
                                  Renderer.UrlEncode(place.State),
                                  Renderer.UrlEncode(place.Country),
                                  Renderer.UrlEncode(place.Neighborhood));

                placeCity.NavigateUrl =
                    string.Format("PlacesView.aspx?city={0}&state={1}&country={2}",
                                  Renderer.UrlEncode(place.City),
                                  Renderer.UrlEncode(place.State),
                                  Renderer.UrlEncode(place.Country));

                placeState.NavigateUrl =
                    string.Format("PlacesView.aspx?state={0}&country={1}",
                                  Renderer.UrlEncode(place.State),
                                  Renderer.UrlEncode(place.Country));

                placeCountry.NavigateUrl =
                    string.Format("PlacesView.aspx?country={0}",
                                  Renderer.UrlEncode(place.Country));

                linkDirections.HRef = DrivingDirectionsUrl;
                linkAdd.NavigateUrl =
                    string.Format("PlaceEdit.aspx?city={0}&state={1}&country={2}&neighborhood={3}&type={4}",
                                  Renderer.UrlEncode(place.City),
                                  Renderer.UrlEncode(place.State),
                                  Renderer.UrlEncode(place.Country),
                                  Renderer.UrlEncode(place.Neighborhood),
                                  Renderer.UrlEncode(place.Type));

                placeAccounts.PlaceId      = RequestId;
                placeAccountEvents.PlaceId = RequestId;
                placeFriends.PlaceId       = RequestId;
                attributesView.PlaceId     = RequestId;
                picturesView.PlaceId       = RequestId;

                labelDescription.Text    = base.RenderEx(place.Description);
                panelDescription.Visible = !string.IsNullOrEmpty(labelDescription.Text);
                placeName.Text           = Renderer.Render(place.Name);
                placeId.Text             = string.Format("#{0}", place.Id);

                linkManagePictures.NavigateUrl = string.Format("PlacePicturesManage.aspx?id={0}", place.Id);

                linkClaimOwnership.Visible     = !place.CanWrite;
                linkClaimOwnership.NavigateUrl = string.Format("AccountPlaceRequestEdit.aspx?pid={0}", place.Id);

                linkPlaceChangeRequestEdit.Visible     = !place.CanWrite;
                linkPlaceChangeRequestEdit.NavigateUrl = string.Format("PlaceChangeRequestEdit.aspx?pid={0}", place.Id);

                if (account != null)
                {
                    linkAddedBy.Text        = Renderer.Render(account.Name);
                    linkAddedBy.NavigateUrl = string.Format("AccountView.aspx?id={0}", account.Id);
                }
                else
                {
                    linkAddedBy.Text = "a deleted user";
                }

                labelAddedOn.Text = Adjust(place.Created).ToString("d");

                linkAdminManageChanges.Visible     = linkAdminEdit.Visible = place.CanWrite || SessionManager.IsAdministrator;
                linkAdminEdit.NavigateUrl          = string.Format("PlaceEdit.aspx?id={0}", place.Id);
                linkAdminManageChanges.NavigateUrl = string.Format("PlaceChangeRequestsManage.aspx?id={0}", place.Id);
                linkAdminAttributes.NavigateUrl    = string.Format("PlaceAttributesManage.aspx?id={0}", place.Id);
                linkMerge.NavigateUrl = string.Format("PlaceMerge.aspx?id={0}", place.Id);
                placeAddress.Text     = Renderer.Render(place.Street);
                placeZip.Text         = Renderer.Render(place.Zip);
                if (!string.IsNullOrEmpty(place.Fax))
                {
                    placeFax.Text = string.Format("{0} (fax)", Renderer.Render(place.Fax));
                }
                if (!string.IsNullOrEmpty(place.Phone))
                {
                    placePhone.Text = string.Format("{0} (phone)", Renderer.Render(place.Phone));
                }
                if (!string.IsNullOrEmpty(place.CrossStreet))
                {
                    placeCrossStreet.Text = string.Format("cross-street: {0}", Renderer.Render(place.CrossStreet));
                }

                placeType.Text         = Renderer.Render(place.Type);
                placeEmail.NavigateUrl = string.Format("mailto:{0}", Renderer.Render(place.Email));
                placeEmail.Visible     = !string.IsNullOrEmpty(place.Email);

                discussionPlaces.DiscussionId = SessionManager.GetCount <TransitDiscussion, string, int>(
                    typeof(Place).Name, RequestId, SessionManager.DiscussionService.GetOrCreateDiscussionId);
                discussionPlaces.DataBind();

                websitesView.PlaceId = RequestId;

                madlibs.ObjectId        = RequestId;
                madlibs.Table           = "Place";
                madlibs.MadLibId        = int.Parse(SessionManager.GetCachedConfiguration("SnCore.MadLibs.Place.Id", "0"));
                madlibs.ReturnUrl       = Request.Url.PathAndQuery;
                madlibs.ObjectAccountId = place.AccountId;
                madlibs.QueryString     = string.Format("&Place.Name={0}", Renderer.UrlEncode(place.Name));

                if (SessionManager.IsAdministrator)
                {
                    linkFeature.Text = (LatestPlaceFeature != null)
                        ? string.Format("Feature &#187; Last on {0}", Adjust(LatestPlaceFeature.Created).ToString("d"))
                        : "Feature &#187; Never Featured";
                }

                redirect.TargetUri = string.Format("PlaceView.aspx?id={0}", place.Id);
                redirect.AccountId = place.AccountId;

                linkAddToGroup.NavigateUrl = string.Format("AccountGroupPlaceAdd.aspx?id={0}", RequestId);
            }
            else
            {
                placeName.Text = Renderer.Render(Request.QueryString["name"]);
                TransitCity city = SessionManager.LocationService.GetCityByTag(
                    SessionManager.Ticket, Request.QueryString["city"]);
                if (city != null)
                {
                    placeCity.Text    = Renderer.Render(city.Name);
                    placeState.Text   = Renderer.Render(city.State);
                    placeCountry.Text = Renderer.Render(city.Country);
                }

                panelViews.Visible          = false;
                panelDetails.Visible        = false;
                panelSubmit.Visible         = true;
                panelDescription.Visible    = false;
                panelPropertyGroups.Visible = false;
                panelEvents.Visible         = false;
                discussionPlaces.Visible    = false;
                madlibs.Visible             = false;
                panelInfo.Visible           = false;
                panelCounter.Visible        = false;
                websitesView.Visible        = false;
                linkEdit.NavigateUrl        = string.Format("PlaceEdit.aspx?{0}", Request.QueryString.ToString());
            }
        }
    }