public bool ValidateCard_OnBus(ValidateCard_Bus_ViewModel validationInfo) { try { //create new validation entry... var validationEntryToAdd = new ValidationActivity() { CardId = validationInfo.ValidatingCardId.Value, BusId = validationInfo.ValidatingAtBusId, RouteId = validationInfo.RouteId, ValidatedOn = DateTime.Now, ValidatedAt = null //validating card on a bus, there is no need to specify if it took place on embarkation or disembarkation... }; //add new entry... db.Add(validationEntryToAdd); var savingResult = db.SaveChanges(); //return result... if (savingResult != 0) { return(true); } return(false); } catch (Exception e) { throw e; } }
public IActionResult ValidateCard_Bus([FromBody] ValidateCard_Bus_ViewModel validationInfo) { try { if (ModelState.IsValid) { //check the validity of the card... var cardValidity = CardsRepo.CheckCardsValidity(validationInfo.ValidatingCardId); //if card is not valid, and expirationdate is less than 1/1/2000, then the card does not exist... if (!cardValidity.Validity && cardValidity.ExpirationDate < Convert.ToDateTime("2000-01-01")) { return(BadRequest(_config["StatusCodesText:GeneralInputError"])); } if (!cardValidity.Validity) { return(BadRequest(_config["TicketValidationResult:FailedValidation_dueTo_ExpiredSubscription"])); } //if card is valid, create entry in validation activity... if (CardsRepo.ValidateCard_OnBus(validationInfo))//if validation is successful... display success message with card's expiration date... { return(Ok(_config["TicketValidationResult:SuccessfulValidation"] + cardValidity.ExpirationDate)); } //if none of the above, return a general error return(BadRequest(_config["TicketValidationResult:FailedValidation_dueTo_InternalServerError"])); } return(BadRequest(ModelState)); } catch (Exception e) { return(StatusCode(500, _config["StatusCodesText:ServerErr"])); } }