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); }
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; }
public DrawNamesDisplayModel DrawNamesDisplayModelByGroupId(int groupid) { var result = new DrawNamesDisplayModel(); var group = _groupDal.GetGroupById(groupid); result.Group = group; return(result); }
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); } }
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)); }
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)); }