示例#1
0
        public IHttpActionResult Login([FromBody] UserLoginDTO userLogin)
        {
            ApiResult result;
            
            IQueryable<User> query = from a in db.User
                                     where (a.email == userLogin.Email && a.password == userLogin.Password)
                                            select a;
            User user = query.FirstOrDefault<User>();
            if (user == null)
            {
                return Ok(UserApiResult.LoginFail);
            }
            else
            {
                //login success
                //create session
                Session session = new Session();
                session.User = user;
                DateTime now = DateTime.Now;
                session.token = Base64Utils.Base64Encode(user.email + ":" + user.password);
                session.expired = now.AddHours(2);
                db.Session.Add(session);
                db.SaveChanges();

                LoginResultContentDTO loginDTO = new LoginResultContentDTO();
                loginDTO.Message = "login success";
                loginDTO.Token = session.token;
                
                result = UserApiResult.LoginSuccess;
                result.Content = loginDTO;

                return Ok(result);
            }
            
        }
示例#2
0
        protected void InitializeDB()
        {
            using (CF_FamsamEntities context = new CF_FamsamEntities())
            {
                //create user role
                UserRole userRole = context.UserRole.Find(UserRole.LOGGED_IN_ROLE);
                if ( userRole == null)
                {
                    userRole = new UserRole();
                    userRole.rolename = UserRole.LOGGED_IN_ROLE;
                    context.UserRole.Add(userRole);
                }
                
                //create user
                User createUser = (from u in context.User where u.email == "mrbean" select u).FirstOrDefault<User>();
                if (createUser == null)
                {
                    createUser = new User
                    {
                        id = DateTime.Now.Millisecond,
                        email = "*****@*****.**",
                        password = "******",
                        firstname = "Lup",
                        lastname = "Bean",
                        UserRole = userRole,
                        role = userRole.rolename
                    };
                    context.User.Add(createUser);
                }
                
                //create session
                string token = Base64Utils.Base64Encode("mrbean:mrbean");
                Session session = context.Session.Find(token);
                if (session == null)
                {
                    session = new Session
                    {
                        token = token,
                        expired = new DateTime(2100, 1, 1),
                        User = createUser,
                    };
                    context.Session.Add(session);
                }
                
                //new post for photo
                DateTime thisTime = DateTime.Now;
                GeneralPost post = new GeneralPost();
                post.Id = thisTime.Millisecond;
                post.lastUpdate = thisTime;
                post.description = "haha";
                post.CreateUser = createUser;
                post.createUserId = createUser.id;
                post.postType = GeneralPost.PHOTO_POST_TYPE;
                context.GeneralPost.Add(post);
                
                Photo photo = new Photo();
                photo.Post = post;
                photo.url = "http://photo.url/nothing.jpg";
                context.Photo.Add(photo);
                try 
                { 
                    context.SaveChanges(); 
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Exception on Initialize DB Sample: " + ex);
                }
            }

        }