Esempio n. 1
0
        public async Task <ServiceResult <TemplateItemBo> > UploadTemplateAsync(TemplateUploadRequestContext uploadRequestContext, CancellationToken token)
        {
            var validationResult = await this._validationsProvider.TemplateUploadValidator.ValidateAsync(uploadRequestContext, token);

            if (!validationResult.IsValid)
            {
                return(new ServiceResult <TemplateItemBo> {
                    Errors = validationResult.Errors.ToServiceResultErrors()
                });
            }

            var azureStorageResult = await this._azureStorageServicesFacade.SaveBlobInContainerAsync(uploadRequestContext, token);

            if (azureStorageResult.IsNull())
            {
                return(new ServiceResult <TemplateItemBo> {
                    Errors = new[] { new Error {
                                         Code = "TEMPALTE_FILE_UPLOADFAILED_ERROR"
                                     } }
                });
            }

            var mapperResult = this._autoMapperService.Map <TemplateEntity>(azureStorageResult);

            mapperResult.CreatedBy = uploadRequestContext.User.GetUserId();

            var repositoryResult = await this._templateRepository.CreateAsync(mapperResult, token);

            return(new ServiceResult <TemplateItemBo> {
                Value = this._autoMapperService.Map <TemplateItemBo>(repositoryResult)
            });
        }
Esempio n. 2
0
        public async Task <ServiceResult <TemplateItemBo> > UploadTemplateAsync(TemplateUploadRequestContext uploadRequestContext, CancellationToken token)
        {
            Contract.Requires(uploadRequestContext.IsNotNull());
            Contract.Requires(token.IsNotNull());

            Contract.Ensures(Contract.Result <ServiceResult <TemplateItemBo> >().IsNotNull());

            return(default(ServiceResult <TemplateItemBo>));
        }
        public async Task <CloudBlockBlob> SaveBlobInContainerAsync(TemplateUploadRequestContext uploadRequestContext, CancellationToken token)
        {
            try
            {
                var fileName      = uploadRequestContext.File.FileName;
                var containerName = "templates";

                return(await this.UploadFileAsync(uploadRequestContext.File, fileName, containerName));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> UploadTemplateAsync(IFormCollection formCollection, CancellationToken token = default(CancellationToken))
        {
            try
            {
                var formFile = formCollection.Files.First();
                var templateRequestContext = new TemplateUploadRequestContext {
                    File = formFile, User = this.User
                };
                var serviceResult = await this._templateService.UploadTemplateAsync(templateRequestContext, token);

                if (serviceResult.HasErrors)
                {
                    return(new BadRequestObjectResult(serviceResult.Errors));
                }

                var mapperResult = this._autoMapperService.Map <TemplateResponseDto>(serviceResult.Value);

                return(this.CreatedAtRoute(nameof(this.GetTemplateByIdAsync), new { id = mapperResult.Data.Id }, mapperResult));
            }
            catch (Exception)
            {
                return(new BadRequestResult());
            }
        }