/// <summary> /// 更改公告信息 /// </summary> /// <param name="announceDTO">更新的公告信息</param> /// <returns></returns> public GetAnnouncementDTO UpdateAnnouncement(AddAnnouncementDTO announceDTO, Func <Announcement, bool> privilege) { var newValue = Mapper.Map <Announcement>(announceDTO); using (var ctx = new AspodesDB()) { var oldValue = ctx.Announcements.FirstOrDefault(a => a.AnnouncementId == newValue.AnnouncementId); if (oldValue == null) { throw new NotFoundException("未找到公告"); } if (!privilege(oldValue)) { throw new UnauthorizedAccessException(); } //不允许在Update时更改的值 newValue.Status = oldValue.Status; newValue.InstituteId = oldValue.InstituteId; newValue.PublisherId = oldValue.PublisherId; newValue.PublishDate = oldValue.PublishDate; ctx.Entry(oldValue).CurrentValues.SetValues(newValue); ctx.SaveChanges(); return(Mapper.Map <GetAnnouncementDTO>(newValue)); } }
public HttpResponseMessage UpdateDepartAnnouncement(AddAnnouncementDTO announceDTO) { try { return(ResponseWrapper.SuccessResponse(repository.UpdateAnnouncement(announceDTO, a => a.Type == "D"))); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
public HttpResponseMessage UpdateInstAnnouncement(AddAnnouncementDTO announceDTO) { try { var user = UserHelper.GetCurrentUser(); return(ResponseWrapper.SuccessResponse(repository.UpdateAnnouncement(announceDTO, a => a.Type == "I" && a.InstituteId == user.InstId))); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
/// <summary> /// Maps <paramref name="addAnnouncementDTO"/> to <c><b>Announcement</b></c> object and adds that product to repository. /// </summary> /// <param name="addAnnouncementDTO">Announcement to be added.</param> /// <returns></returns> public async Task AddAnnouncementAsync(AddAnnouncementDTO addAnnouncementDTO) { var newAnnnouncement = new Announcement { Title = addAnnouncementDTO.Title.ToUpper(), Description = addAnnouncementDTO.Description.ToUpper(), IsFixed = addAnnouncementDTO.IsFixed, MentorId = addAnnouncementDTO.MentorId }; await _announcementRepository.AddAsync(newAnnnouncement).ConfigureAwait(false); }
public HttpResponseMessage AddDepartAnnouncement(AddAnnouncementDTO dto) { try { dto.Type = "D"; var result = repository.AddAnnouncement(dto); return(ResponseWrapper.SuccessResponse(result)); } catch (Exception e) { return(ResponseWrapper.ExceptionResponse(e)); } }
public async Task <dynamic> postAnnouncement([FromBody] AddAnnouncementDTO request) { var announcement = new DimAnnouncements() { AnnouncementTitle = request.AnnouncementTitle, AnnouncementBody = request.AnnouncementBody, FromDt = request.FromDt ?? DateTime.UtcNow, ToDt = request.ToDt, CreateDt = DateTime.UtcNow, }; db.DimAnnouncements.Add(announcement); db.SaveChanges(); return(Ok("Announcement Added")); }
/// <summary> /// 添加公告、修改公告 /// </summary> /// <param name="announceDTO">公告信息</param> /// <returns> /// 添加成功,返回ResponseStatus.success /// 失败,返回ResponseStatus.unknown_error和错误信息 /// </returns> public GetAnnouncementDTO AddAnnouncement(AddAnnouncementDTO announceDTO) { Announcement saveValue = null; using (var ctx = new AspodesDB()) { var oldValue = ctx.Announcements.FirstOrDefault(a => a.AnnouncementId == announceDTO.AnnouncementId); if (oldValue == null) { Announcement announce = Mapper.Map <Announcement>(announceDTO); var user = UserHelper.GetCurrentUser(); announce.InstituteId = user.InstId; announce.PublisherId = user.UserId; saveValue = ctx.Announcements.Add(announce); ctx.SaveChanges(); foreach (int attachmentId in announceDTO.Attachments) { ctx.AnnouncementAttachments.Find(attachmentId).AnnouncementId = saveValue.AnnouncementId; } } else { saveValue = Mapper.Map <Announcement>(announceDTO); //不允许在Update时更改的值 saveValue.Status = oldValue.Status; saveValue.AnnouncementId = oldValue.AnnouncementId; saveValue.InstituteId = oldValue.InstituteId; saveValue.PublisherId = oldValue.PublisherId; saveValue.PublishDate = oldValue.PublishDate; ctx.Entry(oldValue).CurrentValues.SetValues(saveValue); ctx.SaveChanges(); foreach (int attachmentId in announceDTO.Attachments) { ctx.AnnouncementAttachments.Find(attachmentId).AnnouncementId = saveValue.AnnouncementId; } } ctx.SaveChanges(); return(Mapper.Map <GetAnnouncementDTO>(saveValue)); } }
public async Task <IActionResult> AddAnnouncement([FromBody] AddAnnouncementDTO addAnnouncement) { return(await _announcementService.AddAnnouncementAsync(addAnnouncement).ConfigureAwait(false).GetObjectResponseAsync <AddAnnouncementDTO>("Success").ConfigureAwait(false)); }