public ActionResult Edit(int id)
        {
            var user       = _userService.GetUserById(id);
            var userInRole = _userInRoleService.Get().Where(w => w.UserMaster.UserInRoles.Where(we => we.RoleId == user.UserInRoles.Select(a => a.RoleId).FirstOrDefault()).Select(s => s.RoleId).Any()).FirstOrDefault().RoleId;

            Session["roleId"] = userInRole;
            var mappedUser = Mapper.UserMapper.Detach(user);

            mappedUser.Password = mappedUser.Password.Decrypt();
            var roles     = _roleMasterService.Get(r => r.IsActive == true);
            var cities    = _cityMasterService.Get(r => r.IsActive == true);
            var companies = _companyMasterService.Get(r => r.IsActive == true);

            mappedUser.RoleId = Convert.ToInt32(userInRole);

            mappedUser.Roles = roles.Select(s => new SelectListItem {
                Text = s.RoleName, Value = s.RoleId.ToString()
            }).ToList();
            mappedUser.Cities = cities.Select(c => new SelectListItem {
                Text = c.CityName, Value = c.CityId.ToString()
            }).ToList();

            //ViewBag.Roles = new SelectList(roles, "RoleId", "RoleName");
            //ViewBag.Cities = new SelectList(cities, "CityId", "CityName");
            //ViewBag.Companies = new SelectList(companies, "CompanyId", "CompanyName");

            return(View(mappedUser));
        }