public PartialViewResult _UsuariosEmpresaUTPEditar(int id)
        {
            LNGeneral lnGeneral = new LNGeneral();
            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            EmpresaUsuario empresaUsuario = lnEmpresaUsuario.ObtenerPorIdEmpresaUsuario(id);

            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocacionesPorIdEmpresa(empresaUsuario.Empresa.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion", empresaUsuario.IdEmpresaLocacion);
            ViewBag.SexoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SEXO), "IdListaValor", "Valor", empresaUsuario.SexoIdListaValor);
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor", empresaUsuario.TipoDocumentoIdListaValor);
            ViewBag.RolIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ROL_USUARIO, "ROLE"), "IdListaValor", "Valor", empresaUsuario.RolIdListaValor);
            ViewBag.EstadoUsuarioIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ESTADO_USUARIO, "USEM"), "IdListaValor", "Valor", empresaUsuario.EstadoUsuarioIdListaValor);

            ViewBag.IdEmpresa = empresaUsuario.idEmpresa;

            //Se devuelve la lista parcial con el usuario.
            return PartialView("_UsuariosEmpresaUTP_Editar", empresaUsuario);
        }
        public PartialViewResult _VerDetalleEmpresaUbicaciones(int id)
        {
            int idEmpresa = id;

            //Se obtiene la información de la BD
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();
            List<VistaEmpresaLocacion> lista = lnEmpresaLocacion.ObtenerLocacionesPorIdEmpresa(id);

            return PartialView("_VerDetalleEmpresaUbicaciones", lista);

            //Se obtiene la información de la BD

            //return PartialView("_VerDetalleEmpresaUbicaciones");
        }
        /*
        public ActionResult BuscarDatosEmpresasUTP(int idempresa)
        {
            //string descripocn = "";

            LNAlumno lnAlumno = new LNAlumno();
            EmpresaUsuario vista = new EmpresaUsuario();
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            DataTable dtResultado = lnAlumno.Utp_BuscarDatosListaEmpresas(idempresa);

            if (dtResultado.Rows.Count > 0)
            {

                //vista.idEmpresa =Convert.ToInt32 (dtResultado.Rows[0]["IdEmpresa"]);

                vista.CodigoEmpresa = dtResultado.Rows[0]["IdEmpresa"].ToString();

                vista.ListaUbicaciones = dtResultado.Rows[0]["IdEmpresaLocacion"].ToString();

            }

            return Json(vista, JsonRequestBehavior.AllowGet);

        }*/
        public JsonResult BuscarDatosEmpresasUTP(int id)
        {
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();
            List<VistaEmpresaLocacion> listVistaEmpresaLocacion = lnEmpresaLocacion.ObtenerLocacionesPorIdEmpresa(id);
            //List<SelectListItem> li = new List<SelectListItem>();

            return Json(new SelectList(listVistaEmpresaLocacion, "IdEmpresaLocacion", "NombreLocacion"), JsonRequestBehavior.AllowGet);
        }
        public PartialViewResult _UsuariosEmpresaUTPCrear()
        {
            LNGeneral lnGeneral = new LNGeneral();

            EmpresaUsuario empresaUsuario = new EmpresaUsuario();
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            ViewBag.ListaUbicaciones = new SelectList(new List<String>());//lnEmpresaLocacion.ObtenerLocaciones(0), "IdEmpresaLocacion", "NombreLocacion");
            ViewBag.SexoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SEXO), "IdListaValor", "Valor");
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor");

            //Obtiene todos registros que contengan la palabra "empresa".
            ViewBag.RolIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ROL_USUARIO, "ROLE"), "IdListaValor", "Valor");

            ViewBag.EstadoUsuarioIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ESTADO_USUARIO, "USEM"), "IdListaValor", "Valor");

            return PartialView("_UsuariosEmpresaUTP_Crear", empresaUsuario);
        }
        public ActionResult OfertaLaboral(string id)
        {
            string idLegible = Utiles.Helper.Desencriptar(id);

            int idOferta = Convert.ToInt32(idLegible);

            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            Oferta oferta = lnOferta.ObtenerPorId(idOferta);

            LNGeneral lnGeneral = new LNGeneral();
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            //Se cargan los combos:
            ViewBag.TipoCargoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CARGO), "IdListaValor", "Valor", oferta.TipoCargoIdListaValor);
            ViewBag.TipoTrabajoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_TRABAJO), "IdListaValor", "Valor", oferta.TipoTrabajoIdListaValor);
            ViewBag.TipoContratoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CONTRATO), "IdListaValor", "Valor", oferta.TipoContratoIdListaValor);
            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion", oferta.IdEmpresaLocacion);
            ViewBag.RecibeCorreosIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_OFERTA_RECIBECORREOS), "IdListaValor", "Valor", oferta.RecibeCorreosIdListaValor);
            //TempData["ListaCarrerasDisponibles"] = new SelectList(oferta.CarrerasDisponibles, "IdListaValor", "Valor");

            if (oferta.EstadoOferta == Constantes.OFERTA_ESTADO_BORRADOR) ViewBag.Disabled = "disabled";
            else ViewBag.Disabled = "";

            //Se agrega el estado del estudio para las carreras:
            ViewBag.EstadoCarreraUTP = new SelectList(lnGeneral.ObtenerListaValorOfertaEstudiosUTP(Constantes.IDLISTA_ESTADO_DEL_ESTUDIO), "IdListaValor", "Valor");

            Session["CarrerasDisponibles"] = oferta.CarrerasDisponibles;
            Session["CarrerasSeleccionadas"] = oferta.CarrerasSeleccionadas; //Se agrega a sesión las carreras seleccionadas.

            return View("OfertaLaboral", oferta);
        }
        public ActionResult OfertaLaboral(Oferta oferta)
        {
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];
            var cantidadCarreras = ((List<OfertaEstudio>)(Session["CarrerasSeleccionadas"])).Count; //Se contabilizan la cantidad de carreras seleccionadas.
            if (ModelState.IsValid && cantidadCarreras > 0)
            {
                //oferta.UsuarioPropietarioEmpresa = "";
                oferta.ModificadoPor = ticket.Usuario;

                //12FEB: Si el estado actual es BORRADOR debe cambiar a EN CONSTRUCCION:
                if (oferta.EstadoOferta == Constantes.OFERTA_ESTADO_BORRADOR) oferta.EstadoOferta = Constantes.OFERTA_ESTADO_ENCONSTRUCCION;

                //Se actualizan las fase de la oferta:
                //foreach (var item in oferta.OfertaFases)
                //{
                //    //Estos 3 registros siempre están activos.
                //    if (item.IdListaValor == "OFFAPR" || item.IdListaValor == "OFFACV" || item.IdListaValor == "OFFAFI")
                //    {
                //        item.Incluir = true;
                //    }

                //    item.ModificadoPor = ticket.Usuario;
                //}

                //Se obtiene los datos de sesión.
                oferta.CarrerasSeleccionadas = (List<OfertaEstudio>)(Session["CarrerasSeleccionadas"]);
                //Método general para actualizar la oferta.
                lnOfertaEmpresa.Actualizar(oferta, ticket.Usuario);

                //lnOferta.ActualizarOfertaFase(oferta.OfertaFases);

                //Se guardan los estudios de la oferta.
                //Primero hay que eliminar los estudios universitarios.
                //LNOfertaEstudio lnOfertaEstudio = new LNOfertaEstudio();
                //foreach (var ofertaEstudioUTP in oferta.CarrerasSeleccionadas)
                //{
                //    lnOfertaEstudio.Insertar(ofertaEstudioUTP);
                //}

                //1. Mostrar mensaje de éxito.
                TempData["MsjExitoEditarOferta"] = "La oferta '" + oferta.CargoOfrecido + "' ha sido actualizada con éxito.";

                //2. Redireccionar a la lista.
                //return RedirectToAction("Publicacion");

            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                           .Where(y => y.Count > 0)
                           .ToList();

                int a = 0;
            }

            LNGeneral lnGeneral = new LNGeneral();
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            ViewBag.TipoCargoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CARGO), "IdListaValor", "Valor", oferta.TipoCargoIdListaValor);
            ViewBag.TipoTrabajoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_TRABAJO), "IdListaValor", "Valor", oferta.TipoTrabajoIdListaValor);
            ViewBag.TipoContratoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CONTRATO), "IdListaValor", "Valor", oferta.TipoContratoIdListaValor);
            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion", oferta.IdEmpresaLocacion);
            ViewBag.RecibeCorreosIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_OFERTA_RECIBECORREOS), "IdListaValor", "Valor", oferta.RecibeCorreosIdListaValor);

            //Se agrega el estado del estudio para las carreras:
            ViewBag.EstadoCarreraUTP = new SelectList(lnGeneral.ObtenerListaValorOfertaEstudiosUTP(Constantes.IDLISTA_ESTADO_DEL_ESTUDIO), "IdListaValor", "Valor");

            if (cantidadCarreras == 0)
            {
                ViewBag.MensajeCarrerasSeleccionadas = "Debe seleccionar al menos una carrera";
                TempData["MsjErrorNoCarreras"] = "error";
            }
            else
            {
                ViewBag.MensajeCarrerasSeleccionadas = "";
            }

            return View(oferta);
        }
        public ActionResult NuevaOferta()
        {
            #region Validación 11FEB: Si existen ofertas en estado OFERCV mostrar un mensaje de alerta para que cierre las ofertas.

            List<VistaEmpresaOferta> lista = obtenerOfertasEnEstadoOFERCV();
            //Si se encuentran filas => se obienen los cargos y se llena una variable temporal.
            if (lista.Count() > 0)
            {
                StringBuilder msjAlUsuario = new StringBuilder();
                msjAlUsuario.Append("Antes de continuar debe cerrar las siguientes ofertas: ");
                msjAlUsuario.Append(Environment.NewLine);

                foreach (var ofertaEncontrada in lista)
                {
                    msjAlUsuario.Append(ofertaEncontrada.CargoOfrecido);
                    msjAlUsuario.Append(Environment.NewLine);
                }

                msjAlUsuario.Append("Para cerrar sus ofertas debe ingresar a la Oferta en la sección Administración de Oferta y Cerrar la Oferta. ");
                msjAlUsuario.Append("Debe repetir este proceso para cada oferta.");

                //En el vista Publicacion.html se lee este TempData y se muestra el mensaje al usuario.
                TempData["msjOfertasEnOFERCV"] = msjAlUsuario.ToString();

                //Se redirecciona a la lista de ofertas.
                return RedirectToAction("Publicacion");
            }
            #endregion

            #region Funcionalidad 16FEB: Al crear una oferta se crea internamente y se muestra la pantalla de Ofertalaboral.cshtml

            //Se obtiene el ticket de la sesión.
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            //Se obtiene las locaciones de la empresa y se guarda la primera encontrada:
            LNEmpresaLocacion empresaLocacion = new LNEmpresaLocacion();
            List<VistaEmpresaLocacion> locaciones = empresaLocacion.ObtenerLocacionesPorIdEmpresa(ticket.IdEmpresa);

            int idEmpresaLocacion = 0;
            if (locaciones.Count > 0)
                idEmpresaLocacion = locaciones[0].IdEmpresaLocacion;
            else
            {
                //Si no tiene locaciones entonces no se muestra un error y la oferta no se crea, por regla todas las empresas
                //tienen al menos 1 locación y no debería entrar. Se coloca la condición por si existe data migrada errónea.
                StringBuilder msjAlUsuario = new StringBuilder();
                msjAlUsuario.Append("La empresa no cuenta con locaciones disponibles, cree una e intente nuevamente.");

                //En el vista Publicacion.html se lee este TempData y se muestra el mensaje al usuario.
                TempData["msjOfertasNoLocacion"] = msjAlUsuario.ToString();

                //Se redirecciona a la lista de ofertas.
                return RedirectToAction("Publicacion");
            }

            //Se completa los datos de la oferta borrador y se inserta en la BD.
            Oferta ofertaBorrador = new Oferta();
            ofertaBorrador.IdEmpresa = ticket.IdEmpresa;
            ofertaBorrador.UsuarioPropietarioEmpresa = ticket.Usuario; //Se guarda el usuario asignado.
            ofertaBorrador.EstadoOferta = Constantes.OFERTA_ESTADO_BORRADOR; //Estado oferta en borrador
            ofertaBorrador.CreadoPor = ticket.Usuario;
            ofertaBorrador.FechaFinRecepcionCV = DateTime.Now;
            ofertaBorrador.FechaFinProceso = DateTime.Now;
            ofertaBorrador.IdEmpresaLocacion = idEmpresaLocacion;
            ofertaBorrador.TipoTrabajoIdListaValor = "";
            ofertaBorrador.CargoOfrecido = "";
            ofertaBorrador.RecibeCorreosIdListaValor = "";

            int idOfertaGenerado = lnOfertaEmpresa.Insertar(ofertaBorrador);

            if (idOfertaGenerado > 0)
            {
                //Se redirecciona a la nueva oferta creada:
                return RedirectToAction("OfertaLaboral", new { id = Utiles.Helper.Encriptar(idOfertaGenerado.ToString()) });
            }

            #endregion

            //TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            ////Se envían datos de prueba.
            //Oferta oferta = new Oferta();
            //oferta.IdEmpresa = ticket.IdEmpresa;
            //oferta.UsuarioPropietarioEmpresa = "";
            //oferta.FechaPublicacion = DateTime.Now;
            //oferta.CreadoPor = ticket.Usuario;
            //oferta.FechaFinRecepcionCV = DateTime.Now; //Se establece la fecha actual para la nueva oferta.

            //LNGeneral lnGeneral = new LNGeneral();
            //LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion ();

            ////Se completan las listas:

            //ViewBag.TipoCargoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CARGO), "IdListaValor", "Valor");
            //ViewBag.TipoTrabajoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_TRABAJO), "IdListaValor", "Valor");
            //ViewBag.TipoContratoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CONTRATO), "IdListaValor", "Valor");
            //ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion");
            //ViewBag.RecibeCorreosIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_OFERTA_RECIBECORREOS), "IdListaValor", "Valor");
            //ViewBag.FasesOferta = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_FASE_OFERTA), "IdListaValor", "Valor");

            //return View(oferta);

            return RedirectToAction("Publicacion");
        }
        public ActionResult NuevaOferta(Oferta oferta)
        {
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            if (ModelState.IsValid)
            {
                oferta.UsuarioPropietarioEmpresa = ticket.Usuario; //Se guarda el usuario asignado.
                oferta.EstadoOferta = "OFERCO"; //Estado oferta en construcción.
                //oferta.FechaPublicacion = DateTime.Now;
                //oferta.FechaFinProceso = DateTime.Now.AddDays(10);
                //oferta.IdEmpresaLocacion = 1; //TODO: Reemplazar por combo.
                //oferta.DescripcionOferta = "descripcion de la oferta";
                //oferta.TipoTrabajo = "OFTTTC"; //Tipo de trabajo: Tiempo completo.
                //oferta.TipoContrato = "";
                //oferta.TipoCargo = "";
                //oferta.Horario = "";
                //oferta.AreaEmpresa = "";
                oferta.CreadoPor = ticket.Usuario;

                int idOfertaGenerado = lnOfertaEmpresa.Insertar(oferta);

                if (idOfertaGenerado > 0)
                {
                    //1. Se completa el mensaje de éxito.
                    TempData["MsjExitoCrearOferta"] = "La oferta ha sido creada con éxito.";

                    //2. Se redirecciona a la nueva oferta.
                    return RedirectToAction("EditarOferta", new { id = idOfertaGenerado });
                }
                else
                {
                    //Mostrar un mensaje de error.
                }

                return RedirectToAction("Publicacion");
            }

            //Si existe error, se debe cargar nuevamente la información.
            LNGeneral lnGeneral = new LNGeneral();
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            //ViewBag.ListaTipoCargo = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CARGO);
            //ViewBag.ListaTipoTrabajo = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_TRABAJO);
            //ViewBag.ListaTipoContrato = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CONTRATO);
            //ViewBag.ListaLocaciones = lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa);

            //Se completan las listas:

            ViewBag.TipoCargoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CARGO), "IdListaValor", "Valor", oferta.TipoCargoIdListaValor);
            ViewBag.TipoTrabajoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_TRABAJO), "IdListaValor", "Valor", oferta.TipoTrabajoIdListaValor);
            ViewBag.TipoContratoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_CONTRATO), "IdListaValor", "Valor", oferta.TipoContratoIdListaValor);
            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion", oferta.IdEmpresaLocacion);
            ViewBag.RecibeCorreosIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_OFERTA_RECIBECORREOS), "IdListaValor", "Valor", oferta.RecibeCorreosIdListaValor);
            ViewBag.FasesOferta = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_FASE_OFERTA), "IdListaValor", "Valor");

            return View(oferta);
        }
        public PartialViewResult _AdministrarUsuarioEditar(int id)
        {
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            EmpresaUsuario empresaUsuario = lnEmpresaUsuario.ObtenerPorIdEmpresaUsuario(id);

            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion", empresaUsuario.IdEmpresaLocacion);
            ViewBag.SexoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SEXO), "IdListaValor", "Valor", empresaUsuario.SexoIdListaValor);
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor", empresaUsuario.TipoDocumentoIdListaValor);
            ViewBag.RolIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ROL_USUARIO, "ROLE"), "IdListaValor", "Valor", empresaUsuario.RolIdListaValor);
            ViewBag.EstadoUsuarioIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ESTADO_USUARIO, "USEM"), "IdListaValor", "Valor", empresaUsuario.EstadoUsuarioIdListaValor);

            ViewBag.IdEmpresa = ticket.IdEmpresa;

            //Se devuelve la lista parcial con el usuario.
            return PartialView("_AdministrarUsuarioEditar", empresaUsuario);
        }
        public PartialViewResult _AdministrarUbicacionEditar(EmpresaLocacion empresaLocacion)
        {
            if (ModelState.IsValid)
            {
                TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];
                empresaLocacion.IdEmpresa = ticket.IdEmpresa;
                empresaLocacion.ModificadoPor = ticket.Usuario;

                LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();
                lnEmpresaLocacion.Actualizar(empresaLocacion);

                var empresa = lnEmpresa.ObtenerDatosEmpresaPorId(ticket.IdEmpresa);

                return PartialView("_AdministrarUbicaciones", empresa.Locaciones);

            }

            return PartialView("_AdministrarNuevaUbicacion", empresaLocacion);
        }
        public PartialViewResult _AdministrarUbicacionEditar(int id)
        {
            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();
            EmpresaLocacion empresaLocacion = lnEmpresaLocacion.ObtenerLocacionPorId(id);

            ViewBag.TipoLocacionIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_LOCACION), "IdListaValor", "Valor", empresaLocacion.TipoLocacionIdListaValor);
            ViewBag.EstadoLocacionIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ESTADO_LOCACION), "IdListaValor", "Valor", empresaLocacion.EstadoLocacionIdListaValor);
            ViewBag.DireccionDepartamentoId = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_Departamento), "IdListaValor", "Valor", empresaLocacion.DireccionDepartamentoId);
            ViewBag.DireccionCiudadId = new SelectList(lnGeneral.ObtenerListaValor(-1), "IdListaValor", "Valor", empresaLocacion.DireccionCiudadId);
            ViewBag.DireccionDistritoId = new SelectList(lnGeneral.ObtenerListaValor(-1), "IdListaValor", "Valor", empresaLocacion.DireccionDistritoId);

            return PartialView("_AdministrarUbicacionEditar", empresaLocacion);
        }
        public PartialViewResult _AdministrarNuevoUsuario()
        {
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

            EmpresaUsuario empresaUsuario = new EmpresaUsuario();

            LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();

            ViewBag.IdEmpresaLocacion = new SelectList(lnEmpresaLocacion.ObtenerLocaciones(ticket.IdEmpresa), "IdEmpresaLocacion", "NombreLocacion");
            ViewBag.SexoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SEXO), "IdListaValor", "Valor");
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor");

            //Obtiene todos registros que contengan la palabra "empresa".
            ViewBag.RolIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ROL_USUARIO, "ROLE"), "IdListaValor", "Valor");

            ViewBag.EstadoUsuarioIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_ESTADO_USUARIO, "USEM"), "IdListaValor", "Valor");
            ViewBag.IdEmpresa = ticket.IdEmpresa;

            return PartialView("_AdministrarNuevoUsuario", empresaUsuario);
        }
        public PartialViewResult _AdministrarNuevaUbicacion(EmpresaLocacion empresaLocacion)
        {
            if (ModelState.IsValid)
            {
                TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];
                empresaLocacion.IdEmpresa = ticket.IdEmpresa;
                empresaLocacion.CreadoPor = ticket.Usuario;

                //empresaLocacion.DireccionDistrito = empresaLocacion.TextDistrito;
                //empresaLocacion.DireccionCiudad = empresaLocacion.TextoCiudad;
                //empresaLocacion.DireccionDepartamento = empresaLocacion.TextoDepartamento;

                LNEmpresaLocacion lnEmpresaLocacion = new LNEmpresaLocacion();
                lnEmpresaLocacion.Insertar(empresaLocacion);

                var empresa = lnEmpresa.ObtenerDatosEmpresaPorId(ticket.IdEmpresa);

                return PartialView("_AdministrarUbicaciones", empresa.Locaciones);

            }

            return PartialView("_AdministrarNuevaUbicacion", empresaLocacion);
        }