示例#1
0
        //private string ClientID
        //{
        //    get
        //    {
        //        return WebConfigurationManager.AppSettings["MSClientID"];
        //    }
        //}
        private Guid CreateSession(User User, GetItDoneContext db)
        {
            Guid guid = Guid.NewGuid();

            db.Sessions.Add(new Session()
            {
                SessionUser = User, Created = DateTime.Now, Expires = DateTime.Now.AddMonths(1), ID = guid
            });
            db.SaveChanges();
            return(guid);
        }
示例#2
0
 //This version is for MVC
 public static User LoggedInUser(HttpRequestBase request, GetItDoneContext db = null /*We need this so that the user object is created in the correct context*/)
 {
     try
     {
         return(LoggedInUser(AuthCookie(request), db));
     }
     catch (ArgumentNullException)
     {
         return(null);
     }
 }
示例#3
0
        //This version is for WebApi
        public static User LoggedInUser(HttpRequestMessage request, GetItDoneContext db = null /*We need this so that the user object is created in the correct context*/)
        {
            CookieHeaderValue cookie = request.Headers.GetCookies("auth").FirstOrDefault();

            if (cookie != null)
            {
                Guid cookieGuid = Guid.Parse(cookie["auth"].Value);
                return(LoggedInUser(cookieGuid, db));
            }
            return(null);
        }
示例#4
0
        private static User LoggedInUser(Guid cookieGuid, GetItDoneContext db)
        {
            db = db ?? new GetItDoneContext();
            //They have an auth cookie, now lets check if the session is still valid
            var session = (from s in db.Sessions.Include("SessionUser") where cookieGuid == s.ID select s).FirstOrDefault <Session>();

            if (session != null && session.Expires > DateTime.Now)
            {
                return(session.SessionUser);
            }

            return(null);
        }
示例#5
0
 public static HttpCookie CreateSession(User user)
 {
     using (GetItDoneContext db = new GetItDoneContext())
     {
         Guid guid = Guid.NewGuid();
         db.Sessions.Add(new Session()
         {
             SessionUser = user, Created = DateTime.Now, Expires = DateTime.Now.AddMonths(1), ID = guid
         });
         HttpCookie cookie = new HttpCookie("auth", guid.ToString());
         cookie.Expires = DateTime.Now.AddMonths(1);
         return(cookie);
     }
 }
示例#6
0
        internal static void Schedule()
        {
            GetItDoneContext    db        = new GetItDoneContext("GetItDone");
            List <TaskSchedule> schedules = (from s in db.Schedules.Include("Task") select s).ToList <TaskSchedule>();

            foreach (TaskSchedule schedule in schedules)
            {
                schedule.Tasks.Sort(new Comparison <Task>((t1, t2) => { return((t1.Created - t2.Created).Hours); }));
                Task latestChildTask = schedule.Tasks[0];
                if (latestChildTask == null || (DateTime.Now - latestChildTask.Created).TotalDays > schedule.Schedule)
                {
                    db.Entry(latestChildTask).State = System.Data.Entity.EntityState.Detached;
                    latestChildTask.Created         = DateTime.Now;
                    db.Tasks.Add(latestChildTask);
                    db.SaveChanges();
                }
            }
        }