public PartialViewResult _UsuariosEmpresaUTPEditar(EmpresaUsuario empresaUsuario)
        {
            //if (ModelState.IsValid)
            //{
            TicketUTP ticket = (TicketUTP)Session["TicketUtp"];

            //empresaUsuario.Empresa.IdEmpresa = ticket.IdEmpresa;
            empresaUsuario.ModificadoPor = ticket.Usuario;

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            lnEmpresaUsuario.Actualizar(empresaUsuario);

            //Se actualiza la lista de usuarios de la empresa.
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
            //}
            //else
            //{
            //    var errors = ModelState.Select(x => x.Value.Errors)
            //               .Where(y => y.Count > 0)
            //               .ToList();

            //    int a = 0;
            //}
            //return PartialView("_AdministrarUsuarioEditar", empresaUsuario);
        }
        public ActionResult _UsuariosEmpresaLista(int nroPaginaActual, string nombre)
        {
            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(nroPaginaActual, Constantes.FILAS_POR_PAGINA_UTP, nombre);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
            //return PartialView("_UsuariosUTPLista");
        }
        public PartialViewResult _UsuariosEmpresaUTPCrear(EmpresaUsuario empresaUsuario)
        {
            //if (ModelState.IsValid)
            //{
            TicketUTP ticket = (TicketUTP)Session["TicketUTP"];

            empresaUsuario.CreadoPor = ticket.Usuario;
            empresaUsuario.Empresa.IdEmpresa = Convert.ToInt32(empresaUsuario.CodigoEmpresa);
            empresaUsuario.IdEmpresaLocacion = Convert.ToInt32(empresaUsuario.ListaUbicaciones);

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            lnEmpresaUsuario.Insertar(empresaUsuario);

            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
        }
        public ActionResult _EmpresaNuevaModal(VistaRegistroEmpresa empresa)
        {
            LNUsuario lnUsuario = new LNUsuario();
            StringBuilder mensajeDeError = new StringBuilder();
            if (lnUsuario.ValidarExistenciaEmpresa(empresa.PaisIdListaValor, empresa.IdentificadorTributario))
            {
                mensajeDeError.Append("La Empresa ya se encuentra registrada<br />");
            }
            if (mensajeDeError.ToString() == "")
            {
                LNEmpresa lnEmpresa = new LNEmpresa();
                //Empresa
                TicketUTP ticket = (TicketUTP)Session["TicketUTP"];
                empresa.CreadoPor = ticket.Usuario;

                empresa.EstadoIdListaValor = "EMPRNO"; //Estado de la empresa No Activa.
                //Ubicación
                empresa.EstadoLocacionIdListaValor = "LOSTNO"; //Estado NO ACTIVA. Se debe activar al momento que UTP active la cuenta.

                if (empresa.PaisIdListaValor == "PAIPER")
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.TextDistrito + ", " + empresa.TextoCiudad + ", " + empresa.TextoDepartamento;

                }
                else
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.DireccionDistritoLocacion + ", " + empresa.DireccionCiudadLocacion + ", " + empresa.DireccionDepartamentoLocacion;
                }

                lnEmpresa.Insertar(empresa);

                //Si el registro fue exitoso redireccionar a página de resultado.
                TempData["GuardaRegistroExitoso"] = "La Empresa <strong>" + empresa.NombreComercial
                + "</strong>se ha registrado con éxito. ";
                //Aquí debería enviarse un correo
                //return PartialView();
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                           .Where(y => y.Count > 0)
                           .ToList();
                //Variable temporal para poner el break
                int a = 0;
            }
            LNGeneral lnGeneral = new LNGeneral();
            ViewBag.PaisIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_PAIS), "IdListaValor", "Valor", empresa.PaisIdListaValor);
            ViewBag.SectorEmpresarial1IdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SECTOR_EMPRESARIAL), "IdListaValor", "Valor", empresa.SectorEmpresarial1IdListaValor);
            ViewBag.TipoLocacionIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_LOCACION), "IdListaValor", "Valor", empresa.TipoLocacionIdListaValor);
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor", empresa.TipoDocumentoIdListaValor);

            ViewBag.DireccionDepartamentoLocacion = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_Departamento), "IdListaValor", "Valor", empresa.DireccionDepartamentoLocacion);

            ViewBag.MensajeDeError = mensajeDeError;
            //return RedirectToAction("Empresas");

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;

            return PartialView("_ResultadoBusquedaEmpresas", lista);
        }