Esempio n. 1
0
        public async Task <IActionResult> UploadFile([FromBody] UploadFileModel model)
        {
            #region Validation

            if (!ModelState.IsValid)
            {
                return(BadRequest(ErrorResponse.Create(ModelState)));
            }

            #endregion

            try
            {
                var fileData = Convert.FromBase64String(model.FileData);
                var fileId   = await _service.UploadFileAsync(model.FileName, fileData, model.ParentFolderGoogleId);

                var response = new UploadFileResponse()
                {
                    GoogleId = fileId
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                await _log.WriteErrorAsync("GoogleDriveController", nameof(UploadFile), string.Empty, ex);

                return(StatusCode(500, ErrorResponse.Create(ex.Message)));
            }
        }
Esempio n. 2
0
        public async Task CreateAsync(string name, decimal value, double margin, int opportunityId, IFormFile formFile)
        {
            string fileId = null;

            if (formFile != null)
            {
                fileId = await googleDriveService.UploadFileAsync(formFile);
            }

            var proposal = new Proposal
            {
                Name          = name,
                Date          = DateTime.UtcNow,
                Value         = value,
                Margin        = margin * (0.01),
                FileId        = fileId,
                OpportunityId = opportunityId
            };

            await this.db.AddAsync(proposal);

            await this.db.SaveChangesAsync();
        }