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());
        }
Esempio n. 2
0
        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;
            }
        }