Пример #1
0
        public DrawNamesDisplayModel DrawNames(DrawNamesDisplayModel model)
        {
            var drawnnamelist = new List <DrawNamesEditModel>();
            var maxretries    = 100;
            var retries       = 0;

            while (true)
            {
                try
                {
                    drawnnamelist = AssignRandomUsersForGroup(model.Group.GroupId);
                    break;
                }

                catch (Exception ex)
                {
                    Console.WriteLine(" - " + ex.Message);


                    if (retries < maxretries)
                    {
                        retries++;
                    }
                    else
                    {
                        throw new AppException("Please alter your conditions to make the group solvable");
                    }
                }
            }


            model.DrawNamesList = new List <DrawNamesEditModel>();
            model.DrawNamesList = drawnnamelist;
            return(model);
        }
Пример #2
0
				public async Task<DrawNamesDisplayModel> DrawNamesAsync (DrawNamesDisplayModel model)
				{
					var drawnnamelist = new List<DrawNamesEditModel> ();
					var maxretries = 100;
					var retries = 0;

					while (true)
						try
						{
							drawnnamelist = AssignRandomUsersForGroup (model.Group.GroupId);
							break;
						}

					catch (Exception ex)
					{
						Console.WriteLine (" - " + ex.Message);

						if (retries < maxretries)
							retries++;
						else
							throw new AppException ("Please alter your conditions to make the group solvable");
					}

					model.DrawNamesList = new List<DrawNamesEditModel> ();
					model.DrawNamesList = drawnnamelist;

					await EmailGroupMembersResultsAsync (model).ConfigureAwait (false);
					return model;
				}
Пример #3
0
        public DrawNamesDisplayModel DrawNamesDisplayModelByGroupId(int groupid)
        {
            var result = new DrawNamesDisplayModel();
            var group  = _groupDal.GetGroupById(groupid);

            result.Group = group;
            return(result);
        }
Пример #4
0
				private async Task EmailGroupMembersResultsAsync (DrawNamesDisplayModel model)
				{
					foreach (var n in model.DrawNamesList)
					{
						var emailmodel = new EmailDrawnNamesUpdateModel ();
						emailmodel.GroupName = model.Group.GroupName;

						var personemailing = _customUserDal.CustomUserByAccountNumber (n.PersonOne);
						var persontheyreceived = _customUserDal.CustomUserByAccountNumber (n.PersonTwo);
						emailmodel.PersonOneName = personemailing.FullName;
						emailmodel.PersonOneEmail = personemailing.Email;

						emailmodel.PersonTwoName = persontheyreceived.FullName;
						emailmodel.PersonTwoEmail = persontheyreceived.Email;

						await SendPariedMemberResultsAsync (emailmodel).ConfigureAwait (false);

					}
				}
Пример #5
0
 public ActionResult SubmitDrawNames(DrawNamesDisplayModel model)
 {
     if (!ModelState.IsValid)
     {
         return(PartialView("_DrawNames", model));
     }
     try
     {
         var m = _secretSantaBl.DrawNames(model);
         m.Saved = true;
         return(PartialView("_DrawNames", m));
     }
     catch (AppException ax)
     {
         ModelState.AddModelError("", ax.AppMessage);
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
         _log.LogWarning(ex.Message);
     }
     return(PartialView("_DrawNames", model));
 }
Пример #6
0
        public async Task <ActionResult> SubmitDrawNames(DrawNamesDisplayModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_DrawNames", model));
            }
            try
            {
                var m = await _secretSantaBl.DrawNamesAsync(model).ConfigureAwait(false);

                m.Saved = true;
                return(PartialView("_DrawNames", m));
            }
            catch (AppException ax)
            {
                ModelState.AddModelError("", ax.AppMessage);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                _log.LogWarning(ex.Message);
            }
            return(PartialView("_DrawNames", model));
        }