public async Task <IActionResult> PostAsync([FromQuery][Required] string region, [FromBody] Offer offer) { NullCheck.ThrowIfNull <Offer>(offer); try { _configurationService.ThrowIfUnknownRegion(region); _mailInputValidatorService.validateMail(offer.provider.mail); _resourceStockInputValidatorService.ValidateForStockInsertion(offer); var token = await _resourceStockUpdateService.InsertAsync(offer, region); await _mailService.SendNewOfferConfirmationMailAsync(region, token, offer.provider.mail, offer.provider.name); return(Ok(token)); } catch (UnknownAdressException e) { return(BadRequest(e.Message)); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }
public async Task <IActionResult> PostAsync([FromBody] AdminKeyProtected <Demand> adminKeyProtectedDemand) { NullCheck.ThrowIfNull <Demand>(adminKeyProtectedDemand); // This is a temporary solution until #103 is done. if (!_adminKey.Equals(adminKeyProtectedDemand.adminKey, StringComparison.InvariantCulture)) { return(StatusCode(403)); } Demand demand = adminKeyProtectedDemand.data; try { _mailInputValidatorService.validateMail(demand.provider.mail); _resourceDemandInputValidatorService.ValidateForDemandInsertion(demand); var token = await _resourceDemandUpdateService.InsertAsync(demand); return(Ok(token)); } catch (UnknownAdressException e) { return(BadRequest(e.Message)); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }
public IActionResult Post([FromQuery][Required] string region, [FromBody] TelephoneCallbackRequest telephoneCallbackRequest) { NullCheck.ThrowIfNull <TelephoneCallbackRequest>(telephoneCallbackRequest); try { _configurationService.ThrowIfUnknownRegion(region); _mailInputValidatorService.validateMail(telephoneCallbackRequest.email); this._mailService.SendTelephoneCallbackMailAsync(region, telephoneCallbackRequest); return(Ok()); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }
public IActionResult Post([FromQuery][Required] string region, [FromBody] RegionSubscription regionsubscription) { NullCheck.ThrowIfNull <RegionSubscription>(regionsubscription); try { _configurationService.ThrowIfUnknownRegion(region); _mailInputValidatorService.validateMail(regionsubscription.email); this._subscriptionService.SubscribeRegionAsync(regionsubscription, region); this._mailService.SendRegionSubscriptionConformationMailAsync(region, regionsubscription); } catch (ArgumentException e) { return(BadRequest(e.Message)); } catch (UnknownAdressException e) { return(BadRequest(e.Message)); } return(Ok()); }