public static void AddShare(int taskId, string objectId, string displayName)
        {
            //Share a task with a user or group
            GroupClaimContext db        = new GroupClaimContext();
            AadObject         aadObject = db.AadObjects.Find(objectId);

            if (aadObject != null)
            {
                aadObject.DisplayName = displayName;
            }
            else
            {
                aadObject = new AadObject
                {
                    AadObjectID = objectId,
                    DisplayName = displayName,
                };
            }
            Task             task   = db.Tasks.Find(taskId);
            List <AadObject> shares = task.SharedWith.ToList();

            shares.Add(aadObject);
            task.SharedWith = shares;
            db.SaveChanges();
        }
        public static void AddTask(string taskText, string userObjectId, string userName)
        {
            // Add a new task to the db
            GroupClaimContext db = new GroupClaimContext();
            Task newTask         = new Task
            {
                Status      = "NotStarted",
                TaskText    = taskText,
                Creator     = userObjectId,
                SharedWith  = new List <AadObject>(),
                CreatorName = userName,
            };

            // Get the AadObject representing from the user if it exists
            AadObject user = db.AadObjects.Find(userObjectId);

            if (user != null)
            {
                // Update the user's display name in case it has changed
                user.DisplayName = userName;
            }
            else
            {
                user = new AadObject
                {
                    AadObjectID = userObjectId,
                    DisplayName = userName,
                };
            }

            newTask.SharedWith.Add(user);
            db.Tasks.Add(newTask);
            db.SaveChanges();
        }
Example #3
0
        public static void UpdateShares(int taskId, List <Share> shares)
        {
            //Share a task with a user or group
            TdlrContext db   = new TdlrContext();
            Task        task = db.Tasks.Find(taskId);

            // Maintain that the task is shared with the owner
            AadObject user = task.SharedWith.Where(u => u.AadObjectID == task.Creator).FirstOrDefault();

            task.SharedWith = new List <AadObject>();
            task.SharedWith.Add(user);

            foreach (Share share in shares)
            {
                AadObject aadObject = db.AadObjects.Find(share.objectID);
                if (aadObject != null)
                {
                    aadObject.DisplayName = share.displayName;
                }
                else
                {
                    aadObject = new AadObject
                    {
                        AadObjectID = share.objectID,
                        DisplayName = share.displayName,
                    };
                }
                task.SharedWith.Add(aadObject);
            }
            db.SaveChanges();
        }