public IEnumerable <ListViewVM> GetLists(string UserID) { OneListEntitiesCore db = new OneListEntitiesCore(); IEnumerable <List> lists = db.Lists.Where(l => l.CreatorID == UserID && l.ListStatusID == PROCESS).Select(list => list); IEnumerable <ListViewVM> ListReturn; var r = new List <ListViewVM>(); foreach (List single in lists) { ListViewVM oneList = new ListViewVM(); oneList.CreatorID = UserID; oneList.ListStatusID = single.ListStatusID; oneList.ListTypeID = single.ListTypeID; oneList.ListID = single.ListID; oneList.CreationDate = single.CreationDate.ToShortDateString(); oneList.ListName = single.ListName; oneList.SuscriberGroup = from groups in db.SuscriberGroups join ListUser l in db.ListUsers on groups.SuscriberGroupID equals l.SuscriberGroupID join List li in db.Lists on l.ListID equals li.ListID where li.CreatorID == UserID where li.ListID == oneList.ListID select groups; oneList.ListType = db.ListTypes.Where(lt => lt.ListTypeID == single.ListTypeID).Select(p => p).FirstOrDefault().TypeName; r.Add(oneList); } ListReturn = (IEnumerable <ListViewVM>)r; return(ListReturn); }
public IEnumerable <ListViewVM> GetSuscribedLists(string UserID) { IEnumerable <ListViewVM> ListReturn; try { OneListEntitiesCore db = new OneListEntitiesCore(); IEnumerable <List> lists = from list in db.Lists join ListUser luser in db.ListUsers on list.ListID equals luser.ListID join SuscriberGroupUser sg in db.SuscriberGroupUsers on luser.SuscriberGroupID equals sg.SuscriberGroupID where sg.UserID == UserID && sg.UserTypeID != 1 select list; IEnumerable <SuscriberGroupUser> user = from list in db.Lists join ListUser luser in db.ListUsers on list.ListID equals luser.ListID join SuscriberGroupUser sg in db.SuscriberGroupUsers on luser.SuscriberGroupID equals sg.SuscriberGroupID where sg.UserID == UserID && sg.UserTypeID != 1 select sg; SuscriberGroupUser userFinal = user.First(); var r = new List <ListViewVM>(); foreach (List single in lists) { ListViewVM oneList = new ListViewVM(); oneList.CreatorID = UserID; oneList.ListStatusID = single.ListStatusID; oneList.ListTypeID = single.ListTypeID; oneList.ListID = single.ListID; oneList.CreationDate = single.CreationDate.ToShortDateString(); oneList.ListName = single.ListName; oneList.SuscriberGroup = from groups in db.SuscriberGroups join ListUser l in db.ListUsers on groups.SuscriberGroupID equals l.SuscriberGroupID join List li in db.Lists on l.ListID equals li.ListID where li.CreatorID == UserID where li.ListID == oneList.ListID select groups; UserType currentUser = db.UserTypes.Where(ut => ut.UserTypeID == userFinal.UserTypeID).Select(o => o).FirstOrDefault(); oneList.suscriberRole = currentUser.UserTypeName; oneList.UserType = user.First().UserTypeID; oneList.ListType = db.ListTypes.Where(lt => lt.ListTypeID == single.ListTypeID).Select(p => p).FirstOrDefault().TypeName; r.Add(oneList); } ListReturn = (IEnumerable <ListViewVM>)r; } catch { ListReturn = null; } return(ListReturn); }
public ActionResult EditList(int id) { //send the information to get the list and the user type if (!Request.IsAuthenticated) { //that list doesnt exist or he has no rights for that list, return to list management return(RedirectToAction("Login", "Home")); } else { string userID = FindUserID(); ListRepo repw = new ListRepo(); ListViewVM list = repw.getList(id, userID); //show list return(View(list)); } }
public ActionResult EditList(ListViewVM view) { string userID = FindUserID(); ListRepo rep = new ListRepo(); bool result = rep.UpdateListData(view.ListID, view.ListName, view.ListTypeID, view.SuscribergroupID); if (result == true) { TempData["ActionMsg"] = "List Updated Successfully."; } else { TempData["ErrorMsg"] = "Couldn't udpate list."; } return(RedirectToAction("EditList", new { id = view.ListID })); }
public ListViewPage(string email) { InitializeComponent(); localEmail = email; BindingContext = new ListViewVM(email); }
public ListViewVM getList(int id, string UserID) { ListViewVM resultList = new ListViewVM(); //first, check if the user is the creator OneListEntitiesCore db = new OneListEntitiesCore(); IEnumerable <List> lists = db.Lists.Where(l => l.CreatorID == UserID && l.ListID == id).Select(list => list); if (lists.Count() > 0) { List single = lists.First(); //the user is the creator resultList.CreatorID = UserID; resultList.suscriberRole = "List Publisher"; resultList.UserType = 0; resultList.ListStatusID = single.ListStatusID; resultList.ListTypeID = single.ListTypeID; resultList.ListID = single.ListID; resultList.CreationDate = single.CreationDate.ToShortDateString(); resultList.ListName = single.ListName; resultList.SuscriberGroup = from groups in db.SuscriberGroups join ListUser l in db.ListUsers on groups.SuscriberGroupID equals l.SuscriberGroupID join List li in db.Lists on l.ListID equals li.ListID where li.CreatorID == UserID where li.ListID == resultList.ListID select groups; resultList.ListType = db.ListTypes.Where(lt => lt.ListTypeID == single.ListTypeID).Select(p => p).FirstOrDefault().TypeName; //TO-DO: provide the list items for that list //cmbtypes List <SelectListItem> selectedLists = new List <SelectListItem>(); IEnumerable <ListType> currentTypes = db.ListTypes.Select(p => p); foreach (ListType L in currentTypes) { SelectListItem lFrom = new SelectListItem(); lFrom.Value = L.ListTypeID.ToString(); lFrom.Text = L.TypeName; if (L.ListTypeID == resultList.ListTypeID) { lFrom.Selected = true; } selectedLists.Add(lFrom); } resultList.listTypes = (IEnumerable <SelectListItem>)selectedLists; //cmb groups List <SelectListItem> selectedGroups = new List <SelectListItem>(); IEnumerable <SuscriberGroup> currentGroups = db.SuscriberGroups.Where(r => r.UserID == UserID).Select(p => p); foreach (SuscriberGroup M in currentGroups) { SelectListItem lFrom = new SelectListItem(); lFrom.Value = M.SuscriberGroupID.ToString(); lFrom.Text = M.SuscriberGroupName; SuscriberGroup gro = resultList.SuscriberGroup.Where(p => p.SuscriberGroupID == M.SuscriberGroupID).Select(g => g).FirstOrDefault(); if (gro != null) { lFrom.Selected = true; } selectedGroups.Add(lFrom); } resultList.suscribergroups = (IEnumerable <SelectListItem>)selectedGroups; IEnumerable <ListItem> itemsList = db.ListItems.Where(l => l.ListID == id).Select(p => p); var itemListFinal = new List <ListItemVM>(); foreach (ListItem l in itemsList) { ListItemVM addItem = new ListItemVM(); addItem.ListID = id; addItem.ItemID = l.ItemID; addItem.ListItemSolved = l.ListItemSolved; if (addItem.ListItemSolved) { User currentUser = db.Users.Where(u => u.UserID == l.ListItemSolver).Select(p => p).First(); addItem.ListItemSolverName = currentUser.FirstName + " " + currentUser.LastName; } addItem.ListItemNotes = l.ListItemNotes; try { addItem.ListItemCost = (decimal)l.ListItemCost; } catch { addItem.ListItemCost = 0; } addItem.listItemName = db.Items.Where(i => i.ItemID == l.ItemID).Select(p => p).First().ItemName; //finally adding the itemlist to the vm itemListFinal.Add(addItem); } resultList.items = (IEnumerable <ListItemVM>)itemListFinal; } else { //check if he is a suscriber or a colaborator IEnumerable <List> suscriptions = from list in db.Lists join ListUser luser in db.ListUsers on list.ListID equals luser.ListID join SuscriberGroupUser sg in db.SuscriberGroupUsers on luser.SuscriberGroupID equals sg.SuscriberGroupID where sg.UserID == UserID where list.ListID == id select list; IEnumerable <SuscriberGroupUser> user = from list in db.Lists join ListUser luser in db.ListUsers on list.ListID equals luser.ListID join SuscriberGroupUser sg in db.SuscriberGroupUsers on luser.SuscriberGroupID equals sg.SuscriberGroupID where sg.UserID == UserID where list.ListID == id select sg; SuscriberGroupUser userFinal = user.First(); if (suscriptions.Count() > 0) { //this user is a suscriber List single = suscriptions.First(); //the user is the creator resultList.CreatorID = UserID; UserType currentUser = db.UserTypes.Where(ut => ut.UserTypeID == userFinal.UserTypeID).Select(o => o).FirstOrDefault(); resultList.suscriberRole = currentUser.UserTypeName;; resultList.UserType = user.First().UserTypeID; resultList.ListStatusID = single.ListStatusID; resultList.ListTypeID = single.ListTypeID; resultList.ListID = single.ListID; resultList.CreationDate = single.CreationDate.ToShortDateString(); resultList.ListName = single.ListName; resultList.SuscriberGroup = from groups in db.SuscriberGroups join ListUser l in db.ListUsers on groups.SuscriberGroupID equals l.SuscriberGroupID join List li in db.Lists on l.ListID equals li.ListID where li.CreatorID == UserID where li.ListID == resultList.ListID select groups; resultList.ListType = db.ListTypes.Where(lt => lt.ListTypeID == single.ListTypeID).Select(p => p).FirstOrDefault().TypeName; //TO-DO: provide the list items for that list IEnumerable <ListItem> itemsList = db.ListItems.Where(l => l.ListID == id).Select(p => p); var itemListFinal = new List <ListItemVM>(); foreach (ListItem l in itemsList) { ListItemVM addItem = new ListItemVM(); addItem.ListID = id; addItem.ItemID = l.ItemID; addItem.ListItemSolved = l.ListItemSolved; if (addItem.ListItemSolved) { User cUser = db.Users.Where(u => u.UserID == l.ListItemSolver).Select(p => p).First(); addItem.ListItemSolverName = cUser.FirstName + " " + cUser.LastName; } addItem.ListItemNotes = l.ListItemNotes; try { addItem.ListItemCost = (decimal)l.ListItemCost; } catch { addItem.ListItemCost = 0; } addItem.listItemName = db.Items.Where(i => i.ItemID == l.ItemID).Select(p => p).First().ItemDescription; //finally adding the itemlist to the vm itemListFinal.Add(addItem); } resultList.items = (IEnumerable <ListItemVM>)itemListFinal; } else { // he is not a suscriber either, we wont show anything } } return(resultList); }