Esempio n. 1
0
				public InviteUsersCollectionModel InviteUsersCollectionModelByAmountToGet (int amount, int groupid)
				{
					var result = new InviteUsersCollectionModel ();
					result.UsersToInvite = new List<InviteUsersViewModel> ();

					var group = _groupDal.GetGroupById (groupid);

					if (group == null)
						throw new AppException ($"Error Loading Group By ID: {groupid}");

					var url = _httpContextAccessor.HttpContext?.Request?.GetDisplayUrl ();

					// UrlHelperExtensions.Action("GroupHome", "Groups", new { id = groupid });
					// Microsoft.AspNetCore.Http.Extensions.UriHelper.GetFullUrl(Request)

					// var url = _httpContext.Request.GetEncodedUrl();

					if (amount <= 0)
						return result;

					for (var a = 0; a < amount; a++)
					{
						var usertoinvite = new InviteUsersViewModel ();
						usertoinvite.GroupId = groupid;
						usertoinvite.GroupName = group.GroupName;
						usertoinvite.GroupUrl = url;
						usertoinvite.GroupPassword = group.GroupPassWord;
						result.UsersToInvite.Add (usertoinvite);
					}
					return result;
				}
Esempio n. 2
0
				public InviteUsersViewModel AdditionalInviteUsersViewModel (int tempid, int groupid)
				{
					var result = new InviteUsersViewModel ();
					result.TempId = tempid;
					result.GroupId = groupid;
					return result;
				}
Esempio n. 3
0
        public IActionResult InviteUsers(InviteUsersViewModel values)
        {
            if (string.IsNullOrWhiteSpace(Tenant))
            {
                return(View("Error"));
            }

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Please correct validation errors");
                return(View(values));
            }

            try
            {
                _userAccountService.CreateAccount(Tenant, values.Email, null, values.Email);
            }
            catch (ValidationException ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View());
            }

            ModelState.Clear();
            return(View(new InviteUsersViewModel
            {
                Message =
                    $"We've sent {values.FirstName}'s invitation to join the <strong>{Tenant}</strong> team! Tell {values.FirstName} to be on the look out for the email at {values.Email}."
            }));
        }
Esempio n. 4
0
        public async Task <IActionResult> Invite(string chatRoomId)
        {
            string currentUserId = identity.CurrentUserId;
            var    users         = await this.userRepo.GetNonParticipantsForRoomAsync(chatRoomId, currentUserId, null, 10);

            ChatRoomEntity chatRoom = await this.roomRepo.FindByIdAsync(chatRoomId);

            if (users != null && chatRoom != null)
            {
                var roomVm = mapper.Map <ChatRoomEntity, ChatRoomViewModel>(chatRoom);
                var model  = new InviteUsersViewModel
                {
                    RoomName = roomVm.GetRoomName(identity.CurrentUserId),
                    RoomId   = chatRoomId,
                    Users    = users.Select(x => mapper.Map <UserEntity, UserViewModel>(x)).ToList()
                };

                return(PartialView("_inviteUsers", model));
            }

            return(StatusCode(404));
        }
        public ActionResult Invite(int id, InviteUsersViewModel model)
        {
            var cookie = Request.Cookies["MyFirstCookie"];

            if (cookie == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var parameters = new List <KeyValuePair <string, string> >();

            parameters.Add(
                new KeyValuePair <string, string>("Email", model.Email));

            var encodedParameters = new FormUrlEncodedContent(parameters);

            var httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("Authorization",
                                                 $"Bearer {cookie.Value}");

            var response = httpClient
                           .PostAsync($"http://localhost:64310/api/household/invite/{id}",
                                      encodedParameters)
                           .Result;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return(RedirectToAction("Index"));
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
            {
                var data = response.Content.ReadAsStringAsync().Result;

                var errors = JsonConvert.DeserializeObject <APIErroData>(data);

                foreach (var key in errors.ModelState)
                {
                    foreach (var error in key.Value)
                    {
                        ModelState.AddModelError(key.Key, error);
                    }
                }

                return(RedirectToAction("Error"));
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                return(View(model));
            }
            else
            {
                //Create a log for the error message
                ModelState.AddModelError("", "Sorry. An unexpected error has occured. Please try again later");
                return(View(model));
            }
        }