Aurora.Services.WebAPIHandler.CreateEvent C# (CSharp) Method

CreateEvent() private method

private CreateEvent ( OSDMap map ) : OSDMap
map OSDMap
return OSDMap
        private OSDMap CreateEvent(OSDMap map)
        {
            OSDMap resp = new OSDMap(1);

            IDirectoryServiceConnector directory = Aurora.DataManager.DataManager.RequestPlugin<IDirectoryServiceConnector>();
            if (directory != null && (
                map.ContainsKey("Creator") &&
                map.ContainsKey("Region") &&
                map.ContainsKey("Date") &&
                map.ContainsKey("Cover") &&
                map.ContainsKey("Maturity") &&
                map.ContainsKey("EventFlags") &&
                map.ContainsKey("Duration") &&
                map.ContainsKey("Position") &&
                map.ContainsKey("Name") &&
                map.ContainsKey("Description") &&
                map.ContainsKey("Category")
            )){
                EventData eventData = directory.CreateEvent(
                    map["Creator"].AsUUID(),
                    map["Region"].AsUUID(),
                    map.ContainsKey("Parcel") ? map["Parcel"].AsUUID() : UUID.Zero,
                    map["Date"].AsDate(),
                    map["Cover"].AsUInteger(),
                    (EventFlags)map["Maturity"].AsUInteger(),
                    map["EventFlags"].AsUInteger() | map["Maturity"].AsUInteger(),
                    map["Duration"].AsUInteger(),
                    Vector3.Parse(map["Position"].AsString()),
                    map["Name"].AsString(),
                    map["Description"].AsString(),
                    map["Category"].AsString()
                );

                if (eventData != null)
                {
                    resp["Event"] = eventData.ToOSD();
                }
            }

            return resp;
        }