Esempio n. 1
0
        public async Task <ActionResult> JoinByUrl(ActivityStringViewModel model) // contains activity id
        {
            /* if (!Program.UseShSend)
             * {
             *  return BadRequest();
             * } */
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                var userId = _userRepository.GetIdByIdentity(user.Id);
                model.IdUser = userId;

                var client = new ApiRequest($"{model.EndPointUrl}/", userId, "");
                var data   = await client.PostRequest <Activity>("Join", model);

                if (data != null) // Placeholder checks
                {
                    data.IdUser = -data.IdUser;
                    data.Id     = 0;
                    var newId = _activityRepository.Insert(data);
                    _activityRepository.AddRunner(newId, userId);
                }
                return(RedirectToAction("Index"));
            }
            return(BadRequest(ModelState));
        }
Esempio n. 2
0
        public async Task <Activity> Join(int id, [FromBody] ActivityStringViewModel data)
        {
            // checks would go here. oh well
            await _eventHub.SendMessage(new QueueElement <ActivityIdViewModel>
            {
                Type = "ActivityJoin",
                Data = new ActivityIdViewModel()
                {
                    Id = id, IdUser = data.IdUser
                },
            });

            var activity = _activityRepository.Get(id);

            return(activity);
        }