Ejemplo n.º 1
0
        /// <summary>
        /// Provides a list of users to whom the calendar has been shared.
        /// </summary>
        /// <remarks>
        /// http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk/doc/Extensions/caldav-sharing.txt
        /// (Section 5.2.2)
        public async Task <IEnumerable <SharingInvite> > GetInviteAsync()
        {
            IList <SharingInvite> invites = new List <SharingInvite>();

            foreach (DataRow rowAccess in rowsAccess)
            {
                if (rowAccess.Field <bool>("Owner"))
                {
                    continue;
                }

                string  userId = rowAccess.Field <string>("UserId");
                DavUser user   = Context.Users.FirstOrDefault(p => p.UserName.Equals(userId, StringComparison.InvariantCultureIgnoreCase));

                SharingInvite ace = new SharingInvite
                {
                    Address      = string.Format("email:{0}", user.Email)
                    , Access     = rowAccess.Field <bool>("Write") ? SharingInviteAccess.ReadWrite : SharingInviteAccess.Read
                    , CommonName = user.UserName
                    , Status     = SharingInviteStatus.Accepted
                };
            }

            return(invites);
        }
Ejemplo n.º 2
0
        public static async Task <User> GetUserAsync(DavContext context, string userId)
        {
            // Loged-in user can access only his own account data.
            if (!context.UserId.Equals(userId, StringComparison.InvariantCultureIgnoreCase))
            {
                throw new DavException("Forbidden.", DavStatus.FORBIDDEN);
            }
            DavUser user = context.Users.FirstOrDefault(p => p.UserName.Equals(userId, StringComparison.InvariantCultureIgnoreCase));

            return(new User(context, userId, user.UserName, user.Email, new DateTime(2000, 1, 1), new DateTime(2000, 1, 1)));
        }
Ejemplo n.º 3
0
        public static async Task <User> GetUserAsync(DavContext context, string userId)
        {
            DavUser user = context.Users.FirstOrDefault(p => p.UserName.Equals(userId, StringComparison.InvariantCultureIgnoreCase));

            return(new User(context, userId, user.UserName, user.Email, new DateTime(2000, 1, 1), new DateTime(2000, 1, 1)));
        }