// GET: AXFUsuario
        public ActionResult AXFUsuarioEditar(string MensajeError = "")
        {
            AXFUsuarioInterfaceClient AXFUsuario    = new AXFUsuarioInterfaceClient();
            AXFUsuarioSet             setAXFUsuario = AXFUsuario.WebSeleccionar((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
            AXFUsuarioEntity          etAXFUsuario  = setAXFUsuario.ltAXFUsuario.First();

            etAXFUsuario.Clave = AXFUsuario.WebDesencriptarClave(etAXFUsuario.Clave, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);

            //Verificamos si existe una imagen para esta pregunta
            if (etAXFUsuario.Texto0 != "")
            {
                //cargamos imagen
                ViewBag.ExisteImagen = true;
                //var path = etAXFUsuario.Texto0.Substring(0, etAXFUsuario.Texto0.IndexOf("@"));
                ViewBag.PathImagen = etAXFUsuario.Texto0;
            }
            else
            {
                //mostramos el selector de imagenes
                ViewBag.ExisteImagen = false;
            }
            ViewBag.MensajeError = MensajeError;

            return(View(setAXFUsuario));
        }
示例#2
0
        // GET: Base
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            AXFSesionInterfaceClient   AXFSesion       = new AXFSesionInterfaceClient();
            AXFUsuarioInterfaceClient  AXFUsuario      = new AXFUsuarioInterfaceClient();
            AXFWebMenuInterfaceClient  AXFWebMenu      = new AXFWebMenuInterfaceClient();
            AXFWebVistaInterfaceClient AXFWebVista     = new AXFWebVistaInterfaceClient();
            List <AXFWebMenuEntity>    ltAXFWebMenuLic = new List <AXFWebMenuEntity>();
            long NumError = 0;

            if (Session["Sesion"] != null)
            {
                if (NumError == 0)
                {
                    List <AXFWebVistaEntity> ltAXFWebVista = AXFWebVista.WebAXFWebVistaSeleccionarXSubCompania((string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                    List <AXFWebMenuEntity>  ltAXFWebMenu  = AXFWebMenu.WebAXFWebMenuSeleccionarXUsuarioSubCompania((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);

                    foreach (AXFWebVistaEntity etAXFWebVista in ltAXFWebVista)
                    {
                        List <AXFWebMenuEntity> ltWebMenuEntity = ltAXFWebMenu.Where(x => etAXFWebVista.WebControlador.Contains(x.WebControlador)).ToList();

                        if (ltWebMenuEntity.Count() > 0)
                        {
                            //AXFWebMenuEntity etWebMenu = ltWebMenuEntity.First();
                            foreach (var WebMenu in ltWebMenuEntity)
                            {
                                if (!ltAXFWebMenuLic.Contains(WebMenu))
                                {
                                    ltAXFWebMenuLic.Add(WebMenu);
                                }
                            }
                        }
                    }
                    //var lt = ltAXFWebMenuLic.OrderBy(x => x.Orden).ToList();
                    ViewBag.ltAXFWebMenu = new List <AXFWebMenuEntity>();

                    List <AXFUsuarioClaseUsuarioEntity> ltAXFUsuarioClaseUsuario = AXFUsuario.WebAXFUsuarioClaseUsuarioSeleccionarKeyAXFUsuario((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                    foreach (AXFUsuarioClaseUsuarioEntity etAXFUsuarioClaseUsuario in ltAXFUsuarioClaseUsuario)
                    {
                        ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_steward2.svg.png";
                        if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Administrador")
                        {
                            ViewBag.Ruta         = "~/Imagenes/Gnome-stock_person_steward2.svg.png";
                            ViewBag.ltAXFWebMenu = ltAXFWebMenuLic.Where(x => x.Texto0 == "SuperAdmin").OrderBy(x => x.Orden).ToList();
                        }
                        else if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Estudiante")
                        {
                            ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_check2.svg.png";
                        }
                        else if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Instructor")
                        {
                            ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_bureau.svg.png";
                        }
                    }

                    base.OnActionExecuting(filterContext);
                }
                else
                {
                    filterContext.Result = new RedirectResult("~/Login/Login");
                }
            }
            else
            {
                filterContext.Result = new RedirectResult("~/Login/Login");
            }
        }
        public ActionResult AXFUsuarioEditar(AXFUsuarioSet setAXFUsuarioForm, HttpPostedFileBase FileUpload)
        {
            long   NumError     = 0;
            string MensajeError = string.Empty;
            AXFUsuarioInterfaceClient AXFUsuario       = new AXFUsuarioInterfaceClient();
            AXFUsuarioEntity          etAXFUsuarioForm = setAXFUsuarioForm.ltAXFUsuario.First();

            if (etAXFUsuarioForm != null)
            {
                AXFUsuarioSet    setAXFUsuario = AXFUsuario.WebSeleccionar((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                AXFUsuarioEntity etAXFUsuario  = setAXFUsuario.ltAXFUsuario.First();
                etAXFUsuario.Nombre            = etAXFUsuarioForm.Nombre;
                etAXFUsuario.CorreoElectronico = etAXFUsuarioForm.CorreoElectronico;
                etAXFUsuario.Telefono1         = etAXFUsuarioForm.Telefono1;
                //etAXFUsuario.Clave = AXFUsuario.WebEncriptarClave( etAXFUsuarioForm.Clave, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                etAXFUsuario.Clave   = etAXFUsuarioForm.Clave;
                etAXFUsuario.UEstado = AXFUsuarioService.Estado.Modified;

                NumError = AXFUsuario.WebGuardar(setAXFUsuario, false, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
            }
            else
            {
                NumError = 1;
            }

            if (NumError == 0)
            {
                string   DirectorioArchivo = Server.MapPath("~/Uploads/Imagenes/AXFUsuario/");
                string[] allowedExtensions = new[] { ".Jpg", ".png", ".jpg", "*.jpe", ".jpeg" };

                for (int i = 0; i < Request.Files.Count; i++)
                {
                    HttpPostedFileBase upload = Request.Files[i]; //Uploaded file
                                                                  //Use the following properties to get file's name, size and MIMEType
                                                                  //int fileSize = file.ContentLength;
                                                                  //string fileName = file.FileName;
                                                                  //string mimeType = file.ContentType;
                                                                  //System.IO.Stream fileContent = file.InputStream;
                    ////To save file, use SaveAs method
                    //file.SaveAs(Server.MapPath("~/") + fileName); //File will be saved in application root
                    if (upload != null && upload.ContentLength > 0)
                    {
                        var NombreArchivo  = Path.GetFileNameWithoutExtension(upload.FileName);
                        var nombreValidado = NombreArchivo.Replace(" ", "_");
                        var ext            = Path.GetExtension(upload.FileName);
                        var NombreCompleto = nombreValidado + DateTime.Now.Ticks + ext;
                        var path           = Path.Combine(DirectorioArchivo, NombreCompleto);
                        if (allowedExtensions.Contains(ext))
                        {
                            if (!Directory.Exists(DirectorioArchivo))//Si no existe el folder lo creamos
                            {
                                Directory.CreateDirectory(DirectorioArchivo);
                            }

                            if (!System.IO.File.Exists(path)) // si no existe archivo en el folder
                            {
                                upload.SaveAs(path);
                                //Guardamos en la Configuracion
                                AXFUsuarioSet    setAXFUsuario = AXFUsuario.WebSeleccionar((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                                AXFUsuarioEntity etAXFUsuario  = setAXFUsuario.ltAXFUsuario.First();
                                etAXFUsuario.Texto0 = NombreCompleto;
                                etAXFUsuario.Clave  = AXFUsuario.WebDesencriptarClave(etAXFUsuario.Clave, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);

                                etAXFUsuario.UEstado = AXFUsuarioService.Estado.Modified;
                                NumError             = AXFUsuario.WebGuardar(setAXFUsuario, false, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                            }
                        }
                    }
                }
            }

            if (NumError == 0)
            {
                return(RedirectToAction("LogOut", "Login"));
            }
            else
            {
                MensajeError = "Ocurrio un error al momento de guardar los datos.";
                return(RedirectToAction("AXFUsuarioEditar", "AXFUsuario", new { MensajeError = MensajeError }));
            }
        }
        //[ValidateAntiForgeryToken]
        public async Task <ActionResult> Login(string Usuario, string Password)
        {
            if (!ModelState.IsValid)
            {
                return(View(/*model*/));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

            //switch (result)
            //{
            //    case SignInStatus.Success:
            //        return View(returnUrl);
            //    case SignInStatus.LockedOut:
            //        return View("Lockout");
            //    case SignInStatus.RequiresVerification:
            //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            //    case SignInStatus.Failure:
            //    default:
            //        ModelState.AddModelError("", "Invalid login attempt.");
            //        return View(model);
            //}
            AXFUsuarioInterfaceClient AXFUsuario = new AXFUsuarioInterfaceClient();
            AXFSesionInterfaceClient  AXFSesion  = new AXFSesionInterfaceClient();
            string SubCompania = "CIACTAS";
            string SesionResp  = string.Empty;

            if (Usuario != "" && Password != "" && SubCompania != "")
            {
                //Es login normal
                //Verificamos si tiene sesion
                List <AXFSesionEntity> ltAXFSesion = AXFSesion.WebAXFSesionSeleccionarXUsuarioSubCompania(Usuario, SubCompania);
                if (ltAXFSesion.Count > 0)
                {
                    bool UsuarioValido = AXFUsuario.WebAXFUsuarioEsValido(Usuario, Password, SubCompania, ltAXFSesion.First().Sesion, SubCompania);
                    if (UsuarioValido)
                    {
                        AXFSesion.WebEliminarSesion(ltAXFSesion.First().Sesion, SubCompania);
                    }
                }

                SesionResp = AXFSesion.WebAccesoValidoAdmin(Usuario, Password, SubCompania, "CIACTAS PRODUCTO");

                if (SesionResp != "")
                {
                    //Seleccionamos los datos primarios del Usuario para mostrar
                    AXFUsuarioSet           setAXFUsuario = AXFUsuario.WebSeleccionar(Usuario, SubCompania, SesionResp, SubCompania);
                    List <AXFUsuarioEntity> ltAXFUsuario  = setAXFUsuario.ltAXFUsuario;
                    AXFUsuarioEntity        etAXFUsuario  = ltAXFUsuario.First();
                    var BloqueoIngresoCount = setAXFUsuario.ltAXFUsuarioPropiedad.Where(x => x.Propiedad == "BloqueoIngreso" && x.Valor == "Si").Count();
                    var BajaEstudianteCount = setAXFUsuario.ltAXFUsuarioPropiedad.Where(x => x.Propiedad == "BajaEstudiante" && x.Valor == "Si").Count();

                    Session["Nombre"]            = etAXFUsuario.Nombre;
                    Session["Sesion"]            = SesionResp;
                    Session["Usuario"]           = Usuario;
                    Session["SesionSubCompania"] = SubCompania;

                    //Checkeamos si este usuario no esta bloqueado
                    if (BloqueoIngresoCount == 0 && BajaEstudianteCount == 0)
                    {
                        return(RedirectToAction("Index", "Index"));
                    }
                    else
                    {
                        return(RedirectToAction("Login"));
                    }
                }
                else
                {
                    string msgSessionError;
                    List <AXFSesionMensajeEntity> ltAXFSesionError = null;
                    var ltMsgs = new List <string>();

                    ltAXFSesionError = AXFSesion.WebAXFSesionMensajeSeleccionarKeyAXFSesion("Error" + Usuario, SubCompania, "Error" + Usuario, SubCompania);
                    if (ltAXFSesionError.Count > 0)
                    {
                        foreach (AXFSesionMensajeEntity etAXFSesionMensaje in ltAXFSesionError)
                        {
                            msgSessionError = etAXFSesionMensaje.TextoMensaje;
                            ltMsgs.Add(msgSessionError);
                        }
                        AXFSesion.WebLimpiarMensajes("Error" + Usuario, SubCompania);
                        AXFSesion.WebEliminarSesion("Error" + Usuario, SubCompania);
                    }

                    TempData["ltMensajes"] = ltMsgs;


                    return(RedirectToAction("Login"));
                }
            }
            else
            {
                //No hay  login
                return(RedirectToAction("Login"));
            }
        }