Ejemplo n.º 1
0
        public async Task <ActionResult> Edit(UserModel userModel, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(userModel));
            }

            var pointAddress = userModel.Country + ", " + userModel.City + ", " + userModel.Address;

            userModel.Location = Geolocalization.GetPoint(pointAddress);

            if (!User.IsInRole(AppRoles.Administrator))
            {
                userModel.Email = User.Identity.GetUserName();
            }
            if (!CanViewOrEdit(User.Identity.GetUserId(), userModel))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Conflict));
            }

            Db.Entry(userModel).State = EntityState.Modified;

            await Db.SaveChangesAsync();

            if (!string.IsNullOrWhiteSpace(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Create(UserModel userModel, bool isAdultCheck, bool?termsAndConditions)
        {
            if (!User.IsInRole(AppRoles.Administrator))
            {
                userModel.Email  = User.Identity.GetUserName();
                userModel.UserId = User.Identity.GetUserId();
            }

            ValidateUserModel(userModel, isAdultCheck, termsAndConditions);
            ViewBag.IsAdultCheck       = isAdultCheck;
            ViewBag.TermsAndConditions = termsAndConditions;
            if (!ModelState.IsValid)
            {
                return(View("Create", userModel));
            }

            var pointAddress = userModel.Country + ", " + userModel.City + ", " + userModel.Address;

            userModel.Location = Geolocalization.GetPoint(pointAddress);

            if (userModel.Id == 0)
            {
                //CREATE
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(Db));
                await userManager.RemoveFromRoleAsync(userModel.UserId, AppRoles.Unassigned);

                await userManager.AddToRoleAsync(userModel.UserId, AppRoles.Requester);

                Db.UserModelsT.Add(userModel);
                await Db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            if (!userModel.CanViewOrEdit(User))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Conflict));
            }

            //EDIT
            Db.Entry(userModel).State = EntityState.Modified;
            await Db.SaveChangesAsync();

            return(RedirectToAction("Index", "Manage"));
        }