Beispiel #1
0
        public async Task <ActionResult> Edit(EditViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    // TODO: Add update logic here
                    var        user_model = model.user;
                    PERDORUESI useri      = await db.PERDORUESIs.FindAsync(model.ID);

                    string roliVjeterID = useri.Roles.ToString();
                    var    user         = await UserManager.FindByIdAsync(useri.UserID);

                    if (user.UserName.ToLower().Trim() != model.UserName.ToLower().Trim())
                    {
                        user.UserName = model.UserName;
                        await UserManager.UpdateAsync(user);
                    }

                    //modifikimi tek perdoruesi
                    useri.Emri       = user_model.Emri;
                    useri.Mbiemri    = user_model.Mbiemri;
                    useri.Datelindja = user_model.Datelindja;
                    useri.Adresa     = user_model.Adresa;
                    useri.Telefoni   = user_model.Telefoni;
                    useri.Roles      = user_model.Roles;

                    db.Entry(useri).State = EntityState.Modified;

                    await db.SaveChangesAsync();

                    if (useri.Roles.ToString() != model.user.Roles.ToString())
                    {
                        //fshirja e rolit te vjeter
                        var rolefound = (new ApplicationDbContext()).Roles.FirstOrDefault(q => q.Id == useri.ID.ToString());
                        await UserManager.RemoveFromRoleAsync(useri.UserID, rolefound.Name.ToString());

                        //vendosja e rolit te ri
                        string roliRiID     = useri.Roles.ToString();
                        var    newrolefound = (new ApplicationDbContext()).Roles.FirstOrDefault(q => q.Id == roliRiID);
                        await UserManager.AddToRoleAsync(useri.UserID, newrolefound.Name.ToString());

                        await db.SaveChangesAsync();
                    }

                    Success("Përdoruesi është modifikuar me sukses!", true);
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    Danger("Ka ndodhur një gabim!", true);
                }
            }

            var userlogged = await GetUser();

            return(View(model));
        }
Beispiel #2
0
        public async Task <ActionResult> PasswordReset(int id)
        {
            PERDORUESI user = await db.PERDORUESIs.FindAsync(id);

            ChangePasswordViewModel model = new ChangePasswordViewModel();

            model.ID = user.ID;
            return(View(model));
        }
        public async Task <GetUser> GetUser()
        {
            PERDORUESI user = new PERDORUESI();

            eStore.Models.GetUser usertotal = new Models.GetUser();
            if (Session["User"] == null)
            {
                if (User.Identity.IsAuthenticated)
                {
                    try
                    {
                        var userfound = await UserManager.FindByEmailAsync(User.Identity.Name);

                        if (userfound == null)
                        {
                            userfound = await UserManager.FindByNameAsync(User.Identity.Name);
                        }

                        user = db.PERDORUESIs.Single(q => q.UserID == userfound.Id);

                        usertotal.ID         = user.ID;
                        usertotal.UserID     = user.UserID;
                        usertotal.Emri       = user.Emri;
                        usertotal.Mbiemri    = user.Mbiemri;
                        usertotal.Ditelindja = user.Datelindja;
                        usertotal.Adresa     = user.Adresa;
                        usertotal.Telefoni   = user.Telefoni;



                        Session["User"] = usertotal;
                    }
                    catch
                    {
                        usertotal = null;
                    }
                }
            }
            else
            {
                usertotal = (GetUser)Session["User"];
            }

            Session["Roli"] = usertotal.Roles;
            return(usertotal);
        }
Beispiel #4
0
        // GET: USER/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            var userlogged = await GetUser();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PERDORUESI user = await db.PERDORUESIs.FindAsync(id);

            EditViewModel model = new EditViewModel();

            model.user = user;
            var userauth = await UserManager.FindByIdAsync(user.UserID);

            model.UserName = userauth.UserName;
            model.ID       = user.ID;

            var allRoles = (new ApplicationDbContext()).Roles.OrderBy(q => q.Name).ToList();

            ViewBag.Roles = new SelectList(allRoles, "Id", "Name", selectedValue: user.Roles);
            return(View(model));
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.UserName, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    try
                    {
                        var userfound = await UserManager.FindByEmailAsync(model.Email);

                        string roliID    = model.Roles.ToString();
                        var    rolefound = (new ApplicationDbContext()).Roles.FirstOrDefault(q => q.Id == roliID);

                        PERDORUESI newUser = new PERDORUESI();

                        // regjistrimi i perdoruesit tek tabela USER
                        newUser.UserID     = userfound.Id;
                        newUser.Emri       = model.Emri;
                        newUser.Mbiemri    = model.Mbiemri;
                        newUser.Datelindja = model.Ditelindja;
                        newUser.Adresa     = model.Adresa;
                        newUser.Telefoni   = model.Telefoni;
                        newUser.Roles      = model.Roles;
                        newUser.Aktiv      = true;
                        newUser.KodiPostar = "//";
                        newUser.Email      = model.Email;
                        string        password      = model.Password;
                        ASCIIEncoding binarypass    = new ASCIIEncoding();
                        string        encrypted     = Encrypt.Encryption(password);
                        byte[]        passwordArray = binarypass.GetBytes(encrypted);
                        newUser.Password = passwordArray;

                        db.PERDORUESIs.Add(newUser);

                        await UserManager.AddToRoleAsync(userfound.Id, rolefound.Name.ToString());

                        await db.SaveChangesAsync();

                        Success("Përdoruesi është regjistruar me sukses", true);
                    }
                    catch (Exception ex)
                    {
                        ex.ToString();
                        await UserManager.DeleteAsync(user);
                    }

                    return(RedirectToAction("Index", "USER"));
                }
                AddErrors(result);
            }
            var userloged = await GetUser();


            // If we got this far, something failed, redisplay form
            return(View(model));
        }
 public EditViewModel()
 {
     psw  = new ChangePasswordViewModel();
     user = new PERDORUESI();
 }