public PartialViewResult Buscar(GestionPagoViewModel view = null, String init = null)
        {

            var listaPagos = new TFPagoServicioNegocio();
            var multitablaNegocio = new MultitablaNegocio();

            if (view == null)
            {
                view = new GestionPagoViewModel();
            }

            if (view.ListaEstados == null || view.ListaEstados.Count <= 0)
            {
                List<ElementoVob> listadoEstados = multitablaNegocio.BuscarElementos(GrupoTabla.EstadoSolicitudPagoServicio);
                List<ElementoVob> listadoEstadosNew = new List<ElementoVob>();
                ElementoVob inicial = new ElementoVob();
                inicial.Valor = "-1";
                inicial.Texto = "Seleccionar";
                listadoEstadosNew.Add(inicial);

                foreach (ElementoVob obj in listadoEstados)
                {
                    listadoEstadosNew.Add(obj);
                }


                view.ListaEstados = listadoEstadosNew.LlenarTT();
            }

            SolicitudBusquedaSolicitudPagoServVob request = new SolicitudBusquedaSolicitudPagoServVob();
            request.SolicitudPagoServFilter = view.FiltroBusqueda;
            if (init != null && init.Equals("true"))
            {
                request.SolicitudPagoServFilter.CodEstadoSolicitud = "0010001";
            }

            RespuestaBusquedaSolicitudPagoServVob respuesta = listaPagos.BuscarSolicitudesPagoSericio(request);

            //var GestionPagoVM = new GestionPagoViewModel();
            view.ListaSolicitudes = respuesta.listaSolicitudPagoServicio;

            return PartialView("_Index", view);
        }
        //public ActionResult Calificar(string submit1, string submit2, ReciboProvisionalVob reciboProvisional, int id = 0)
        public ActionResult Pagar(string submit1, string submit2, string submit3, SolicitudPagoServicioVob SolicitudPagoServicio, string SolicitudPagoServicio_Monto, int id = 0, String tipoTran=null)
        {
            try
            {

                if (submit1 == "Pagar")
                {

                    //if (SolicitudPagoServicio.c == "0006001")
                    //{
                    //    SolicitudPagoServicio. = null;
                    //}

                    //var areaNegocio = new TFReciboProvisionalNegocio();

                    //areaNegocio.ModificarReciboProvisional(reciboProvisional);

                    var PagoServicios = new TFPagoServicioNegocio();
                    PagoServicioVob _PagoServicioVob = new PagoServicioVob();
                    _PagoServicioVob.FechaPago = DateTime.Now;
                    _PagoServicioVob.DescMonedaPago = SolicitudPagoServicio.DesMoneda;
                    _PagoServicioVob.DescFormaPago = SolicitudPagoServicio.DesForPago;
                    _PagoServicioVob.MontoPago = SolicitudPagoServicio.Monto;
                    _PagoServicioVob.CodEstadoPago = "0011001";
                    _PagoServicioVob.CodFormaPago = SolicitudPagoServicio.CodForPago;
                    _PagoServicioVob.CodMonedaPago = SolicitudPagoServicio.CodMoneda;
                    _PagoServicioVob.CodTipoCambio = SolicitudPagoServicio.CodTipoCambio;
                    _PagoServicioVob.SolicitudPagoServicio = SolicitudPagoServicio;
                    _PagoServicioVob.SolicitudPagoServicio.CodEstadoSolicitud = "0010002";

                    PagoServicios.AgregarPagoServicio(_PagoServicioVob);
                    //"Pagar", new { id = item.NumSolicitudPago })

                   // return RedirectToAction("Buscar", "GestionPagoBandeja", new { init = "true" });
                    return RedirectToAction("Pagar", "GestionPagoBandeja", new { tipoTran="1" });
                }
                else if (submit2 == "Anular")
                {
                    var pagoServiciosNego = new TFPagoServicioNegocio();
                    SolicitudPagoServicio.CodEstadoSolicitud = "0010003";
                    pagoServiciosNego.ModificarEstadoSolicitudPagoServicio(SolicitudPagoServicio);

                    //return RedirectToAction("Buscar", "GestionPagoBandeja", new { init = "true" });
                    return RedirectToAction("Pagar", "GestionPagoBandeja", new { tipoTran = "2" });
                }
                else if (submit3 == "Cancelar")
                {
                    return RedirectToAction("Buscar", "GestionPagoBandeja", new { init = "true" });
                }
                else
                {

                    var multitablaNegocio = new MultitablaNegocio();
                    var listaPagos = new TFPagoServicioNegocio();
                    var view = new GestionPagoViewModel();
                    view.tipoTransaccion = tipoTran;
                    if (view.ListaEstados == null || view.ListaEstados.Count <= 0)
                    {
                        List<ElementoVob> listadoEstados = multitablaNegocio.BuscarElementos(GrupoTabla.EstadoReciboProvisional);
                        List<ElementoVob> listadoEstadosNew = new List<ElementoVob>();
                        ElementoVob inicial = new ElementoVob();
                        inicial.Valor = "-1";
                        inicial.Texto = "Seleccionar";
                        listadoEstadosNew.Add(inicial);

                        foreach (ElementoVob obj in listadoEstados)
                        {
                            if (!"Pendiente".Equals(obj.Texto))
                            {
                                listadoEstadosNew.Add(obj);
                            }
                        }


                        view.ListaEstados = listadoEstadosNew.LlenarTT();
                    }

                    if (view.ListaMonedas == null || view.ListaMonedas.Count <= 0)
                    {
                        List<ElementoVob> listaMonedas = multitablaNegocio.BuscarElementos(GrupoTabla.TipoMoneda);
                        List<ElementoVob> listaMonedasNew = new List<ElementoVob>();
                        ElementoVob inicial = new ElementoVob();
                        inicial.Valor = "-1";
                        inicial.Texto = "Seleccionar";
                        listaMonedasNew.Add(inicial);

                        foreach (ElementoVob obj in listaMonedas)
                        {
                            if (!"Pendiente".Equals(obj.Texto))
                            {
                                listaMonedasNew.Add(obj);
                            }
                        }


                        view.ListaMonedas = listaMonedasNew.LlenarTT();
                    }

                    if (view.ListaFormaPago == null || view.ListaFormaPago.Count <= 0)
                    {
                        List<FormaPagoVob> listaFormaPago = listaPagos.listaFormaPago();
                        List<ElementoVob> listaFormaPagoNew = new List<ElementoVob>();
                        ElementoVob inicial = new ElementoVob();
                        inicial.Valor = "-1";
                        inicial.Texto = "Seleccionar";
                        listaFormaPagoNew.Add(inicial);

                        foreach (FormaPagoVob obj in listaFormaPago)
                        {
                            ElementoVob elemento = new ElementoVob();
                            elemento.Valor = obj.Codigo.ToString();
                            elemento.Texto = obj.Descripcion;
                            listaFormaPagoNew.Add(elemento);
                        }


                        view.ListaFormaPago = listaFormaPagoNew.LlenarTT();
                    }

                    SolicitudBusquedaSolicitudPagoServVob request = new SolicitudBusquedaSolicitudPagoServVob();
                    request.SolicitudPagoServFilter = new SolicitudPagoServicioVob();
                    request.SolicitudPagoServFilter.NumSolicitudPago = id;
                    RespuestaBusquedaSolicitudPagoServVob respuesta = listaPagos.BuscarSolicitudesPagoSericio(request);

                    view.SolicitudPagoServicio = respuesta.listaSolicitudPagoServicio[0];
                    view.SolicitudPagoServicio.FechaCorta = DateTime.Now.ToString("dd/MM/yyyy");
                    view.SolicitudPagoServicio.Hora = DateTime.Now.ToString("hh:mm:ss");
                    


                    return PartialView("FrmPago", view);
                }

            }
            catch (Exception ex)
            {
                return RedirectToAction("ErrorSistema", "Error", new { mensaje = ex.Message });
            }
        }
        public ActionResult Calificar(string submit1, string submit2, ReciboProvisionalVob reciboProvisional, int id = 0)
        {
            try
            {

                if (submit1 == "Grabar")
                {

                    if (reciboProvisional.Estado == "0006001")
                    {
                        reciboProvisional.MotivoRechazo = null;
                    }

                    var areaNegocio = new TFReciboProvisionalNegocio();

                     areaNegocio.ModificarReciboProvisional(reciboProvisional);

                     return RedirectToAction("Buscar", "GestionReciboBandeja", new { init = "true" });
                }
                else if (submit2 == "Cancelar")
                {
                    return RedirectToAction("Buscar", "GestionReciboBandeja", new { init = "true" });
                }
                else
                {
                    var multitablaNegocio = new MultitablaNegocio();
                    var reciboNegocio = new TFReciboProvisionalNegocio();
                    var view = new GestionReciboViewModel();

                    if (view.ListaEstados == null || view.ListaEstados.Count <= 0)
                    {
                        List<ElementoVob> listadoEstados = multitablaNegocio.BuscarElementos(GrupoTabla.EstadoReciboProvisional);
                        List<ElementoVob> listadoEstadosNew = new List<ElementoVob>();
                        ElementoVob inicial = new ElementoVob();
                        inicial.Valor = "-1";
                        inicial.Texto = "Seleccionar";
                        listadoEstadosNew.Add(inicial);

                        foreach(ElementoVob obj in listadoEstados){
                            if(!"Pendiente".Equals(obj.Texto)){
                                listadoEstadosNew.Add(obj);
                            }
                        }


                        view.ListaEstados = listadoEstadosNew.LlenarTT();
                    }


                    SolicitudBusquedaRecibosProvVob request = new SolicitudBusquedaRecibosProvVob();
                    request.ReciboProvisionalFilter = new ReciboProvisionalVob();
                    request.ReciboProvisionalFilter.NumeroRecibo = id;
                    RespuestaBusquedaRecibosProvVob respuesta = reciboNegocio.BuscarRecibosProvisionales(request);

                    view.reciboProvisional = respuesta.listRecibosProvisional[0];


                    return PartialView("FrmReciboProvisional", view);
                }
                
            }
            catch (Exception ex)
            {
                return RedirectToAction("ErrorSistema", "Error", new { mensaje = ex.Message });
            }
        }
        public PartialViewResult Buscar(GestionReciboViewModel view = null, String init=null)
        {
            var reciboNegocio = new TFReciboProvisionalNegocio();
            var multitablaNegocio = new MultitablaNegocio();
            var usuarioNegocio = new GCPUsuarioTrabajadorNegocio();
            if (view == null) {
                view = new GestionReciboViewModel();
            }

            if (view.ListaEstados == null || view.ListaEstados.Count<=0)
            {
                List<ElementoVob> listadoEstados = multitablaNegocio.BuscarElementos(GrupoTabla.EstadoReciboProvisional);
                List<ElementoVob> listadoEstadosNew = new List<ElementoVob>();
                ElementoVob inicial = new ElementoVob();
                inicial.Valor = "-1";
                inicial.Texto = "Seleccionar";
                listadoEstadosNew.Add(inicial);
                
                foreach (ElementoVob obj in listadoEstados)
                {
                    listadoEstadosNew.Add(obj);
                }


                view.ListaEstados = listadoEstadosNew.LlenarTT();
            }

            if (view.ListaTrabajadores == null || view.ListaTrabajadores.Count <= 0) {
                view.ListaTrabajadores=usuarioNegocio.Select(4);
            }
            

            SolicitudBusquedaRecibosProvVob request= new SolicitudBusquedaRecibosProvVob();
            
            request.ReciboProvisionalFilter = view.FiltroBusqueda;
            if(init!=null && init.Equals("true")){
                request.ReciboProvisionalFilter.CodEstado = "0006003";
            }
            RespuestaBusquedaRecibosProvVob respuesta = reciboNegocio.BuscarRecibosProvisionales(request);
            view.ListaSolicitudes = respuesta.listRecibosProvisional;

            return PartialView("_Index", view);
        }