Exemplo n.º 1
0
        public async Task <ActionResult <AnnounceItemResponse> > GetAnnounce([FromBody] ViewAnnounceRequest request)
        {
            AnnounceItemResponse ans = new AnnounceItemResponse();

            ans.totalpage    = 0;
            ans.pagenum      = request.pagenum;
            ans.AnnounceItem = new List <AnnounceResponse>();

            var start = (request.pagenum - 1) * request.pagesize;
            var end   = request.pagenum * request.pagesize - 1;

            //取得存在cookie的当前账户id
            var user_id = Int32.Parse(User.Identity.Name);

            var temp = await AnnounceAccessor.Find(user_id);

            for (int i = 0; i < temp.totalpage; i++)
            {
                ans.totalpage++;
                if (i >= start && i <= end)
                {
                    var response = _mapper.Map <AnnounceResponse>(temp.AnnounceItem[i]);
                    ans.AnnounceItem.Add(response);
                }
            }
            return(Ok(ans));
        }
Exemplo n.º 2
0
        public async Task <int> CreateAnnounce([FromBody] AnnounceRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(-5);
            }
            //取得存在cookie的当前账户id
            var user_id = Int32.Parse(User.Identity.Name);
            var role    = await UserAccessor.CheckRole(user_id);

            if (role == Role.Student || role == Role.Provider)
            {
                return(-10);
            }
            //生成annouce实例
            var announcement = _mapper.Map <AnnounceEntity>(request);

            announcement.user_id = user_id;
            //新建annouce
            var num = await AnnounceAccessor.Create(announcement);

            var s = await AnnounceAccessor.Createsend(num);

            return(num);
        }
Exemplo n.º 3
0
        public async Task <int> DeleteAnnounce([FromBody] AnnounceStatusRequest request)
        {
            //取得存在cookie的当前账户id
            var temp_id = Int32.Parse(User.Identity.Name);

            var temp_entity = _mapper.Map <AnnounceEntity>(request);

            temp_entity.user_id = temp_id;
            var temp = await AnnounceAccessor.Delete(temp_entity);

            return(temp);
        }
Exemplo n.º 4
0
        public async Task <int> DeleteAnnounceAll([FromBody] AnnounceStatusRequest request)
        {
            //取得存在cookie的当前账户id
            var temp_id = Int32.Parse(User.Identity.Name);
            var role    = await UserAccessor.CheckRole(temp_id);

            if (role == Role.Student || role == Role.Provider)
            {
                return(-10);
            }
            var temp_entity = _mapper.Map <AnnounceEntity>(request);
            var temp        = await AnnounceAccessor.DeleteAll(temp_entity);

            return(temp);
        }
Exemplo n.º 5
0
        public async Task <AnnounceResponse> GetAnnounceContent([FromBody] AnnounceStatusRequest request)
        {
            //取得存在cookie的当前账户id
            var temp_id = Int32.Parse(User.Identity.Name);

            var ans = await AnnounceAccessor.FindInfo(request.announcement_id);

            var temp_entity = _mapper.Map <AnnounceEntity>(request);

            temp_entity.user_id = temp_id;
            var temp = await AnnounceAccessor.Change(temp_entity);

            ans.status = 1;
            return(_mapper.Map <AnnounceResponse>(ans));
        }
Exemplo n.º 6
0
        public async Task <int> CreateAnnounce([FromBody] AnnounceRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(-5);
            }
            //取得存在cookie的当前账户id
            var user_id = 6;//Int32.Parse(User.Identity.Name);
            //生成annouce实例
            var announcement = _mapper.Map <AnnounceEntity>(request);

            announcement.user_id = user_id;
            //新建annouce
            var num = await AnnounceAccessor.Create(announcement);

            return(user_id);
        }
Exemplo n.º 7
0
        public async Task <ActionResult <AccountResponse> > PostRegister([FromBody] RegisterRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var account = _mapper.Map <AccountEntity>(request);

            account.Password = BCrypt.Net.BCrypt.HashPassword(Sha512Hmac.HashPassword(request.Password), 10);
            account.Id       = await AccountAccessor.Create(account);

            await UserAccessor.Create(account); // Create user at the same time

            if (request.Role == Constants.Role.Student)
            {
                var resume = new ResumeEntity();
                resume.student_id = account.Id;
                await ResumeAccessor.Create(resume);
            }

            await AnnounceAccessor.SetNewSend(account.Id);//create user's announce

            // issue cookie
            var claims = new Claim[]
            {
                new Claim(ClaimTypes.Name, account.Id.ToString()),
                new Claim(ClaimTypes.Role, account.Role.ToString()),
            };

            var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties);

            return(Ok(_mapper.Map <AccountResponse>(account)));
        }