Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            dataObjectEvent = DataObject.Load <DataObjectEvent>(ObjectID, null, true);

            if (dataObjectEvent.State == ObjectState.Added)
            {
                dataObjectEvent.ObjectID    = ObjectID;
                dataObjectEvent.Title       = GuiLanguage.GetGuiLanguage("Shared").GetString("LabelUnnamed");
                dataObjectEvent.CommunityID = CommunityID;
                dataObjectEvent.ShowState   = ObjectShowState.Draft;
                dataObjectEvent.Insert(UserDataContext.GetUserDataContext());
                dataObjectEvent.Title = string.Empty;
            }

            if (!string.IsNullOrEmpty(Request.QueryString["TG"]))
            {
                dataObjectEvent.TagList = Server.UrlDecode(Request.QueryString["TG"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["OS"]))
            {
                dataObjectEvent.Status = (ObjectStatus)int.Parse(Request.QueryString["OS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["SS"]))
            {
                dataObjectEvent.ShowState = (ObjectShowState)int.Parse(Request.QueryString["SS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CR"]))
            {
                dataObjectEvent.Copyright = int.Parse(Request.QueryString["CR"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["GC"]))
            {
                string[] geoLatLong = Request.QueryString["GC"].Split(',');
                double   geoLat, geoLong = double.MinValue;
                if (geoLatLong.Length == 2)
                {
                    if (double.TryParse(geoLatLong[0], out geoLat) && double.TryParse(geoLatLong[1], out geoLong))
                    {
                        dataObjectEvent.Geo_Lat  = geoLat;
                        dataObjectEvent.Geo_Long = geoLong;
                    }
                }
            }
            if (!string.IsNullOrEmpty(Request.QueryString["ZP"]))
            {
                dataObjectEvent.Zip = Server.UrlDecode(Request.QueryString["ZP"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CI"]))
            {
                dataObjectEvent.City = Server.UrlDecode(Request.QueryString["CI"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["RE"]))
            {
                dataObjectEvent.Street = Server.UrlDecode(Request.QueryString["RE"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CO"]))
            {
                dataObjectEvent.CountryCode = Server.UrlDecode(Request.QueryString["CO"]);
            }

            FillEditForm();
        }
Пример #2
0
        private bool Save()
        {
            try
            {
                List <string> tags = new List <string>();
                foreach (ListItem item in CblType.Items)
                {
                    if (item.Selected)
                    {
                        tags.Add(item.Value);
                    }
                }
                DateTime?startDate = null;
                DateTime?endDate   = null;
                try { startDate = DateTime.Parse(TxtStartDate.Text); }
                catch { }
                try { endDate = DateTime.Parse(TxtEndDate.Text); }
                catch { }

                if (string.IsNullOrEmpty(TxtTitle.Text.StripHTMLTags()))
                {
                    pnlStatus.Visible = true;
                    litStatus.Text    = language.GetString("MessageTitleRequired");
                }
                else if (tags.Count == 0)
                {
                    pnlStatus.Visible = true;
                    litStatus.Text    = language.GetString("MessageLocationTypeRequired");
                }
                else if (!startDate.HasValue)
                {
                    pnlStatus.Visible = true;
                    litStatus.Text    = language.GetString("MessageEventDateRequired");
                }
                else if (endDate.HasValue && startDate.Value > endDate.Value)
                {
                    pnlStatus.Visible = true;
                    litStatus.Text    = language.GetString("MessageStartDateAfterEndDate");
                }
                else
                {
                    dataObjectEvent.Title       = Common.Extensions.StripHTMLTags(this.TxtTitle.Text);
                    dataObjectEvent.Description = Common.Extensions.StripHTMLTags(this.TxtDesc.Text).CropString(20000);
                    dataObjectEvent.Content     =
                        TxtText.Text.StripHTMLTags().Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "<br/>");
                    dataObjectEvent.Copyright = 0;
                    dataObjectEvent.StartDate = startDate.Value;
                    dataObjectEvent.EndDate   = endDate.HasValue ? endDate.Value : startDate.Value;
                    if (dataObjectEvent.StartDate == dataObjectEvent.EndDate)
                    {
                        dataObjectEvent.Featured = 1;
                    }
                    else
                    {
                        dataObjectEvent.Featured = 2;
                    }
                    dataObjectEvent.Time     = Common.Extensions.StripHTMLTags(this.TxtTime.Text);
                    dataObjectEvent.Price    = Common.Extensions.StripHTMLTags(this.TxtPrice.Text);
                    dataObjectEvent.Age      = Common.Extensions.StripHTMLTags(this.TxtAge.Text);
                    dataObjectEvent.TagList  = string.Join(",", tags.ToArray());
                    dataObjectEvent.Geo_Lat  = double.MinValue;
                    dataObjectEvent.Geo_Long = double.MinValue;

                    if (objectExisting)
                    {
                        dataObjectEvent.Update(UserDataContext.GetUserDataContext());
                    }
                    else
                    {
                        dataObjectEvent.Insert(UserDataContext.GetUserDataContext());
                    }

                    if (DdlLocations.SelectedValue.IsGuid())
                    {
                        DataObjectLocation location =
                            DataObject.Load <DataObjectLocation>(DdlLocations.SelectedValue.ToGuid());
                        if (location.Geo_Lat != Double.MinValue && location.Geo_Long != Double.MinValue)
                        {
                            dataObjectEvent.Geo_Lat  = location.Geo_Lat;
                            dataObjectEvent.Geo_Long = location.Geo_Long;
                        }
                        DataObject.RelDelete(new RelationParams()
                        {
                            Udc = UserDataContext.GetUserDataContext(),
                            ParentObjectType = location.ObjectType,
                            ChildObjectID    = dataObjectEvent.ObjectID,
                            ChildObjectType  = dataObjectEvent.ObjectType
                        });
                        DataObject.RelInsert(new RelationParams()
                        {
                            Udc              = UserDataContext.GetUserDataContext(),
                            ParentObjectID   = location.ObjectID,
                            ParentObjectType = location.ObjectType,
                            ChildObjectID    = dataObjectEvent.ObjectID,
                            ChildObjectType  = dataObjectEvent.ObjectType
                        }, 0);
                    }
                    dataObjectEvent.Update(UserDataContext.GetUserDataContext());

                    return(true);
                }
            }
            catch (Exception e)
            {
                pnlStatus.Visible = true;
                litStatus.Text    = "Event konnte nicht gespeichert werden: " + e.Message;
            }
            return(false);
        }