예제 #1
0
        public async Task <int> UpdateCoordenadas(UpdateCoordenadasRequest request)
        {
            try
            {
                var negocios = await context.BdNegocios.Where(x => x.IdNegocio == request.ID_NEGOCIO).FirstOrDefaultAsync();

                negocios.Latitud  = request.LATITUD;
                negocios.Longitud = request.LONGITUD;
                await context.SaveChangesAsync();

                var idstatusar = await context.BdAr.Where(x => x.IdAr == request.ID_AR).Select(x => x.IdStatusAr).FirstOrDefaultAsync();

                BdBitacoraNegociosCoordenadas coordenadas = new BdBitacoraNegociosCoordenadas();
                coordenadas.IdNegocio     = request.ID_NEGOCIO;
                coordenadas.IdAr          = request.ID_AR;
                coordenadas.Latitud       = request.LATITUD;
                coordenadas.Longitud      = request.LONGITUD;
                coordenadas.IdUsuarioAlta = request.ID_USUARIO;
                coordenadas.FecAlta       = DateTime.Now;
                coordenadas.IdStatusAr    = idstatusar;
                await context.BdBitacoraNegociosCoordenadas.AddAsync(coordenadas);

                context.SaveChanges();
                return(1);
            }
            catch (Exception ex)
            {
                return(0);
            }
        }
        public async Task <ActionResult> OnPostImportTransactions(IFormFile formFile, [FromForm] int IdUsuario, CancellationToken cancellationToken)
        {
            String mn = DateTime.Now.Month.ToString();
            String yy = DateTime.Now.Year.ToString();

            BdCargasMasivas carga = new BdCargasMasivas()
            {
                DescAttach      = "Carga de Transacciones",
                IdArchivoAttach = 2,
                FechaCarga      = DateTime.Now,
                IdUsuarioAlta   = IdUsuario,
                Status          = "Pendiente"
            };

            context_.BdCargasMasivas.Add(carga);
            await context_.SaveChangesAsync();

            int idcarga = carga.IdCargaMasiva;

            if (formFile == null || formFile.Length <= 0)
            {
                return(BadRequest("FormFile esta vacio"));
            }
            if (!Path.GetExtension(formFile.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
            {
                return(BadRequest("No es compatible con la extension del archivo"));
            }

            var list = new List <BdTransaccionesPaso>();

            using (var stream = new MemoryStream())
            {
                await formFile.CopyToAsync(stream, cancellationToken);

                using (var package = new ExcelPackage(stream))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
                    var            rowCount  = worksheet.Dimension.Rows;

                    for (int row = 2; row <= rowCount; row++)
                    {
                        BdTransaccionesPaso paso = new BdTransaccionesPaso()
                        {
                            IdCarga        = idcarga,
                            Month          = Convert.ToInt32(mn),
                            Year           = Convert.ToInt32(yy),
                            NoAfiliacion   = Convert.ToInt32(worksheet.Cells[row, 1].Value.ToString().Trim()),
                            ApprovedcCount = Convert.ToInt32(worksheet.Cells[row, 2].Value.ToString().Trim()),
                            Declinedcount  = Convert.ToInt32(worksheet.Cells[row, 3].Value.ToString().Trim())
                        };
                        list.Add(paso);
                    }
                    await context_.BdTransaccionesPaso.AddRangeAsync(list);

                    context_.SaveChanges();
                }
            }

            await context_.Database.ExecuteSqlCommandAsync("EXEC SP_PROCESAR_CARGA_TRANSACCIONES @ID_CARGA",
                                                           new SqlParameter("@ID_CARGA", idcarga));

            return(Ok(idcarga.ToString()));
        }
        public async Task<ActionResult> GetLoginRequest(LoginRequest req)
        {
            if (req == null) return BadRequest("No se ingresaron los datos solicitados");

            try
            {
                var dataApp = await _context.BdApplicationVersions.Where(x => x.Status).FirstOrDefaultAsync();
                if(dataApp.BuildNumber == req.buildNumber && dataApp.Version == req.version)
                {
                    int idusuario = await _context.CUsuarios.Where(x => x.Username == req.username).Select(x => x.IdUsuario).SingleOrDefaultAsync();
                    var usuario = await _context.CUsuarios.Where(x => x.IdUsuario == idusuario).SingleOrDefaultAsync();
                    var UsuarioPhone = _context.BdUsuarioCelular.Where(x => x.IdUsuario == idusuario).FirstOrDefault();

                    if (UsuarioPhone != null)
                    {
                        if (UsuarioPhone.Imei != req.imei)
                        {
                            if (UsuarioPhone.Imei == null)
                            {
                                UsuarioPhone.Imei = req.imei;
                                _context.SaveChanges();
                            }
                            else
                            {
                                return NotFound(new { Texterror = "IMEI" });
                            }
                        }
                    }
                    else
                    {
                        BdUsuarioCelular celular = new BdUsuarioCelular()
                        {
                            IdUsuario = idusuario,
                            IdUsuarioAlta = 559,
                            FecAlta = DateTime.Now,
                            Imei = req.imei
                        };
                        _context.BdUsuarioCelular.Add(celular);
                        _context.SaveChanges();
                    }

                    if (usuario == null)
                    {
                        return NotFound();
                    }

                    SpGetPassword pw = await _context.Query<SpGetPassword>().FromSql("EXEC SP_GET_PASSWORD @p0", idusuario).SingleOrDefaultAsync();

                    if (usuario.IsPda != 1)
                    {
                        return NotFound(new { Texterror = "El usuario no es PDA" });
                    }

                    if (!req.password.Equals(pw.pw))
                    {
                        return NotFound();
                    }

                    BdBitacoraAcceso acceso = new BdBitacoraAcceso()
                    {
                        IdUsuario = idusuario,
                        Acceso = DateTime.Now,
                        FecStatus = DateTime.Now,
                        Status = "ACTIVO",
                        IpCliente = req.imei,
                        Host = "ACCESO APLICACION"
                    };
                    _context.BdBitacoraAcceso.Add(acceso);
                    await _context.SaveChangesAsync();
                    return Ok(new { user = usuario.Nombre + " " + usuario.Paterno + " " + usuario.Materno, idusuario = usuario.IdUsuario });
                }
                else
                {
                    return BadRequest(new { Texterror = "VERSION"});
                }
            }
            catch (Exception ex)
            {
                return BadRequest(ex.StackTrace);
            }

        }
예제 #4
0
        public async Task <IActionResult> PostOdt(List <IFormFile> archivos, [FromForm] string noar, [FromForm] int idUsuario)
        {
            if (archivos == null || archivos.Count == 0)
            {
                return(BadRequest("Favor de ingresar los archivos"));
            }
            if (noar == null || noar == "")
            {
                return(BadRequest("Favor de ingresar el no de ar"));
            }
            var idar = (context_.BdAr.Where(n => n.NoAr == noar).Select(i => i.IdAr)).SingleOrDefault();

            if (idar == 0)
            {
                return(BadRequest("El ar no existe"));
            }

            string dia  = DateTime.Now.Day.ToString();
            int    mes  = DateTime.Now.Month;
            string anno = DateTime.Now.Year.ToString();
            string mesm = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(mes).ToUpper();

            var desccliente = (context_.CClientes.Where(i => i.IdCliente == 4).Select(d => d.DescCliente)).SingleOrDefault().Replace(" ", "_");

            try {
                foreach (IFormFile archivo in archivos)
                {
                    FileInfo fi = new FileInfo(archivo.FileName);

                    string newName = "_" + dia + mesm + anno + RandomString(6) + "_" + idar + fi.Extension;

                    if (!Directory.Exists("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno))
                    {
                        Directory.CreateDirectory("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno);
                    }

                    if (!Directory.Exists("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno + "//" + desccliente))
                    {
                        Directory.CreateDirectory("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno + "//" + desccliente);
                    }

                    if (!Directory.Exists("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno + "//" + desccliente + "//" + mesm))
                    {
                        Directory.CreateDirectory("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno + "//" + desccliente + "//" + mesm);
                    }

                    var path       = Path.Combine("C://inetpub//wwwroot//" + appname + "//DOCS/BITACORA_AR//UPLOADER//ARCHIVOS//" + anno + "//" + desccliente + "//" + mesm, newName);
                    var pathToSave = @"/UPLOADER/ARCHIVOS/" + anno + "/" + desccliente + "/" + mesm;

                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await archivo.CopyToAsync(stream);
                    }

                    var idextension           = (context_.CTipoArchivo.Where(x => x.Extension == fi.Extension.Replace(".", ""))).Select(x => x.IdTipoArchivo).SingleOrDefault();
                    BdArArchivosVarios varios = new BdArArchivosVarios()
                    {
                        IdAr = idar,
                        NombreArchivoSistema = newName,
                        NombreArchivoUsuario = fi.Name,
                        Ruta          = pathToSave,
                        IdTipoArchivo = idextension,
                        IdUsuarioAlta = idUsuario,
                        FechaAlta     = DateTime.Now,
                        Status        = "ACTIVO"
                    };
                    context_.BdArArchivosVarios.Add(varios);
                    await context_.SaveChangesAsync();

                    BdAuditoriaProcesosInternos auditoria = new BdAuditoriaProcesosInternos()
                    {
                        Proceso      = "CARGA DE ARCHIVOS VIA API",
                        ErrorNumber  = idar,
                        ErrorMessage = "Se cargo correctamente el archivo " + newName + " para la ODT " + noar,
                        FecAlta      = DateTime.Now
                    };
                    context_.BdAuditoriaProcesosInternos.Add(auditoria);
                    await context_.SaveChangesAsync();
                }

                return(Ok("Carga completada"));
            }
            catch (Exception ex)
            {
                BdAuditoriaProcesosInternos auditoria = new BdAuditoriaProcesosInternos()
                {
                    Proceso      = "CARGA DE ARCHIVOS VIA API",
                    ErrorNumber  = idar,
                    ErrorMessage = ex.ToString() + "// Ocurrio un error al cargar un archivo" + noar,
                    FecAlta      = DateTime.Now
                };
                context_.BdAuditoriaProcesosInternos.Add(auditoria);
                await context_.SaveChangesAsync();

                return(BadRequest(ex.ToString()));
            }
        }