public async Task <bool> RegisterActaConformidad(ActaConformidadForRegister actaConformidadForRegister) { using (var transaction = _context.Database.BeginTransaction()) { var actaConformidad = new ActaConformidad(); actaConformidad.fecha_registro = actaConformidadForRegister.fecha_registro; actaConformidad.nombre = actaConformidadForRegister.nombre; actaConformidad.numero_acta = actaConformidadForRegister.numero_acta; actaConformidad.ruta = actaConformidadForRegister.ruta; actaConformidad.monto = actaConformidadForRegister.monto; actaConformidad.usuario_registro = actaConformidadForRegister.usuario_registro; actaConformidad.carga_id = actaConformidadForRegister.carga_id; actaConformidad.tipo_documento_id = actaConformidadForRegister.tipo_id; try { await _context.AddRangeAsync(actaConformidad); await _context.SaveChangesAsync(); } catch (Exception) { transaction.Rollback(); throw; } transaction.Commit(); return(true); } }
public async Task <IActionResult> UploadActaConformidad(int usuario_id, int carga_id , decimal monto, string numero_acta, int tipo_id) { List <List <string> > valores = new List <List <string> >(); try { var ruta = _config.GetSection("AppSettings:UploadsDocuments").Value; var file = Request.Form.Files[0]; string name = file.FileName.Split('.')[0]; string folderName = carga_id.ToString(); string webRootPath = ruta; string newPath = Path.Combine(webRootPath, folderName); if (name.Length > 26) { throw new ArgumentException("El nombre del file excede al límite de caracteres permitidos (24 caracteres)"); } var acta = new ActaConformidadForRegister { carga_id = carga_id , monto = monto , ruta = newPath , nombre = name + "." + file.FileName.Split('.')[1] , fecha_registro = DateTime.Now , usuario_registro = 1 , numero_acta = numero_acta , tipo_id = tipo_id }; byte[] fileData = null; using (var binaryReader = new BinaryReader(Request.Form.Files[0].OpenReadStream())) fileData = binaryReader.ReadBytes(Request.Form.Files[0].ContentDisposition.Length); if (!Directory.Exists(newPath)) { Directory.CreateDirectory(newPath); } if (file.Length > 0) { string fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); string fullPath = Path.Combine(newPath, fileName); var checkextension = Path.GetExtension(fileName).ToLower(); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } } var resp = await _repoBajaAltura.RegisterActaConformidad(acta); return(Ok(resp)); } catch (Exception ex) { return(Ok(ex.Message)); throw ex; } }