Ejemplo n.º 1
0
 /// <summary>
 /// 更新成员信息
 /// </summary>
 /// <param name="memberDTO">成员信息</param>
 /// <returns></returns>
 public HttpResponseMessage Put(AddMemberDTO memberDTO)
 {
     try
     {
         return(ResponseWrapper.SuccessResponse(repository.UpdateMember(memberDTO, privilege.UserEditApplication)));
     }
     catch (Exception e)
     {
         return(ResponseWrapper.ExceptionResponse(e));
     }
 }
Ejemplo n.º 2
0
        public Member Put(AddMemberDTO member)
        {
            var dep = new Department()
            {
                DepartmentID = member.Department
            };

            _context.Attach(dep);
            var fac = new Faculty()
            {
                FacultyID = member.Faculty
            };

            _context.Attach(fac);

            var job = new Job()
            {
                JobID = member.Job
            };

            _context.Attach(job);
            string Img;

            if (member.Image != null)
            {
                Img = _imageService.SaveImg(member.Image);
            }
            else
            {
                Img = " ";
            }

            var updateMember = new Member()
            {
                ImgUrl     = Img,
                MemberID   = member.MemberID,
                FirstName  = member.FirstName,
                LastName   = member.LastName,
                BirthDate  = member.BirthDate,
                Sex        = member.Sex,
                Phone      = member.Phone,
                Faculty    = fac,
                Department = dep,
                Job        = job,
                Email      = member.Email,
                Password   = member.Password,
            };

            return(updateMember);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 更新成员信息
 /// </summary>
 /// <param name="memberDTO">更新的成员信息</param>
 /// <returns></returns>
 public GetMemberDTO UpdateMember(AddMemberDTO memberDTO, Func <Application, CurrentUser, bool> privilege)
 {
     using (var ctx = new AspodesDB())
     {
         var member = ctx.Members.FirstOrDefault(
             m => m.ApplicationId == memberDTO.ApplicationId && m.PersonId == memberDTO.PersonId);
         if (member == null)
         {
             throw new NotFoundException("未找到成员信息");
         }
         if (!privilege(member.Application, UserHelper.GetCurrentUser()))
         {
             throw new UnauthorizationException();
         }
         member.Task = memberDTO.Task;
         ctx.SaveChanges();
         return(Mapper.Map <GetMemberDTO>(member));
     }
 }
Ejemplo n.º 4
0
        public async Task <ActionResult <Member> > PutMember([FromForm] AddMemberDTO member)
        {
            var umember = User.Claims.FirstOrDefault(c => c.Type == "Id")?.Value;

            if (umember == null)
            {
                return(Unauthorized());
            }

            Member Member = _memberService.Put(member);
            var    entry  = _context.Entry(Member);

            entry.State = EntityState.Modified;
            entry.Property(m => m.ImgUrl).IsModified   = member.Image != null;
            entry.Property(m => m.Password).IsModified = member.Password != null;

            await _context.SaveChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 5
0
        public async Task <ActionResult <Member> > PostMember([FromForm] AddMemberDTO member)
        {
            Member newMember = _memberService.Post(member);

            _context.Member.Add(newMember);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (MemberExists(member.MemberID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }
            return(CreatedAtAction("GetMember", new { id = member.MemberID }, newMember));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 添加申请书成员
 /// </summary>
 /// <param name="memberDTO">成员信息</param>
 /// <returns></returns>
 public GetMemberDTO AddMember(AddMemberDTO memberDTO, Func <Application, CurrentUser, bool> privilege)
 {
     using (var ctx = new AspodesDB())
     {
         var application = ctx.Applications.FirstOrDefault(a => a.ApplicationId == memberDTO.ApplicationId);
         if (null == application)
         {
             throw new NotFoundException();
         }
         if (!privilege(application, UserHelper.GetCurrentUser()))
         {
             throw new UnauthorizationException();
         }
         var old = ctx.Members.FirstOrDefault(m => m.ApplicationId == memberDTO.ApplicationId && m.PersonId == memberDTO.PersonId);
         if (old != null)
         {
             throw new OtherException("人员已添加");
         }
         var member = ctx.Members.Add(Mapper.Map <Member>(memberDTO));
         ctx.SaveChanges();
         return(Mapper.Map <GetMemberDTO>(member));
     }
 }