示例#1
0
        public static Event Map(ulong eventId, EventSaveModel @event)
        {
            var e = new Event(eventId, @event.ClubId, @event.Location, @event.StartTime, @event.TestCount,
                              @event.MaxAttemptsPerTest, @event.Regulations, @event.EventType, @event.Maps, TimingSystem.StopWatch);

            return(e);
        }
示例#2
0
        public IHttpActionResult Post(EventSaveModel model)
        {
            var town            = this.data.Towns.All().Where(t => t.Name == model.Town).FirstOrDefault();
            var category        = this.data.Categories.All().Where(c => c.Name == model.Category).FirstOrDefault();
            var currentUserName = this.User.Identity.Name;
            var currentUser     = this.data.Users.All().Where(u => u.UserName == currentUserName).FirstOrDefault();

            var eventToAdd = this.mapservices.Map <Event>(model);

            eventToAdd.CategoryId = category.Id;
            eventToAdd.TownId     = town.Id;

            if (model.Tags != null)
            {
                var tagsFromDb = this.data.Tags.All().ToList();
                var tagsToAdd  = new List <Tag>();

                foreach (var tag in model.Tags)
                {
                    var tagFromDb = tagsFromDb.FirstOrDefault(t => t.Name == tag);

                    if (tagFromDb == null)
                    {
                        tagsToAdd.Add(new Tag {
                            Name = tag
                        });
                    }
                    else
                    {
                        tagsToAdd.Add(tagFromDb);
                    }
                }

                eventToAdd.Tags = tagsToAdd;
            }

            this.data.Events.Add(eventToAdd);
            this.data.Savechanges();

            PubNubNotificationProvider.Notify(eventToAdd.Name);

            return(this.Created("api/events", new
            {
                EventId = eventToAdd.Id
            }));
        }
示例#3
0
        public IHttpActionResult Put(int id, EventSaveModel model)
        {
            var eventToUpdate = this.data.Events.All().Where(ev => ev.Id == id).FirstOrDefault();

            if (eventToUpdate == null)
            {
                return(this.BadRequest("The event was not found."));
            }

            var town     = this.data.Towns.All().Where(t => t.Name == model.Town).FirstOrDefault();
            var category = this.data.Categories.All().Where(x => x.Name == model.Category).FirstOrDefault();

            eventToUpdate.Name       = model.Name ?? eventToUpdate.Name;
            eventToUpdate.IsPrivate  = model.IsPrivate;
            eventToUpdate.StartDate  = model.StartDate;
            eventToUpdate.EndDate    = model.EndDate;
            eventToUpdate.TownId     = town.Id;
            eventToUpdate.CategoryId = category.Id;

            this.data.Events.Update(eventToUpdate);
            this.data.Savechanges();

            return(this.Ok(eventToUpdate.Id));
        }
示例#4
0
 public Task <ulong> Save(ulong eventId, EventSaveModel @event, CancellationToken cancellationToken) =>
 this.mediator.Send(new SaveEvent(MapClub.Map(eventId, @event)), cancellationToken);
        public IHttpActionResult Put(int id, EventSaveModel model)
		{
			var eventToUpdate = this.data.Events.All().Where(ev => ev.Id == id).FirstOrDefault();

			if (eventToUpdate == null)
			{
				return this.BadRequest("The event was not found.");
			}

			var town = this.data.Towns.All().Where(t => t.Name == model.Town).FirstOrDefault();
			var category = this.data.Categories.All().Where(x => x.Name == model.Category).FirstOrDefault();

			eventToUpdate.Name = model.Name ?? eventToUpdate.Name;
			eventToUpdate.IsPrivate = model.IsPrivate;
			eventToUpdate.StartDate = model.StartDate;
			eventToUpdate.EndDate = model.EndDate;
			eventToUpdate.TownId = town.Id;
			eventToUpdate.CategoryId = category.Id;

			this.data.Events.Update(eventToUpdate);
			this.data.Savechanges();

			return this.Ok(eventToUpdate.Id);
		}
        public IHttpActionResult Post(EventSaveModel model)
		{
			var town = this.data.Towns.All().Where(t => t.Name == model.Town).FirstOrDefault();
			var category = this.data.Categories.All().Where(c => c.Name == model.Category).FirstOrDefault();
			var currentUserName = this.User.Identity.Name;
			var currentUser = this.data.Users.All().Where(u => u.UserName == currentUserName).FirstOrDefault();

			var eventToAdd = this.mapservices.Map<Event>(model);
			eventToAdd.CategoryId = category.Id;
			eventToAdd.TownId = town.Id;

			if (model.Tags != null)
			{
				var tagsFromDb = this.data.Tags.All().ToList();
				var tagsToAdd = new List<Tag>();

				foreach (var tag in model.Tags)
				{
					var tagFromDb = tagsFromDb.FirstOrDefault(t => t.Name == tag);

					if (tagFromDb == null)
					{
						tagsToAdd.Add(new Tag { Name = tag });
					}
					else
					{
						tagsToAdd.Add(tagFromDb);
					}
				}

				eventToAdd.Tags = tagsToAdd;
			}

			this.data.Events.Add(eventToAdd);
			this.data.Savechanges();

			PubNubNotificationProvider.Notify(eventToAdd.Name);

			return this.Created("api/events", new
			{
				EventId = eventToAdd.Id
			});
		}