private EstadoCuentaVM FillEstadoDeCuentaVM(Int32 id)
        {
            Movimiento movimiento = repository.LoadById(id);
            PayCentersRepository PayCentersRepository = new PayCentersRepository();
            PayCenter PayCenter = PayCentersRepository.LoadById(movimiento.PayCenterId);

            int cuentaId = movimiento.CuentasPayCenter.CuentaId;
            string cuenta = ((enumTipoCuenta)movimiento.CuentasPayCenter.TipoCuenta).ToString();
            string motivo = ((enumMotivo)movimiento.Motivo).ToString();

            BancosRepository BancoRepository = new BancosRepository();
            //BancoRepository.LoadById();

            EstadoCuentaVM EstadoCuentaVM = new EstadoCuentaVM()
            {
                PayCenterId = PayCenterId,
                MovimientoId = id,
                Clave = movimiento.Clave,
                MontoString = movimiento.Monto.ToString("C3"),
                FechaCreacion = movimiento.FechaCreacion.ToString(),
                Status = movimiento.Status,
                Cuenta = cuenta,
                PayCenterName = PayCenter.Nombre,
                Motivo = ((enumMotivo)movimiento.Motivo).ToString(),
                Saldo = (movimiento.SaldoActual != null ? ((decimal)movimiento.SaldoActual).ToString("C3") : "0"),
                isAbono = movimiento.IsAbono,
                HistorialEstatusVM = movimiento.Movimientos_Estatus.OrderByDescending(x => x.FechaCreacion).Select(x => new HistorialEstatusVM { Fecha = x.FechaCreacion.ToString(), Estatus = ((enumEstatusMovimiento)x.Status).ToString(), Comentarios = x.Comentarios, UserName = x.UserName }).ToList()
            };

            int RoleUser = GetRolUser(HttpContext.User.Identity.Name);

            ViewBag.RoleUser = RoleUser;

            return EstadoCuentaVM;
        }
        public ActionResult Report(ReporteDepositoVM model)
        {
            Succeed = true;
            if (PayCenterId <= 0)
            {
                //Preguntar de esta validación
                AddValidationMessage(enumMessageType.BRException, "No ha especificado un paycenter válido. Favor de especificarlo.");
                Succeed = false;
            }
            PayCentersRepository payCentersRepository = new PayCentersRepository();

            if (!(validations.IsValidReferenciaDeposito(model.Referencia, model.BancoId)))
            {
                //Preguntar de esta validación
                AddValidationMessage(enumMessageType.BRException,"La referencia especificada ya existe en el sistema. Favor de verificarla.");
                Succeed = false;
            }

            if (Convert.ToDateTime(model.FechaPago).CompareTo(DateTime.UtcNow.GetCurrentTime()) == 1)
            {
                AddValidationMessage(enumMessageType.BRException, "La fecha de depósito debe ser menor o igual a la fecha actual.");
                Succeed = false;
            }

            if (Succeed)
            {
                model.PayCenterName = PayCenterName;
                AbonoVM abonoVM = new AbonoVM();
                Mapper.Map(model, abonoVM);
                abonoVM.MontoString = ((decimal)model.Monto).ToString("C");
                abonoVM.Status = (Int16)enumEstatusMovimiento.Procesando;
                abonoVM.PayCenterId = PayCenterId;
                abonoVM.PayCenterName = PayCenterName;
                abonoVM.FechaCreacion = DateTime.UtcNow.GetCurrentTime();
                abonoVM.FechaPago = ((DateTime)model.FechaPago).GetCurrentTime();
                abonoVM.ProveedorId = model.ProveedorId;
                return View("Confirm", abonoVM);
            }
            else
            {
                //model.CuentasDeposito = GetProveedoresByTipoCuenta(PayCenterName);
                LlenarBancos_Cuentas();
                return View(model);
            }
        }
        public ViewResult Ticket(int id)
        {
            TicketVM ticketVM = new TicketVM();
            Ticket ticket = tRepository.LoadByPagoId(id);
            if (ticket == null)
            {
                AddValidationMessage(enumMessageType.UnhandledException, "No se ha encontrado el Ticket");
                return View(new TicketVM());
            }
            Mapper.CreateMap<Ticket, TicketVM>().ForMember(dest => dest.Pago, opt => opt.Ignore());
            Mapper.Map(ticket, ticketVM);
            ticketVM.FechaVencimiento = ticket.Pago.FechaCreacion;
            ticket.Pago.DetallePagos.ToList().ForEach(x => ticketVM.DetallePagos.Add(x));

            PayCentersRepository payCenterRepository = new PayCentersRepository();
            ViewBag.LogoPayCenter = payCenterRepository.GetLogotipo(PayCenterId);

            ParametrosRepository parametrosRepository = new ParametrosRepository();
            var parametrosPayCenter = parametrosRepository.GetParametrosPayCenter(PayCenterId);
            if (parametrosPayCenter != null)
            {
                @ViewBag.MostrarComision = parametrosPayCenter.MostrarComision;
            }
            return View(ticketVM);
        }
 public string FindPayCenter(string term)
 {
     PayCentersRepository payCentersRepository = new PayCentersRepository();
     var payCenters = payCentersRepository.GetPayCenterBySearchString(term).Select(x => new { label = x.UserName + " - " + x.Nombre, value = x.PayCenterId });
     return Newtonsoft.Json.JsonConvert.SerializeObject(payCenters);
 }