public async Task <IActionResult> UpdateAprrove(string id, ApproverStatus status) { var result = await _productService.UpdateAprrove(CurrentUser.TenantId, id, status); if (result.Code < 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <IActionResult> ChangeEventStatus(string id, ApproverStatus statusId, [FromBody] string declineReason) { var result = await _eventService.ChangeEventStatus(CurrentUser.TenantId, CurrentUser.Id, CurrentUser.FullName, CurrentUser.Avatar, id, statusId, declineReason); if (result.Code <= 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <int> UpdateNewsStatus(string newsId, ApproverStatus approverStatus) { var info = await GetInfo(newsId); if (info == null) { return(-1); } info.Status = approverStatus; return(await Context.SaveChangesAsync()); }
public async Task <ActionResult> ApproveCharity(Guid id, [FromBody] CharityApproveDto charityApproveDto) { // Check if the donor already exists var charity = await CharitableEntityApplication.GetCharity((c) => c.Id.Equals(id)); if (charity == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"A entidade beneficente, {id}, não foi encontrada."); return(NotFound(error)); } var approvals = await CharitableEntityApplication.GetCharityApprovals(a => a.CharitableEntityId.Equals(id)); object statusObj; Enum.TryParse(typeof(ApproverStatus), charityApproveDto.Status, out statusObj); if (statusObj == null) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"O status '${charityApproveDto.Status}' não é válido."); return(NotFound(error)); } ApproverStatus status = (ApproverStatus)statusObj; if (approvals != null && approvals.OrderByDescending(a => a.Date).First().Status == (int)status) { ErrorMessage error = new ErrorMessage((int)HttpStatusCode.BadRequest, $"A entidade já se encontra nesse status '${charityApproveDto.Status}'."); return(NotFound(error)); } await CharitableEntityApplication.UpdateCharityPending(id, charityApproveDto); return(Ok()); }
public async Task <List <ActionResultResponse> > ChangeListNewsStatus(string tenantId, List <string> listnewsId, ApproverStatus status, string declineReason, string userId, string fullName, string avatar) { var listResult = new List <ActionResultResponse>(); foreach (var newsId in listnewsId) { var result = await ChangeNewsStatus(tenantId, userId, fullName, avatar, newsId, status, declineReason); listResult.Add(result); } return(listResult); }
public async Task <ActionResultResponse> ChangeNewsStatus(string tenantId, string userId, string fullName, string avatar, string newsId, ApproverStatus status, string declineReason) { var info = await _newsRepository.GetInfo(newsId); if (info == null) { return(new ActionResultResponse(-1, _websiteResourceService.GetString("News does not exists."))); } if (info.TenantId != tenantId) { return(new ActionResultResponse(-2, _websiteResourceService.GetString(ErrorMessage.NotHavePermission))); } if (info.Status == ApproverStatus.Approved) { return(new ActionResultResponse(-3, _websiteResourceService.GetString("News has been approved. You can not change status of this news."))); } if (status == ApproverStatus.Decline && string.IsNullOrEmpty(declineReason)) { return(new ActionResultResponse(-4, _websiteResourceService.GetString("Please enter decline reason."))); } var oldStatus = info.Status; if (status == ApproverStatus.Pending) { info.Status = ApproverStatus.Pending; info.SentTime = DateTime.Now; } else if (status == ApproverStatus.Approved) { info.Status = ApproverStatus.Approved; info.ApprovedTime = DateTime.Now; info.ApproverUserId = userId; info.ApproverFullName = fullName; info.ApproverAvatar = avatar; } else if (status == ApproverStatus.Decline) { info.Status = ApproverStatus.Decline; info.ApproverComment = declineReason; } // Send notification to approver. if ((oldStatus == ApproverStatus.Draft || oldStatus == ApproverStatus.Decline) && status == ApproverStatus.Pending) { //await SendNotificationToApprover(tenantId, userId, fullName, avatar, newsId); } // Send notification to creator. if ((oldStatus == ApproverStatus.Pending || oldStatus == ApproverStatus.Decline) && (status == ApproverStatus.Approved || status == ApproverStatus.Decline)) { var isApprove = status == ApproverStatus.Approved; //SendApproveMessageToCreator(tenantId, userId, fullName, avatar, newsId, // info.CreatorId, // isApprove); } var result = await _newsRepository.Update(info); if (result <= 0) { return(new ActionResultResponse(result, _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong))); } return(new ActionResultResponse(result, _websiteResourceService.GetString("Update status news successful."))); }