public async Task <ActionResult> Register()
        {
            //Get all fields for display in view
            ViewBag.Field = await FieldService.GetRangeAsync(null);

            //Get all roles
            ViewBag.Roles = await RoleManager.Roles.ToListAsync();

            return(View());
        }
        public async Task <ActionResult> Register(RegisterViewModel model, UserViewModel user, string roleId)
        {
            if (ModelState.IsValid)
            {
                user.Info = new InfoViewModel {
                    FirstName = model.FirstName, LastName = model.LastName, Contact = model.Contact
                };

                bool adminResult = await Service.RegisterUser(AutoMapper.Mapper.Map <Model.Common.IApplicationUser>(user), model.Password);

                if (adminResult)
                {
                    if (!String.IsNullOrEmpty(roleId))
                    {
                        var role = await RoleManager.FindByIdAsync(roleId);

                        var result = await UserManager.AddToRoleAsync(user.Id, role.Name);

                        if (!result.Succeeded)
                        {
                            ModelState.AddModelError("", result.Errors.First().ToString());
                            //Get all fields for display in view
                            ViewBag.Field = await FieldService.GetRangeAsync(null);

                            //Get all roles
                            ViewBag.Roles = await RoleManager.Roles.ToListAsync();

                            return(View());
                        }
                    }
                }
                else
                {
                    //Get all fields for display in view
                    ViewBag.Field = await FieldService.GetRangeAsync(null);

                    //Get all roles
                    ViewBag.Roles = await RoleManager.Roles.ToListAsync();

                    return(View());
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                //Get all fields for display in view
                ViewBag.Field = await FieldService.GetRangeAsync(null);

                //Get all roles
                ViewBag.Roles = await RoleManager.Roles.ToListAsync();

                return(View());
            }
        }