public async Task <IActionResult> Put(int id, [FromBody] AnnouncementSaveDto value) { if (ModelState.IsValid) { var response = await _announcementService.EditAnnouncement(id, value); if (response.IsSuccessful) { return(Ok()); } else if (response.IsClientError) { if (response.Payload != null) { return(Ok()); } return(BadRequest("Resource doesnt exists!")); } else { return(StatusCode(500, response.Message)); } } else { return(BadRequest(String.Join(" ,", OtherServices.ReturnAllModelErrors(ModelState)))); } }
public async Task <OperationResult> CreateAnnouncement(AnnouncementSaveDto announcement, string login) { var currentUser = await userRepository.GetUserByLogin(login); var announcementModel = mapper.Map <AnnouncementSaveDto, Announcement>(announcement); announcementModel.UserId = currentUser.Id; announcementModel.DateCreated = DateTime.Now; await repository.AddAsync(announcementModel); var result = await repository.SaveChangesAsync(); if (result > 0) { return(new OperationResult() { IsSuccessful = true, Payload = announcementModel }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } }
public async Task <OperationResult> EditAnnouncement(int id, AnnouncementSaveDto announcement) { var announcementInDb = await repository.GetAsync(id); if (announcementInDb == null) { return(new OperationResult() { IsSuccessful = false, IsClientError = true }); } if (announcementInDb.Title.Equals(announcement.Title) && announcementInDb.Content.Equals(announcement.Content)) { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Message = "Nothing has changed operation aborted", Payload = announcement }); } announcementInDb.Content = announcement.Content; announcementInDb.Title = announcement.Title; var result = await repository.SaveChangesAsync(); if (result > 0) { return(new OperationResult() { IsSuccessful = true }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } }
public async Task <IActionResult> Post([FromBody] AnnouncementSaveDto value) { if (ModelState.IsValid) { var currentName = User.Identity.Name; var response = await _announcementService.CreateAnnouncement(value, currentName); if (response.IsSuccessful) { return(Ok()); } else { return(StatusCode(500, response.Message)); } } else { return(BadRequest(String.Join(" ,", OtherServices.ReturnAllModelErrors(ModelState)))); } }