Example #1
0
        public async Task <IActionResult> TextMessage(CreateTextMessageModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(GetModelErrors(ModelState)));
            }

            try
            {
                var result = await renderer.RenderAsync(QrCodeType.TextMessage, model);

                if (result == null)
                {
                    throw new Exception(StandardErrorMessages.Requests.UnableToRenderQrCode);
                }

                return(await HandleAsync(result, QrCodeType.TextMessage, model));
            }
            catch (Exception e)
            {
                Log.Error(e.Message);

                return(StatusCode(500));
            }
        }
        private async Task <QRCodeData> GenerateTextMessageQrCode(CreateTextMessageModel model)
        {
            Payload payload;

            switch (model.TextMessageType)
            {
            case TextMessageType.SMS:
                payload = new SMS(model.Phone, model.Body, model.SmsEncoding);
                break;

            case TextMessageType.MMS:
                payload = new MMS(model.Phone, model.Body, model.MmsEncoding);
                break;

            default: throw new NotImplementedException();
            }

            return(await GenerateAsync(payload));
        }