Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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 }));
        }
Esempio n. 5
0
 public ListViewPage(string email)
 {
     InitializeComponent();
     localEmail     = email;
     BindingContext = new ListViewVM(email);
 }
Esempio n. 6
0
        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);
        }