public ViewResult Index(ServiceParameterVM parameters) { ModelState.Clear(); ViewBag.PageSize = parameters.pageSize; ViewBag.PageNumber = parameters.pageNumber; ViewBag.SearchString = parameters.searchString; ViewBag.fechaInicio = parameters.fechaInicio != null ? ((DateTime)parameters.fechaInicio).GetCurrentTime().ToShortDateString() : ""; ViewBag.FechaFin = parameters.fechaFin != null ? ((DateTime)parameters.fechaFin).GetCurrentTime().ToShortDateString() : ""; ViewBag.OnlyAplicados = parameters.onlyAplicados; ViewBag.PayCenterId = parameters.PayCenterId; ViewBag.PayCenterName = parameters.PayCenterName; return View(getEstadoDeCuenta(parameters)); }
private SimpleGridResult<EstadoCuentaVM> getEstadoDeCuenta(ServiceParameterVM Parameters = null) { IEnumerable<SP_MovimientosSel_Result> movimientos; if (PayCenterId == 0) { //Le paso el 9 para que solome traiga el estado de cuenta de EvolucionaMovil movimientos = repository.GetMovimientosList(enumTipoCuenta.Pago_de_Servicios.GetHashCode(), ProveedorId: PROVEEDOR_EVOLUCIONAMOVIL); } else { //Julius:Comenté esta línea porque no filtraba solo los de Pago de servicios //movimientos = repository.GetMovimientosByPayCenterId(PayCenterId); //Le paso el 9 para que solome traiga el estado de cuenta de EvolucionaMovil movimientos = repository.GetMovimientosList(enumTipoCuenta.Pago_de_Servicios.GetHashCode(), PayCenterId, PROVEEDOR_EVOLUCIONAMOVIL); } SimpleGridResult<EstadoCuentaVM> simpleGridResult = new SimpleGridResult<EstadoCuentaVM>(); var estadosDeCuentaVM = movimientos.Where(x => ( Parameters == null || ( (Parameters.fechaInicio == null || (Parameters.fechaInicio < x.FechaCreacion)) && (Parameters.fechaFin == null || Parameters.fechaFin > x.FechaCreacion) && (Parameters.searchString == null || (x.UserName.ContainsInvariant(Parameters.searchString) || x.Clave.ContainsInvariant(Parameters.searchString) || ((enumMotivo)x.Motivo).ToString().ContainsInvariant(Parameters.searchString) || ((enumEstatusMovimiento)x.Status).ToString().ContainsInvariant(Parameters.searchString))) //Se modificó el valor APLICADO por PROCESANDO, debido a que es mas conveniente y no necesita mayor cambio && (Parameters.onlyAplicados?x.Status == enumEstatusMovimiento.Procesando.GetHashCode():true) ) ) ).Select(x => new EstadoCuentaVM { PayCenterId = x.PayCenterId, Motivo = ((enumMotivo)x.Motivo).ToString(), CuentaId = x.CuentaId, MovimientoId = x.MovimientoId, Id = x.Id, CuentaOrigenId = x.CuentaOrigenId, Clave = x.Clave, Comentarios =x.Comentarios, Concepto = x.Concepto + " - " + ((enumMotivo)x.Motivo).ToString(), Abono = x.IsAbono ? x.Monto.ToString("C2", ci) : string.Empty, Cargo = !x.IsAbono ? x.Monto.ToString("C2", ci) : string.Empty, Saldo = ((enumEstatusMovimiento)x.Status) == enumEstatusMovimiento.Procesando || ((enumEstatusMovimiento)x.Status) == enumEstatusMovimiento.Cancelado || !x.SaldoActual.HasValue ? "-" : ((decimal)x.SaldoActual).ToString("C2", ci), FechaCreacion = x.FechaCreacion.GetCurrentTime().ToString(), Status = x.Status }); if (PayCenterId > 0) { EstadoCuentaBR estadoCuentaBR = new EstadoCuentaBR(); var saldos = estadoCuentaBR.GetSaldosPagoServicio(PayCenterId); //todo:Checar que tipo de saldo debo de mostrar ViewData["Eventos"] = saldos.EventosDisponibles; ViewData["SaldoActual"] = saldos.SaldoActual.ToString("C"); ViewData["SaldoDisponible"] = saldos.SaldoDisponible.ToString("C"); } if (Parameters != null) { simpleGridResult.CurrentPage = Parameters.pageNumber; simpleGridResult.PageSize = Parameters.pageSize; if (Parameters.pageSize > 0) { var pageNumber = Parameters.pageNumber >= 0 ? Parameters.pageNumber : 0; simpleGridResult.CurrentPage = pageNumber; simpleGridResult.TotalRows = estadosDeCuentaVM.Count(); estadosDeCuentaVM = estadosDeCuentaVM.Skip(pageNumber * Parameters.pageSize).Take(Parameters.pageSize); } } simpleGridResult.Result = estadosDeCuentaVM; return simpleGridResult; }
private SimpleGridResult<ProspectoPaycenterVM> getProspectos(ServiceParameterVM Parameters = null) { var prospectos = repository.GetProspectosPayCenter(); //Aplicar filtros if (Parameters != null && (Parameters.fechaInicio != null || Parameters.fechaFin != null || Parameters.searchString != null)) { prospectos = prospectos.Where(x => (Parameters.fechaInicio == null || Parameters.fechaInicio <= x.FechaCreacion) && (Parameters.fechaFin == null || Parameters.fechaFin >= x.FechaCreacion) && ((string.IsNullOrEmpty(Parameters.searchString) || x.Nombre.Contains(Parameters.searchString)) || (string.IsNullOrEmpty(Parameters.searchString) || x.Email.Contains(Parameters.searchString))) ); } prospectos = prospectos.OrderByDescending(x => x.ProspectoId); SimpleGridResult<ProspectoPaycenterVM> simpleGridResult = new SimpleGridResult<ProspectoPaycenterVM>(); IEnumerable<ProspectoPaycenterVM> ProspectosPaged = null; if (Parameters != null) { simpleGridResult.CurrentPage = Parameters.pageNumber; simpleGridResult.PageSize = Parameters.pageSize; if (Parameters.pageSize > 0) { var pageNumber = Parameters.pageNumber >= 0 ? Parameters.pageNumber : 0; simpleGridResult.CurrentPage = pageNumber; simpleGridResult.TotalRows = prospectos.Count(); ProspectosPaged = prospectos.Skip(pageNumber * Parameters.pageSize).Take(Parameters.pageSize); } } simpleGridResult.Result = ProspectosPaged.OrderByDescending(x => x.FechaCreacion); return simpleGridResult; }
public string GetProspectos(ServiceParameterVM parameters) { var ProspectosResult = getProspectos(parameters); return Newtonsoft.Json.JsonConvert.SerializeObject(ProspectosResult); }
private SimpleGridResult<PagoServicioVM> getPagosServicio(ServiceParameterVM Parameters = null) { IEnumerable<SP_PagosSel_Result> pagos; pagos = repository.GetPagosList(PayCenterId); SimpleGridResult<PagoServicioVM> simpleGridResult = new SimpleGridResult<PagoServicioVM>(); var pagosServicioVM = pagos.Where(x => (Parameters == null || ( (Parameters.fechaInicio == null || (Parameters.fechaInicio < x.FechaCreacion)) && (Parameters.fechaFin == null || Parameters.fechaFin > x.FechaCreacion) //Se modificó el valor APLICADO por PROCESANDO, debido a que es mas conveniente y no necesita mayor cambio && (Parameters.onlyAplicados ? x.Status == enumEstatusMovimiento.Procesando.GetHashCode() : true) ) ) ).Select(x => new PagoServicioVM { PayCenterId = x.PayCenterId != null ? (int)x.PayCenterId : 0, Folio = x.Folio != null ? x.Folio : "NA", Servicio = x.Servicio, NombreCliente = x.ClienteNombre, PayCenterName = x.Nombre != null ? x.Nombre : "[Desconocido]", PagoId = x.PagoId, //todo:Optimizar esta consulta para que no haga un load por cada registro que levante. Comentarios = x.Comentarios != null? x.Comentarios : "Sin comentarios", Monto = x.Importe.ToString("C"), FechaCreacion = x.FechaCreacion.GetCurrentTime().ToString(), FechaVencimiento = x.FechaVencimiento.GetCurrentTime().ToString(), Status = ((enumEstatusMovimiento)x.Status).ToString() }); //Filtrar por searchString: Lo puse después del primer filtro porque se complicaba obtener los strings de las tablas referenciadas como bancos, cuenta bancaria, etc. if (Parameters != null && !string.IsNullOrEmpty(Parameters.searchString)) { pagosServicioVM = pagosServicioVM.Where(x => Parameters.searchString == null || ( x.Comentarios.ContainsInvariant(Parameters.searchString) || x.Folio.ContainsInvariant(Parameters.searchString) || x.NombreCliente.ContainsInvariant(Parameters.searchString) || x.Servicio.ContainsInvariant(Parameters.searchString) || x.Status.ContainsInvariant(Parameters.searchString) )); } //Estas líneas están de más, ya que el filtro se aplicó arriba //if (Parameters != null && Parameters.onlyAplicados) // //Se modificó el valor APLICADO por PROCESANDO, debido a que es mas conveniente y no necesita mayor cambio // pagosServicioVM = pagosServicioVM.Where(x => x.Status == enumEstatusMovimiento.Procesando.ToString()); if (Parameters != null && !string.IsNullOrEmpty(Parameters.searchString)) pagosServicioVM = pagosServicioVM.Where(x => x.NombreCliente.ToLower().Contains(Parameters.searchString.ToLower()) || x.Servicio.ToLower().Contains(Parameters.searchString.ToLower())); if (PayCenterId > 0) { EstadoCuentaBR estadoCuentaBR = new EstadoCuentaBR(); var saldos = estadoCuentaBR.GetSaldosPagoServicio(PayCenterId); //todo:Checar que tipo de saldo debo de mostrar ViewData["Eventos"] = saldos.EventosDisponibles; ViewData["SaldoActual"] = saldos.SaldoActual.ToString("C"); ViewData["SaldoDisponible"] = saldos.SaldoDisponible.ToString("C"); } if (Parameters != null) { simpleGridResult.CurrentPage = Parameters.pageNumber; simpleGridResult.PageSize = Parameters.pageSize; if (Parameters.pageSize > 0) { var pageNumber = Parameters.pageNumber >= 0 ? Parameters.pageNumber : 0; simpleGridResult.CurrentPage = pageNumber; simpleGridResult.TotalRows = pagosServicioVM.Count(); pagosServicioVM = pagosServicioVM.Skip(pageNumber * Parameters.pageSize).Take(Parameters.pageSize); } } simpleGridResult.Result = pagosServicioVM; return simpleGridResult; }
public string GetPagoServicios(ServiceParameterVM parameters) { var pagoServiciosResult = getPagosServicio(parameters); return Newtonsoft.Json.JsonConvert.SerializeObject(pagoServiciosResult); }
private SimpleGridResult<DepositoVM> getDepositos(ServiceParameterVM Parameters = null) { IEnumerable<Abono> depositos; if (PayCenterId == 0 && Parameters.ProveedorId == 0) { depositos = repository.ListAll().OrderByDescending(m => m.FechaCreacion); } else { if (PayCenterId > 0 && Parameters.ProveedorId > 0) { depositos = repository.GetByPayCenterIdProveedorId(PayCenterId, Parameters.ProveedorId).OrderByDescending(m => m.FechaCreacion); } else { if (PayCenterId > 0) { depositos = repository.GetByPayCenterId(PayCenterId).OrderByDescending(m => m.FechaCreacion); } else { depositos = repository.GetByProveedorId(Parameters.ProveedorId).OrderByDescending(m => m.FechaCreacion); } } } var bancos = new BancosRepository().ListAll(); SimpleGridResult<DepositoVM> simpleGridResult = new SimpleGridResult<DepositoVM>(); var abonosVM = depositos.Where(x => (Parameters == null || ( (Parameters.fechaInicio == null || (Parameters.fechaInicio < x.FechaCreacion)) && (Parameters.fechaFin == null || Parameters.fechaFin > x.FechaCreacion) //Se modificó el valor APLICADO por PROCESANDO, debido a que es mas conveniente y no necesita mayor cambio && (Parameters.onlyAplicados ? x.Status == enumEstatusMovimiento.Procesando.GetHashCode() : true) ) ) ).Select(x => new DepositoVM { AbonoId = x.AbonoId, PayCenterId = x.PayCenterId, Banco = getBancoById(x.BancoId, ref bancos), Comentarios = getComentarioCambioEstatus(x.AbonoId), CuentaBancaria = getCuentaById(x.CuentaBancariaId, ref bancos), FechaPago = x.FechaPago.GetCurrentTime().ToShortDateString(), FechaCreacion = x.FechaCreacion.GetCurrentTime().ToShortDateString(), Monto = x.Monto.ToString("C"), PayCenter = x.PayCenter.UserName, Referencia = x.Referencia, Status = x.Status, TipoCuenta = ((enumTipoCuenta)x.CuentaPayCenter.TipoCuenta).ToString(), ProveedorName = GetNombreProveedor(x.ProveedorId), Clave = x.Clave }); //Filtrar por searchString: Lo puse después del primer filtro porque se complicaba obtener los strings de las tablas referenciadas como bancos, cuenta bancaria, etc. if (Parameters != null && !string.IsNullOrEmpty(Parameters.searchString)) { abonosVM = abonosVM.Where(x => Parameters.searchString == null || ( x.Referencia.ContainsInvariant(Parameters.searchString) || x.Banco.ContainsInvariant(Parameters.searchString) || x.CuentaBancaria.ContainsInvariant(Parameters.searchString) || x.TipoCuenta.ContainsInvariant(Parameters.searchString) || x.StatusString.ContainsInvariant(Parameters.searchString) || ((enumEstatusMovimiento)x.Status).ToString().ContainsInvariant(Parameters.searchString) || x.Clave.ContainsInvariant(Parameters.searchString) )); } if (Parameters != null) { simpleGridResult.CurrentPage = Parameters.pageNumber; simpleGridResult.PageSize = Parameters.pageSize; if (Parameters.pageSize > 0) { var pageNumber = Parameters.pageNumber >= 0 ? Parameters.pageNumber : 0; simpleGridResult.CurrentPage = pageNumber; simpleGridResult.TotalRows = abonosVM.Count(); abonosVM = abonosVM.Skip(pageNumber * Parameters.pageSize).Take(Parameters.pageSize); } } simpleGridResult.Result = abonosVM; return simpleGridResult; }
private SimpleGridResult<PayCenterVM> getPaycenters(ServiceParameterVM Parameters = null) { var paycenters = repository.ListAll(); //Aplicar filtros if (Parameters != null && (Parameters.fechaInicio != null || Parameters.fechaFin != null || Parameters.searchString != null)) { //Separar el searchString para obtener el filtro de estatus y el de nombre string filtroEstatus = null, filtroNombre = null; if (Parameters.searchString != null) { string[] filtros = Parameters.searchString.Split(','); filtroEstatus = filtros[0]; if (filtros.Length > 1) filtroNombre = filtros[1]; } //<author>Moisés Cauich</author> //<comments>Se cambió el where porque ya no se usan el searchString directamente, se usan las variables string obenenidas en el paso anterior</comments> //<before> //paycenters = paycenters.Where(x => (Parameters.fechaInicio == null || Parameters.fechaInicio <= x.FechaIngreso) // && (Parameters.fechaFin == null || Parameters.fechaFin >= x.FechaIngreso) // && (Parameters.searchString == null || Parameters.searchString == "Todos" // || (Parameters.searchString == "Activo" && x.Activo == true) // || (Parameters.searchString == "Inactivo" && x.Activo == false))); //</before> //<after> paycenters = paycenters.Where(x => (Parameters.fechaInicio == null || Parameters.fechaInicio <= x.FechaIngreso) && (Parameters.fechaFin == null || Parameters.fechaFin >= x.FechaIngreso) && (string.IsNullOrEmpty(filtroEstatus) || filtroEstatus == "Todos" || (filtroEstatus == "Activo" && x.Activo == true) || (filtroEstatus == "Inactivo" && x.Activo == false)) && (string.IsNullOrEmpty(filtroNombre) || x.UserName.Contains(filtroNombre))); //</after> } paycenters = paycenters.OrderByDescending(x => x.PayCenterId); SimpleGridResult<PayCenterVM> simpleGridResult = new SimpleGridResult<PayCenterVM>(); IEnumerable<PayCenter> paycentersPaged = null; if (Parameters != null) { simpleGridResult.CurrentPage = Parameters.pageNumber; simpleGridResult.PageSize = Parameters.pageSize; if (Parameters.pageSize > 0) { var pageNumber = Parameters.pageNumber >= 0 ? Parameters.pageNumber : 0; simpleGridResult.CurrentPage = pageNumber; simpleGridResult.TotalRows = paycenters.Count(); paycentersPaged = paycenters.Skip(pageNumber * Parameters.pageSize).Take(Parameters.pageSize); } } simpleGridResult.Result = paycentersPaged.ToListOfDestination<PayCenterVM>().OrderByDescending(x => x.FechaCreacion); return simpleGridResult; }
public string GetPayCenters(ServiceParameterVM parameters) { var estadoCuentaResult = getPaycenters(parameters); return Newtonsoft.Json.JsonConvert.SerializeObject(estadoCuentaResult); }