public async Task <IActionResult> PutMemberCards(int id, MemberCard MemberCards) { if (id != MemberCards.MemberCardId) { return(BadRequest()); } if (!DateHelper.IsDateExpired(MemberCards.ExpiryCardDate) && DateHelper.IsDateExpired(MemberCards.CreationCardDate)) { // Auto blacklist if not matching the conditions MemberCards.IsDeactivated = DateHelper.IsDateExpired(MemberCards.ExpiryCardDate) ? true : false; MemberCards.IsBlacklist = !DateHelper.IsDateExpired(MemberCards.BlacklistEndDate) && !MemberCards.IsDeactivated ? false : true; _context.Entry(MemberCards).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException) { if (!MemberCardsExists(id)) { return(NotFound()); } else { throw; } } } else { return(StatusCode(406, "Please check the dates.")); } return(NoContent()); }
public async Task <IActionResult> PutMember(int id, Member member) { if (id != member.MemberId) { return(BadRequest()); } // Login and phone number are unique. if (!_context.Members.Any(m => (m.EmailAddress == member.EmailAddress || member.PhoneNumber == m.PhoneNumber) && m.MemberId != id)) { if (member.IsValidUser()) { // When a member is modified, it's only the member data. Nor the IdCard or the MemberCard. -> could be made different but develop choice dynamic oldMemberData = CreatedAtAction("GetMember", new { id = member.MemberId }, member).Value; member.IdCard = oldMemberData.IdCard; member.MemberCards = oldMemberData.MemberCards; _context.Entry(member).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MemberExists(id)) { return(NotFound()); } else { throw; } } return(CreatedAtAction("GetMember", new { id = member.MemberId }, member)); } else { return(StatusCode(406, "Member not valid.")); } } else { return(StatusCode(406, "Incorrect data.")); } }
public async Task <IActionResult> PutIdCard(int id, IdCard idCard) { if (IdCardVerificator(idCard)) { // Need to define if it's the ID or nationalID // Card ID if (id != idCard.IdCardId) { return(BadRequest()); } _context.Entry(idCard).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!IdCardExists(idCard.IdCardId)) { return(NotFound()); } else { throw; } } return(CreatedAtAction("GetIdCard", new { id = idCard.IdCardId }, idCard)); } else { return(StatusCode(406, "Data not valid.")); } }