public ActionResult Start(int id) { using (var sl = new SystemLogic()) { var authMember = GetAuthorizedMember(); var draft = sl.GetDraftById(id); if (draft.Owner.Id != authMember.Id || draft.Started || draft.Finished) { return(RedirectToAction("Index")); } var startDraftVm = new StartDraftViewModel { DraftName = draft.Name, DraftId = draft.Id }; var draftMemberPositions = sl.GetDraftMembers(draft.Id); foreach (var dfs in draftMemberPositions) { var member = sl.GetMember(dfs.Member.Id); startDraftVm.DraftMembers.Add(new DraftMemberViewModel { DraftPosition = dfs.Position, Email = member.Email, FullName = member.FullName }); } return(View(startDraftVm)); } }
public ActionResult Index() { var draftList = new List <DraftListViewModel>(); using (var sl = new SystemLogic()) { var authMember = GetAuthorizedMember(); var drafts = sl.GetDraftList(); foreach (var draft in drafts) { var dlvm = new DraftListViewModel { CreatorId = draft.Owner.Id, CreatorName = sl.GetMember(draft.Owner.Id).FullName, Id = draft.Id, Name = draft.Name }; if (authMember != null) { dlvm.AmIMemberOf = sl.IsMemberOfDraft (authMember.Id, draft.Id); } draftList.Add(dlvm); } } return(View(draftList)); }
// // GET: /Draft/ private Member GetAuthorizedMember() { using (var sl = new SystemLogic()) { if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated) { var userName = System.Web.HttpContext.Current.User.Identity.Name; var member = sl.GetMember(userName); if (member != null) { return(member); } } return(null); } }
private List <ChatViewModel> ConvertToChatViewModelList(IEnumerable <Chat> chatlist, int currentMemberId) { using (var sl = new SystemLogic()) { var vmchats = new List <ChatViewModel>(); foreach (Chat chat in chatlist) { var chatmember = sl.GetMember(chat.Member.Id); var cvm = new ChatViewModel { ChatId = chat.Id, DateTime = chat.CreatedDate.ToString("HH:mm"), MemberName = currentMemberId == chatmember.Id ? "Me" : chatmember.FullName, Text = chat.Text }; vmchats.Add(cvm); } return(vmchats); } }
private DraftViewModel GetDraftViewModel(int draftId) { var draftLogic = GetDraftLogic.FromDraftId(draftId); var systemLogic = new SystemLogic(); if (!draftLogic.IsDraftAvailable(draftId)) { return(null); } var draft = systemLogic.GetDraftById(draftId); using (var sl = new SystemLogic()) { var picks = systemLogic.GetPickList(draftId); var dvm = new DraftViewModel { Id = draftId, MaximumNumberOfPicks = draft.MaximumPicksPerMember, Name = draft.Name, Owner = sl.GetMember(draft.Owner.Id).FullName, CreationDate = draft.CreatedDate, CurrentPickPosition = draftLogic.CurrentPickPosition(draftId), CurrentNumberOfPicks = picks.Count }; var members = systemLogic.GetDraftMembers(draftId); foreach (var draftMemberPositions in members) { var member = sl.GetMember(draftMemberPositions.Member.Id); var draftMemberVm = new DraftMemberVm { DisplayName = member.FullName, Id = member.Id, }; dvm.Members.Add(draftMemberVm); } var pickCount = picks.Count; var startIndex = pickCount - draft.DraftSize; if (startIndex < 0) { startIndex = 0; } for (int i = startIndex; i < pickCount; i++) { var pick = picks[i]; var member = sl.GetMember(pick.Member.Id); var card = sl.GetCard(pick.Card.Id); var pvm = new PickViewModel { CardId = pick.Card.Id, MemberId = pick.Member.Id, PickTime = PickTime.History, CardName = card.Name, MemberName = member.FullName }; dvm.Picks.Add(pvm); } var currentPick = new PickViewModel() { MemberId = draft.CurrentTurn.Id, MemberName = sl.GetMember(draft.CurrentTurn.Id).FullName, PickTime = PickTime.Current, }; dvm.Picks.Add(currentPick); for (int i = 0; i < draft.DraftSize; i++) { var nextDraftPosition = draftLogic.GetNextPickPosition(pickCount + 1 + i, draft.DraftSize); var nextMember = dvm.Members[nextDraftPosition - 1]; var nextPick = new PickViewModel { MemberName = nextMember.DisplayName, MemberId = nextMember.Id, PickTime = PickTime.Future }; dvm.Picks.Add(nextPick); } var authMember = GetAuthorizedMember(); if (authMember != null) { foreach (FuturePick fp in sl.GetMyFuturePicks(draftId, authMember.Id)) { Card card = sl.GetCard(fp.Card.Id); dvm.FuturePicks.Add(card.Name); } } return(dvm); } }