/// <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); }
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); }
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); }