public async Task <IActionResult> UpdateStatus(Guid parentId, Guid id, PledgeStatus newStatus) { var pledge = await Database.Pledges.FindAsync(id); if (pledge.Project.Id != parentId) { return(NotFound()); } var user = await CurrentUser; if (!((user == pledge.Maker && newStatus != PledgeStatus.Finished) || (user.Organization == pledge.Project.Organization && newStatus == PledgeStatus.Finished))) { return(Forbid()); } if (newStatus < pledge.Status) { return(BadRequest("Cannot move the status backward")); } pledge.Status = newStatus; await Database.SaveChangesAsync(); return(NoContent()); }
private void CheckIfPledgedToday() { List <PledgeStatus> ps = new List <PledgeStatus>(); PledgeStatusDA psd = new PledgeStatusDA(); psd.Load(ps); PledgeStatus UnpledgeItem = ps.SingleOrDefault(x => x.PledgeType.ToLower() == "u"); if (DateTime.Today <= UnpledgeItem.DateSent.Date) { btnUnpledge.IsEnabled = false; labelUnpledgeStatus.Content = "Unpledged by " + UnpledgeItem.SentBy + " at " + UnpledgeItem.DateSent; } }