Example #1
0
        public async Task <IActionResult> Create([FromForm] TransporterCreateRequest request)
        {
            var result = await _transportService.Create(request);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
Example #2
0
        public async Task <ActionResult> Post(Transport transport, IFormFile stream)
        {
            try
            {
                VerifyUser();
                _validateService.Validate(transport);

                //upload file
                if (CloudStorageAccount.TryParse(config.Value.StorageConnection, out CloudStorageAccount storageAccount))
                {
                    CloudBlobClient    blobClient = storageAccount.CreateCloudBlobClient();
                    CloudBlobContainer container  = blobClient.GetContainerReference(config.Value.Container);

                    var chars       = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
                    var stringChars = new char[8];
                    var random      = new Random();
                    for (int i = 0; i < stringChars.Length; i++)
                    {
                        stringChars[i] = chars[random.Next(chars.Length)];
                    }

                    var            finalString = new String(stringChars);
                    CloudBlockBlob blockBlob   = container.GetBlockBlobReference(finalString + stream.FileName);

                    string fileUrl = blockBlob?.Uri.ToString();
                    transport.FileUrl = fileUrl.ToString();

                    await blockBlob.UploadFromStreamAsync(stream.OpenReadStream());
                }
                else
                {
                    return(null);
                }

                await _TransportService.Create(transport);

                return(CreatedAtRoute("Get", new { Id = transport.Id }, transport));
            }

            catch (ServiceValidationExeption e)
            {
                var result = new ResultFormatter(API_VERSION, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                             .Fail(e);
                return(BadRequest(result));
            }
            catch (Exception e)
            {
                var result = new ResultFormatter(API_VERSION, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                             .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result));
            }
        }
        public IActionResult Create(TransportDto transportDto)
        {
            log.Info(nameof(Create) + ": Post");

            if (ModelState.IsValid)
            {
                try
                {
                    transportService.Create(transportDto);
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    log.Error(e);

                    return(BadRequest());
                }
            }

            return(View(transportDto));
        }