public async Task <IActionResult> Categoria(CategoriaViewModel categoria)
        {
            if (UserLogin.Islogin == false)
            {
                return(RedirectToAction("LoginUser", "Usuarios"));
            }

            //Si el modelo es valido
            if (ModelState.IsValid)
            {
                categoria.categoriaobj.Usuario = LoadDataUser.UserAccount; //Asignado valor a la UpLoader con el usuario logueado
                _db.Categoria.Add(categoria.categoriaobj);                 //Agregando la categoria
                await _db.SaveChangesAsync();                              //Guardando los cambios

                Funciones.Alerta(
                    "Categoria agregada",
                    "success",
                    "check"

                    );                                       //Preparando la alerta
                return(RedirectToAction(nameof(Categoria))); //redireccionando a las categorias
            }
            else
            {
                //Si el modelo no es valido
                Funciones.Alerta(
                    "Debes introducir el nombre de la categoria",
                    "danger",
                    "remove"

                    );

                return(View());
            }
        }
        private bool VerificarEspacio(string user)
        {
            bool retornar = false;

            string[] cadena = user.Split(' ');

            if (cadena.Length > 1)
            {
                retornar = true;
                Funciones.Alerta(

                    "El usuario no puede contener espacios.",
                    "danger",
                    "remove"

                    );
            }

            return(retornar);
        }
        public async Task <IActionResult> Restaurar(int?Id)
        {
            if (UserLogin.Islogin == false)
            {
                return(RedirectToAction("LoginUser", "Usuarios"));
            }
            try
            {
                var proyectoseliminados = _db.ProyectoInfo.Where(p => p.Estado == "Eliminado").ToList();
                if (Id == null)
                {
                    return(View("NotFound"));
                }
                else
                {
                    var proyectorestaurar = _db.ProyectoInfo.SingleOrDefault(p => p.Id == Id);
                    if (proyectorestaurar != null)
                    {
                        if (proyectorestaurar.Estado == "Eliminado")
                        {
                            proyectorestaurar.Estado = "Activo";
                            await _db.SaveChangesAsync();

                            Funciones.Alerta("El proyecto -" + proyectorestaurar.Nombre + "- ha sido restaurado", "success", "check");

                            return(RedirectToAction("ProyectosEliminados", proyectoseliminados));
                        }
                    }
                    else
                    {
                        return(View("NotFoud"));
                    }
                }

                return(View("NotFound"));
            }
            catch (NullReferenceException x)
            {
                return(View("NotFoud"));
            }
        }
        private bool VerificarExistenciaUsuario(string usuario)
        {
            bool retornar = false;
            var  user     = _db.Usuario.Where(u => u.UserAccount == usuario).FirstOrDefault();

            if (user == null)
            {
                retornar = false;
            }
            else
            {
                retornar = true;
                Funciones.Alerta(

                    "El usuario " + usuario + " ya existe, intenta con uno diferente",
                    "danger",
                    "remove"

                    );
            }

            return(retornar);
        }
        public async Task <IActionResult> Login(LoginCredentials lc)
        {
            if (ModelState.IsValid)
            {
                //convirtiendo la contrase;a a md5
                var passmd5 = Funciones.CreateMD5(lc.Password);

                //consulta para saber si el usuario existe
                var userlogin = _db.Usuario.Where(u => u.UserAccount == lc.UserAccount).
                                Where(u => u.Password == passmd5).FirstOrDefault();

                //condicion si el usuario existe
                if (userlogin != null)
                {
                    //cargando la informacion del usuario en la clase estatica
                    var rol = _db.UserRole.Where(u => u.UserId == userlogin.Id).FirstOrDefault();
                    LoadDataUser.Id          = userlogin.Id;
                    LoadDataUser.Nombre      = userlogin.Nombre;
                    LoadDataUser.Apellido    = userlogin.Apellido;
                    LoadDataUser.UserAccount = userlogin.UserAccount;
                    LoadDataUser.Email       = userlogin.Email;
                    LoadDataUser.Foto        = userlogin.Foto;
                    LoadDataUser.Rol         = rol.Rol;
                    LoadDataUser.Estado      = userlogin.Estado;
                    UserLogin.Islogin        = true;

                    //asigando valor a las propiedades de inicio de sesion
                    var usersesion = new UserSesion
                    {
                        MacAdress = Funciones.GetMacAdres(),
                        UserId    = userlogin.Id,
                        IsLogin   = "******"
                    };

                    //comprobando si ya el usuario esta registrado en la tabla de sesiones
                    var us = _db.UserSesions.Where(s => s.UserId == userlogin.Id).FirstOrDefault();

                    //si esta registrado en la tabla sesiones
                    if (us != null)
                    {
                        us.MacAdress = Funciones.GetMacAdres();
                        us.UserId    = userlogin.Id;
                        us.IsLogin   = "******";

                        _db.Update(us);
                        await _db.SaveChangesAsync();
                    }
                    //si no esta registrado en la tabla sesionens
                    else
                    {
                        //agregalo a la tabla sesiones
                        _db.Add(usersesion);
                        await _db.SaveChangesAsync();
                    }

                    //redireccionado al inicio
                    return(RedirectToAction("Index", "Proyectos"));
                }

                //si el usuario no existe
                else
                {
                    Funciones.Alerta(

                        "Usuario o Contraseña no validos",
                        "danger",
                        "remove"

                        );

                    //retornando el modelo
                    return(RedirectToAction("LoginUser",
                                            new LoginCredentials
                    {
                        UserAccount = lc.UserAccount
                    }));
                }
            }

            //si el modelo no es valido
            else
            {
                Funciones.Alerta(

                    "Introduce el usuario y la contraseña",
                    "danger",
                    "remove"

                    );

                return(RedirectToAction("LoginUser",
                                        new LoginCredentials
                {
                    UserAccount = lc.UserAccount
                }));
            }
        }
        public async Task <IActionResult> Registrar(Usuario usuario, IFormFile img, string rol)

        {
            if (ModelState.IsValid)
            {
                var userpass = usuario.Password;

                if (VerificarExistenciaUsuario(usuario.UserAccount) == false &&
                    Funciones.VerificarExistenciaEmail(usuario.Email, _db) == false &&
                    Funciones.VeririficarPesodeArchivo(img, 3, "Imagen usuario") == false &&
                    Funciones.VerificarExtencion(img, "png", "jpg", "jpeg", "una Imagen", "Foto Usuario") == false &&
                    VerificarEspacio(usuario.UserAccount) == false

                    )
                {
                    if (img != null)
                    {
                        usuario.Foto = Funciones.SubirArchivo(img, usuario.UserAccount, "FotosPerfil", "screen", _he);
                    }
                    else
                    {
                        usuario.Foto = "Userdefault.png";
                    }

                    usuario.Password    = Funciones.CreateMD5(usuario.Password);
                    usuario.UserAccount = usuario.UserAccount.ToLower();
                    usuario.UserAccount = usuario.UserAccount.Replace(' ', '-');
                    _db.Usuario.Add(usuario);
                    await _db.SaveChangesAsync();

                    var userdata = _db.Usuario.Where(u => u.UserAccount == usuario.UserAccount).FirstOrDefault();
                    var Rol      = new UserRole
                    {
                        UserId = userdata.Id,
                        Rol    = rol
                    };

                    _db.Add(Rol);
                    await _db.SaveChangesAsync();

                    var Usersesion = new UserSesion
                    {
                        IsLogin   = "******",
                        UserId    = userdata.Id,
                        MacAdress = Funciones.GetMacAdres().ToString()
                    };
                    _db.Add(Usersesion);
                    await _db.SaveChangesAsync();

                    Funciones.Alerta(
                        "Usuario registrado exitosamente.",
                        "success",
                        "check"
                        );

                    if (UserLogin.Islogin == false)
                    {
                        return(RedirectToAction("LoginUser",
                                                new LoginCredentials {
                            UserAccount = usuario.UserAccount
                        }));
                    }
                    else
                    {
                        return(RedirectToAction(nameof(AdmUsuarios)));
                    }
                }
                else
                {
                }
            }

            else
            {
                return(View(usuario));
            }

            return(View());
        }
        private bool VerificadorProyecto(
            int?categoria, int?cliente, string identificacion,
            IFormFile scren1, IFormFile scren2, IFormFile scren3, IFormFile Logo,
            IFormFile rar, IFormFile contrato


            )

        {
            bool retornar = true;

            if (scren1 == null || scren2 == null || scren3 == null || Logo == null || rar == null || contrato == null)
            {
                Funciones.Alerta(


                    "Todos los archivos son obligatorios, por favor, coloque los archivos correspondientes",
                    "danger",
                    "remove"


                    );

                retornar = false;
            }


            if (categoria == 0 || cliente == 0)
            {
                Funciones.Alerta(

                    "Debes seleccionar el cliente y la categoria",
                    "danger",
                    "remove"

                    );
                retornar = false;
            }

            if (Funciones.VerificarIdentificacionProyecto(identificacion, _db) == true)
            {
                retornar = false;
            }

            if (Funciones.VeririficarPesodeArchivo(scren1, 3, "Screen 1") == true ||
                Funciones.VeririficarPesodeArchivo(scren2, 3, "Screen 2") == true ||
                Funciones.VeririficarPesodeArchivo(scren3, 3, "Screen 3") == true ||
                Funciones.VeririficarPesodeArchivo(Logo, 3, "Logo") == true ||
                Funciones.VeririficarPesodeArchivo(contrato, 10, "Contrato") == true ||
                Funciones.VeririficarPesodeArchivo(rar, 50, "Archivo rar") == true

                )

            {
                retornar = false;
            }



            if (Funciones.VerificarExtencion(scren1, "png", "jpg", "jpeg", "una Imagen", "Screen 1") == true ||
                Funciones.VerificarExtencion(Logo, "png", "jpg", "jpeg", "una Imagen", "Logo Proyecto") == true ||
                Funciones.VerificarExtencion(scren2, "png", "jpg", "jpeg", "una Imagen", "Screen 2") == true ||
                Funciones.VerificarExtencion(scren3, "png", "jpg", "jpeg", "una Imagen", "Screen 3") == true ||
                Funciones.VerificarExtencion(rar, "rar", "zip", "rar", " un archivo .rar", "Archivo .rar") == true ||
                Funciones.VerificarExtencion(contrato, "pdf", "pdf", "pdf", "un .pdf", "Contrato") == true



                )
            {
                retornar = false;
            }



            return(retornar);
        }
        public async Task <IActionResult> CrearProyecto(ProyectoViewModel proyecto,
                                                        IFormFile LogoProyecto, IFormFile Screen1, IFormFile Screen2, IFormFile Screen3,
                                                        IFormFile ArchivoRar, IFormFile Contrato)
        {
            if (UserLogin.Islogin == false)
            {
                return(RedirectToAction("LoginUser", "Usuarios"));
            }



            if (proyecto.ProyectoInfo.Costo < 1000)
            {
                Funciones.Alerta(

                    "El costo minimo es de 1000 RD$",
                    "danger",
                    "remove"

                    );

                var model = new ProyectoViewModel
                {
                    Listacategorias = _db.Categoria.ToList(),
                    Listaclientes   = _db.Cliente.ToList()
                };

                return(View(model));
            }

            if (VerificadorProyecto(proyecto.ProyectoInfo.Id_Categoria, proyecto.ProyectoInfo.Id_Cliente, proyecto.ProyectoInfo.Identificacion,
                                    Screen1, Screen2, Screen3, LogoProyecto, ArchivoRar, Contrato) == false)
            {
                var model = new ProyectoViewModel
                {
                    Listacategorias = _db.Categoria.ToList(),
                    Listaclientes   = _db.Cliente.ToList()
                };

                return(View(model));
            }



            if (ModelState.IsValid)
            {
                var infoproyecto = new ProyectoInfo
                {
                    Nombre         = proyecto.ProyectoInfo.Nombre,
                    Creador        = proyecto.ProyectoInfo.Creador,
                    Id_Cliente     = proyecto.ProyectoInfo.Id_Cliente,
                    Duracion       = proyecto.ProyectoInfo.Duracion,
                    Costo          = proyecto.ProyectoInfo.Costo,
                    Id_Categoria   = proyecto.ProyectoInfo.Id_Categoria,
                    UpLoader       = LoadDataUser.UserAccount,
                    Descripcion    = proyecto.ProyectoInfo.Descripcion,
                    Identificacion = proyecto.ProyectoInfo.Identificacion
                };

                _db.ProyectoInfo.Add(infoproyecto);
                await _db.SaveChangesAsync();

                var Idproyecto  = _db.ProyectoInfo.Where(p => p.Identificacion == proyecto.ProyectoInfo.Identificacion).FirstOrDefault();
                var imgproyecto = new ProyectoImg
                {
                    Id_Proyecto  = Idproyecto.Id,
                    LogoProyecto = Funciones.SubirArchivo(LogoProyecto, "logo-" + proyecto.ProyectoInfo.Identificacion, "FotosProyectos", "Logo", _he),
                    Screen1      = Funciones.SubirArchivo(Screen1, "screen1-" + proyecto.ProyectoInfo.Identificacion, "FotosProyectos", "screen", _he),
                    Screen2      = Funciones.SubirArchivo(Screen2, "screen2-" + proyecto.ProyectoInfo.Identificacion, "FotosProyectos", "screen", _he),
                    Screen3      = Funciones.SubirArchivo(Screen3, "screen3-" + proyecto.ProyectoInfo.Identificacion, "FotosProyectos", "screen", _he),
                };

                _db.ProyectoImg.Add(imgproyecto);
                await _db.SaveChangesAsync();

                var archivoproyecto = new ProyectoFile
                {
                    Id_Proyecto = Idproyecto.Id,
                    ArchivoRar  = Funciones.SubirArchivo(ArchivoRar, "rarproyecto-" + proyecto.ProyectoInfo.Identificacion, "Proyectos", "RarFile", _he),
                    Contrato    = Funciones.SubirArchivo(Contrato, "contrato-" + proyecto.ProyectoInfo.Identificacion, "Contratos", "Contrato", _he),
                };

                _db.ProyectoFile.Add(archivoproyecto);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            else
            {
                var model = new ProyectoViewModel
                {
                    Listacategorias = _db.Categoria.ToList(),
                    Listaclientes   = _db.Cliente.ToList()
                };



                return(View(model));
            }
        }
Esempio n. 9
0
        public async Task <IActionResult> RegistrarCliente(Cliente cliente, IFormFile img)
        {
            if (UserLogin.Islogin == false)
            {
                return(RedirectToAction("LoginUser", "Usuarios"));
            }

            if (Funciones.VerificarSelect(cliente.Naturaleza) == true || Funciones.VerificarSelect(cliente.TipoCliente) == true)
            {
                Funciones.Alerta(

                    "Debes seleccionar la naturaleza y el tipo de Cliente",
                    "danger",
                    "remove"

                    );
                return(View());
            }

            if (Funciones.VerificarExistenciaEmailCliente(cliente.Email, _db) == true)
            {
                return(View());
            }

            if (Funciones.VerificarExistenciaIdentificacion(cliente.Identificacion, _db) == true)
            {
                return(View());
            }

            if (ModelState.IsValid)
            {
                if (Funciones.VeririficarPesodeArchivo(img, 3, "Imagen Cliente") == false && Funciones.VerificarExtencion(img, "png", "jpg", "jpeg", "una Imagen", "Foto Cliente") == false)
                {
                    if (img != null)
                    {
                        cliente.Foto = Funciones.SubirArchivo(img, "Cliente-" + cliente.Identificacion, "FotosPerfilClientes", "Perfil-Cliente", _he);
                    }

                    cliente.Nombre         = cliente.Nombre.Trim();
                    cliente.Email          = cliente.Email.ToLower();
                    cliente.Identificacion = cliente.Identificacion.ToUpper();
                    _db.Add(cliente);
                    await _db.SaveChangesAsync();

                    Funciones.Alerta(

                        "El cliente " + cliente.Nombre + " fue agregado correctamente",
                        "success",
                        "check"

                        );
                    return(RedirectToAction(nameof(RegistrarCliente)));
                }
                else
                {
                    return(View());
                }
            }
            else
            {
                Funciones.Alerta(

                    "Hay campos vacios",
                    "danger",
                    "remove"

                    );

                return(View());
            }
        }
Esempio n. 10
0
        public async Task <IActionResult> Editar(Cliente cliente, IFormFile img)
        {
            if (UserLogin.Islogin == false)
            {
                return(RedirectToAction("LoginUser", "Usuarios"));
            }

            if (Funciones.VerificarSelect(cliente.Naturaleza) == true || Funciones.VerificarSelect(cliente.TipoCliente) == true)
            {
                Funciones.Alerta(

                    "Debes seleccionar la naturaleza y el tipo de Cliente",
                    "danger",
                    "remove"

                    );
                return(View(cliente));
            }

            if (Funciones.VerificarExistenciaEmailEditando(cliente.Email, _db, cliente.Id) == true)
            {
                return(View(cliente));
            }

            if (Funciones.VEIeditando(cliente.Identificacion, _db, cliente.Id) == true)
            {
                return(View(cliente));
            }

            if (ModelState.IsValid)
            {
                if (Funciones.VeririficarPesodeArchivo(img, 3, "Imagen Cliente") == false && Funciones.VerificarExtencion(img, "png", "jpg", "jpeg", "una Imagen", "Foto Cliente") == false)
                {
                    var clienteeditar = await _db.Cliente.SingleOrDefaultAsync(c => c.Id == cliente.Id);

                    if (clienteeditar != null)
                    {
                        clienteeditar.Naturaleza  = cliente.Naturaleza;
                        clienteeditar.Nombre      = cliente.Nombre;
                        clienteeditar.Direccion   = cliente.Direccion;
                        clienteeditar.Email       = cliente.Email;
                        clienteeditar.Telefono    = cliente.Telefono;
                        clienteeditar.TipoCliente = cliente.TipoCliente;



                        if (img != null)
                        {
                            clienteeditar.Foto = Funciones.SubirArchivo(img, "Cliente-" + cliente.Identificacion, "FotosPerfilClientes", "Perfil", _he);
                        }



                        await _db.SaveChangesAsync();

                        Funciones.Alerta(

                            "Cliente editado correctamente",
                            "success",
                            "check"

                            );
                        return(RedirectToAction("Editar", new { clienteeditar.Id }));
                    }
                    else
                    {
                        return(View("NotFound"));
                    }
                }
            }

            else
            {
                return(View());
            }

            return(View(nameof(Index)));
        }