public async Task <IHttpActionResult> SaveEventManagementPin(EventManagementPinViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } model = await _eventBuilder.AddOrUpdatePinAsync(model); return(Ok(model)); }
public async Task <EventManagementPinViewModel> BuildEventMangementPinAsync() { var model = new EventManagementPinViewModel { IsActive = true }; var query = _repo.EventManagementPins.Where(m => m.IsActive); if (query.FirstOrDefault() != null) { model = (await query.ProjectTo <EventManagementPinViewModel>(MapQueries()).FirstOrDefaultAsync()); } return(model); }
public async Task <IHttpActionResult> ValidatePin(EventManagementPinViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dbPin = _repo.EventManagementPins.Where(m => m.IsActive && m.PinNumber == model.PinNumber).FirstOrDefault(); if (dbPin == null) { ModelState.AddModelError("PinNumber", "Pin number is invalid"); return(BadRequest(ModelState)); } return(Ok()); }
public async Task <EventManagementPinViewModel> AddOrUpdatePinAsync(EventManagementPinViewModel model) { var dbPin = await _repo.EventManagementPins.GetByIdAsync(model.Id); var addPin = new EventManagementPin(); if (dbPin == null) { addPin = MapAddPin().CreateMapper().Map <EventManagementPin>(model); } else { addPin = MapUpdatePin().CreateMapper().Map <EventManagementPin>(model); } await _repo.EventManagementPins.AddOrUpdateAndSaveAsync(addPin); return(MapQueries().CreateMapper().Map <EventManagementPinViewModel>(addPin)); }