示例#1
0
        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);
            }
        }
示例#2
0
        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;
            }
        }