Ejemplo n.º 1
0
        /// <summary>
        /// Guarda las solicitud con n cantidad de bancos creadas en la DB y devuelve el numero de memorandum con el que se asigno
        /// </summary>
        /// <param name="solicitudCreada"></param>
        /// <returns></returns>
        public static int GuardarSolicitudCreada(List <SolicitudCreadaDTO> solicitudCreada /*,string CuentaBanco, string CantidadFormas, string FInicial*/)
        {
            bool bandera = false;

            var transaccion = new Transaccion();
            var repositorioCuentaBancaria = new Repositorio <Tbl_CuentasBancarias>(transaccion);
            var repositorioSolicitud      = new Repositorio <Tbl_Solicitudes>(transaccion);



            var solicitudesEncontrada = repositorioSolicitud.ObtenerPorFiltro(x => x.Activo == true).ToList();


            List <int> numMemosEncontrados = new List <int>();

            foreach (Tbl_Solicitudes solicitud in solicitudesEncontrada)
            {
                numMemosEncontrados.Add(solicitud.NumeroMemo);
            }

            // int numMemo;

            int numMemo = solicitudesEncontrada.Count() == 0 ? 0 : numMemosEncontrados.Max();

            //      int numMemoGuardar = numMemo == 0 ? 1 : numMemosEncontrados.Max();

            numMemo += 1;

            int valorADevolver = 0;

            foreach (SolicitudCreadaDTO solicitud in solicitudCreada)
            {
                Tbl_CuentasBancarias cuentaEncontrada = repositorioCuentaBancaria.Obtener(x => x.Cuenta.Trim() == solicitud.cuentaBanco.Trim());

                Tbl_Solicitudes nuevoBancoSolicitud = new Tbl_Solicitudes();

                nuevoBancoSolicitud.NumeroMemo       = numMemo;
                nuevoBancoSolicitud.IdCuentaBancaria = cuentaEncontrada.Id;
                nuevoBancoSolicitud.Cantidad         = Convert.ToInt32(solicitud.cantidadFormas);
                nuevoBancoSolicitud.FolioInicial     = solicitud.fInicial;
                nuevoBancoSolicitud.FechaSolicitud   = DateTime.Now.Date;
                nuevoBancoSolicitud.Activo           = true;

                var entidadGuardada = repositorioSolicitud.Agregar(nuevoBancoSolicitud);

                if (entidadGuardada != null)
                {
                    valorADevolver = numMemo;
                }
            }

            return(valorADevolver);
        }
Ejemplo n.º 2
0
        public static List <InventarioContenedoresDTO> ObtenerInfoContendoresPorBanco(string NombreBanco)
        {
            var transaccion = new Transaccion();
            var repositorio = new Repositorio <Tbl_CuentasBancarias>(transaccion);
            Tbl_CuentasBancarias cuentaEncontrada = repositorio.Obtener(x => x.NombreBanco.Trim() == NombreBanco.Trim());

            int IdInventario = Convert.ToInt32(cuentaEncontrada.IdInventario);

            var repositorio2            = new Repositorio <Tbl_InventarioContenedores>(transaccion);
            var contenedoresEncontrados = repositorio2.ObtenerPorFiltro(x => x.IdInventario == IdInventario && x.FormasDisponiblesActuales > 0 && x.Activo == true);



            List <InventarioContenedoresDTO> listaContenedores = new List <InventarioContenedoresDTO>();

            foreach (var contenedor in contenedoresEncontrados)
            {
                InventarioContenedoresDTO nuevoInhabilitado = new InventarioContenedoresDTO();

                nuevoInhabilitado.Banco                     = cuentaEncontrada.NombreBanco;
                nuevoInhabilitado.Cuenta                    = cuentaEncontrada.Cuenta;
                nuevoInhabilitado.Orden                     = contenedor.NumOrden;
                nuevoInhabilitado.Contenedor                = contenedor.NumContenedor;
                nuevoInhabilitado.FolioInicial              = contenedor.FolioInicial;
                nuevoInhabilitado.FolioFinal                = contenedor.FolioFinal;
                nuevoInhabilitado.FormasTotalesContenedor   = contenedor.FormasTotalesContenedor;
                nuevoInhabilitado.FormasDisponiblesActuales = contenedor.FormasDisponiblesActuales;
                nuevoInhabilitado.FormasInhabilitadas       = contenedor.FormasInhabilitadas;
                nuevoInhabilitado.FormasAsignadas           = contenedor.FormasAsignadas;
                nuevoInhabilitado.FechaAlta                 = contenedor.FechaAlta.ToString("dd/MM/yyyy");


                listaContenedores.Add(nuevoInhabilitado);
            }



            return(listaContenedores);
        }
Ejemplo n.º 3
0
        public static List <ReporteInventarioGeneralDTO> ObtenerInventarioGeneralDatosReporte(int MesSelecionado, int AnioCurso)
        {
            var transaccion = new Transaccion();
            var repositorioCuentaBancaria = new Repositorio <Tbl_CuentasBancarias>(transaccion);
            var repositorioBanco          = new Repositorio <Tbl_Inventario>(transaccion);
            var repositorioContenedor     = new Repositorio <Tbl_InventarioContenedores>(transaccion);
            var repositorioDetalle        = new Repositorio <Tbl_InventarioDetalle>(transaccion);

            //obtener inventario para usar sus ID's
            var inventarioEncontrado = repositorioBanco.ObtenerPorFiltro(x => x.FormasDisponibles > 0 && x.Activo == true);


            List <ReporteInventarioGeneralDTO> datosReporteInventarioGeneral = new List <ReporteInventarioGeneralDTO>();

            // List<int> IdContenedor;

            foreach (var inventario in inventarioEncontrado)
            {
                //obtener contenedores por el Id de su inventario
                var contenedoresEncontradosPorIdInventario = repositorioContenedor.ObtenerPorFiltro(x => x.IdInventario == inventario.Id).ToList();

                //selecciona los ids de los contenedores encontrados
                var idsContenedoresEncontrados = contenedoresEncontradosPorIdInventario.Select(x => x.Id).ToList();

                //obtiene los registros de numeros de folios encontrados
                var formasDePagoConsumidadMes = repositorioDetalle.ObtenerPorFiltro(x => x.IdContenedor >= idsContenedoresEncontrados.Min() && x.IdContenedor <= idsContenedoresEncontrados.Max() && x.IdIncidencia != null && x.FechaIncidencia.Value.Year == AnioCurso && x.FechaIncidencia.Value.Month == MesSelecionado && x.Activo == true).ToList();


                var detellesEncontrados = repositorioDetalle.ObtenerPorFiltro(x => x.IdContenedor >= idsContenedoresEncontrados.Min() && x.IdContenedor <= idsContenedoresEncontrados.Max() && x.IdIncidencia == null && x.Activo == true).Select(y => y.Id).ToList();

                Tbl_CuentasBancarias        cuentaEncontrada = repositorioCuentaBancaria.Obtener(x => x.IdInventario == inventario.Id && x.Activo == true);
                ReporteInventarioGeneralDTO nuevoDato        = new ReporteInventarioGeneralDTO();


                if (detellesEncontrados.Count() > 0)
                {
                    // var a =  repositorioDetalle.Obtener(x => x.Id == detellesEncontrados.Min()).NumFolio;
                    int idMinimo = detellesEncontrados.Min();
                    int idMaximo = detellesEncontrados.Max();
                    //Tbl_InventarioDetalle detalleminimo = repositorioDetalle.Obtener(x => x.Id == idMinimo);


                    nuevoDato.NombreBanco              = cuentaEncontrada.NombreBanco;
                    nuevoDato.Cuenta                   = cuentaEncontrada.Cuenta;
                    nuevoDato.FolioInicialExistente    = repositorioDetalle.Obtener(x => x.Id == idMinimo).NumFolio;
                    nuevoDato.FolioFinalExistente      = repositorioDetalle.Obtener(x => x.Id == idMaximo).NumFolio;
                    nuevoDato.TotalFormasPago          = detellesEncontrados.Count();
                    nuevoDato.ConsumoMensualAproximado = Convert.ToString(formasDePagoConsumidadMes.Count());

                    //if (inventario.FormasUsadasQuincena1 != null && inventario.FormasUsadasQuincena2 != null)
                    //{
                    //    nuevoDato.ConsumoMensualAproximado = Convert.ToString(inventario.FormasDisponibles / (inventario.FormasUsadasQuincena1 + inventario.FormasUsadasQuincena2));
                    //}
                    //if (inventario.FormasUsadasQuincena1 != null)
                    //{
                    //    nuevoDato.ConsumoMensualAproximado = Convert.ToString(inventario.FormasDisponibles / (inventario.FormasUsadasQuincena1 * 2));
                    //}

                    //Saber si se necesitan pedir formas de pago a cada 4 meses
                    if (nuevoDato.ConsumoMensualAproximado != null && Convert.ToInt32(nuevoDato.ConsumoMensualAproximado) != 0)
                    {
                        if ((inventario.FormasDisponibles / Convert.ToDecimal(nuevoDato.ConsumoMensualAproximado)) <= 4)
                        {
                            nuevoDato.SolicitarFormas = "si";
                        }
                        else
                        {
                            nuevoDato.SolicitarFormas = "No";
                        }
                    }
                    else
                    {
                        nuevoDato.SolicitarFormas = "No";
                    }



                    //  nuevoDato.SolicitarFormas = ( inventario.FormasDisponibles / Convert.ToDecimal(nuevoDato.ConsumoMensualAproximado)) <= 4 ? nuevoDato.SolicitarFormas = "si" : nuevoDato.SolicitarFormas = "No";


                    datosReporteInventarioGeneral.Add(nuevoDato);
                }
            }
            return(datosReporteInventarioGeneral);
        }
        public static bool AgregarCuentaBancariaEInventario(string NombreCuenta, string NumeroCuenta, string Abreviatura, int TipoPago, DateTime fechaActual)
        {
            bool bandera = false;

            var transaccion = new Transaccion();


            if (TipoPago == 1)
            {
                var repositorioCuentaBancaria = new Repositorio <Tbl_CuentasBancarias>(transaccion);

                Tbl_CuentasBancarias NuevaCuenta = new Tbl_CuentasBancarias();
                NuevaCuenta.NombreBanco = NombreCuenta.ToUpper();
                NuevaCuenta.Abreviatura = Abreviatura.ToUpper().Substring(0, 5);
                NuevaCuenta.Cuenta      = NumeroCuenta;
                NuevaCuenta.IdCuentaBancaria_TipoPagoCuenta = TipoPago;
                NuevaCuenta.IdInventario  = null;
                NuevaCuenta.FechaCreacion = fechaActual;
                NuevaCuenta.FechaBaja     = null;
                NuevaCuenta.Activo        = true;

                Tbl_CuentasBancarias cuentaAgregada = repositorioCuentaBancaria.Agregar(NuevaCuenta);


                if (cuentaAgregada.Id > 0)
                {
                    bandera = true;
                }
            }



            if (TipoPago > 1)
            {
                var repositorioInventario = new Repositorio <Tbl_Inventario>(transaccion);

                Tbl_Inventario nuevoInventario = new Tbl_Inventario();
                nuevoInventario.FormasDisponibles     = 0;
                nuevoInventario.UltimoFolioInventario = null;
                nuevoInventario.Activo = true;

                Tbl_Inventario inventarioAgregado = repositorioInventario.Agregar(nuevoInventario);



                var repositorioCuentaBancaria = new Repositorio <Tbl_CuentasBancarias>(transaccion);

                Tbl_CuentasBancarias NuevaCuenta = new Tbl_CuentasBancarias();
                NuevaCuenta.NombreBanco = NombreCuenta.ToUpper();
                NuevaCuenta.Abreviatura = Abreviatura.ToUpper().Substring(0, 5);
                NuevaCuenta.Cuenta      = NumeroCuenta;
                NuevaCuenta.IdCuentaBancaria_TipoPagoCuenta = TipoPago;
                NuevaCuenta.IdInventario  = inventarioAgregado.Id;
                NuevaCuenta.FechaCreacion = fechaActual;
                NuevaCuenta.FechaBaja     = null;
                NuevaCuenta.Activo        = true;

                Tbl_CuentasBancarias cuentaAgregada = repositorioCuentaBancaria.Agregar(NuevaCuenta);


                if (cuentaAgregada.Id > 0)
                {
                    bandera = true;
                }
            }


            return(bandera);
        }