예제 #1
0
 public ActionResult SubmitJoinGroup(JoinGroupEditModel model)
 {
     if (!ModelState.IsValid)
     {
         return(PartialView("_JoinGroupEntry", model));
     }
     //We need to pass the correct password - if the user does that.Add them to the group, and load the group  homepage.
     try
     {
         var liu = _httpContextAccessor.HttpContext.User;
         var u   = _secretSantaBl.CustomUserModelByLoggedInUser(liu);
         model.CustomUser = u;
         var m = _secretSantaBl.CheckPasswordInput(model);
         return(PartialView("_JoinGroupEntry", m));
     }
     catch (AppException ax)
     {
         ModelState.AddModelError("", ax.AppMessage);
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
         _log.LogWarning(ex.Message);
     }
     return(PartialView("_JoinGroupEntry", model));
 }
예제 #2
0
        public JoinGroupEditModel CheckPasswordInput(JoinGroupEditModel model)
        {
            var group = _groupDal.GetGroupById(model.GroupId);

            if (group == null)
            {
                throw new Exception("Error loading group");
            }

            if (model.UserInputGroupPassword == null)
            {
                throw new AppException("Password is required");
            }

            var password = group.GroupPassWord;

            if (model.UserInputGroupPassword != password)
            {
                throw new AppException("Incorrect password");
            }
            model.GroupId   = group.GroupId;
            model.GroupName = group.GroupName;

            JoinGroupAsCustomUser(model.CustomUser, model.GroupId);
            model.Verified = true;
            model.ErrorMsg = null;
            return(model);
        }
예제 #3
0
        public JoinGroupEditModel JoinGroupEditModelByAccountNumberString(string acctno)
        {
            var result     = new JoinGroupEditModel();
            var groupslist = new List <Group>();
            var user       = _customUserDal.CustomUserByAccountNumber(acctno);

            var activegroupsidlist   = new List <int>();
            var groupsmemberofidlist = new List <int>();

            var allactivegroups = _groupDal.AllActiveGroups();
            var groupsmemberof  = _groupMembershipDal.GroupsBelongingToUserAccountNumberString(user.AccountNumberString);


            foreach (var ag in allactivegroups)
            {
                activegroupsidlist.Add(ag.GroupId);
            }

            foreach (var ag in groupsmemberof)
            {
                groupsmemberofidlist.Add(ag.GroupId);
            }


            var results = activegroupsidlist.Where(m => !groupsmemberofidlist.Contains(m));

            foreach (var r in results)
            {
                var group = new Group();
                group = _groupDal.GetGroupById(r);
                groupslist.Add(group);
            }

            //var matchItem = List1.Intersect(List2).First();


            //foreach (var g in groupsmemberof)
            //{
            //  var group = new Group();
            //  group = _groupDal.GetGroupById(g.GroupId);
            //  groupslist.Add(group);
            //}

            result.CustomUser = new CustomUserEditModel();
            result.CustomUser.Update(user);

            result.GroupsNotMemberOf = groupslist;

            return(result);
        }
예제 #4
0
				//public async Task SendEmailAsync(string email, string subject, string message)
				//{
				//    var emailMessage = new MimeMessage();

				//    emailMessage.From.Add(new MailboxAddress("Joe Bloggs", "*****@*****.**"));
				//    emailMessage.To.Add(new MailboxAddress("", email));
				//    emailMessage.Subject = subject;
				//    emailMessage.Body = new TextPart("plain") { Text = message };

				//    using (var client = new SmtpClient())
				//    {
				//        client.LocalDomain = "http://elfbuddies.com";
				//        await client.ConnectAsync("smtp.relay.uri", 25, SecureSocketOptions.None).ConfigureAwait(false);
				//        await client.SendAsync(emailMessage).ConfigureAwait(false);
				//        await client.DisconnectAsync(true).ConfigureAwait(false);
				//    }
				//}

				//    public void SendSimpleMessge()
				//    {

				//        RestClient client = new RestClient();
				//        client.BaseUrl = new Uri("https://api.mailgun.net/v3/elfbuddies.com");
				//        client.Authenticator = new HttpBasicAuthenticator("api",
				//                "key-30e16c6964d4f339fab512a5aa3b988d");
				//        RestRequest request = new RestRequest();
				//        request.AddParameter("domain", "elfbuddies.com", ParameterType.UrlSegment);
				//        request.Resource = "elfbuddies.com/messages";
				//        request.AddParameter("from", "Excited User <*****@*****.**>");
				//        request.AddParameter("to", "*****@*****.**");
				//        request.AddParameter("to", "*****@*****.**");
				//        request.AddParameter("subject", "Hello");
				//        request.AddParameter("text", "Testing some Mailgun awesomness!");
				//        request.Method = Method.POST;
				//        client.ExecuteAsync<RestClient>(request, (response) =>
				//{

				//});

				//    }

				//public async IRestResponse SendSimpleMessage()
				//{
				//    RestClient client = new RestClient();
				//    client.BaseUrl = new Uri("https://api.mailgun.net/v3");
				//    client.Authenticator =
				//        new HttpBasicAuthenticator("api",
				//            "YOUR_API_KEY");
				//    RestRequest request = new RestRequest();
				//    request.AddParameter("domain", "YOUR_DOMAIN_NAME", ParameterType.UrlSegment);
				//    request.Resource = "{domain}/messages";
				//    request.AddParameter("from", "Excited User <mailgun@YOUR_DOMAIN_NAME>");
				//    request.AddParameter("to", "*****@*****.**");
				//    request.AddParameter("to", "YOU@YOUR_DOMAIN_NAME");
				//    request.AddParameter("subject", "Hello");
				//    request.AddParameter("text", "Testing some Mailgun awesomness!");
				//    request.Method = Method.POST;
				//    return client.ExecuteAsync(request, "hi");
				//}

				//public static IRestResponse SendSimpleMessage()
				//{
				//    RestClient client = new RestClient();
				//    client.BaseUrl = new Uri("https://api.mailgun.net/v3");
				//    client.Authenticator =
				//        new HttpBasicAuthenticator("api",
				//            "YOUR_API_KEY");
				//    RestRequest request = new RestRequest();
				//    request.AddParameter("domain", "YOUR_DOMAIN_NAME", ParameterType.UrlSegment);
				//    request.Resource = "{domain}/messages";
				//    request.AddParameter("from", "Excited User <mailgun@YOUR_DOMAIN_NAME>");
				//    request.AddParameter("to", "*****@*****.**");
				//    request.AddParameter("to", "YOU@YOUR_DOMAIN_NAME");
				//    request.AddParameter("subject", "Hello");
				//    request.AddParameter("text", "Testing some Mailgun awesomness!");
				//    request.Method = Method.POST;
				//    return client.(request);
				//}

				public JoinGroupEditModel JoinGroupEditModelByGroupId (int groupid)
				{
					var group = _groupDal.GetGroupById (groupid);

					if (group == null)
						throw new Exception ("Error loading group");

					var result = new JoinGroupEditModel ();
					// result.Group = group; //This was causing validation errors... why do i even need this?
					result.GroupName = group.GroupName;
					result.GroupId = groupid;
					result.Verified = false;

					return result;
				}