public RegisterGroupViewModel GetRegisterGroupViewModel()
        {
            RegisterGroupViewModel registerGroupViewModel = new RegisterGroupViewModel(
                recoverPasswordEnabled: _identityUIEndpoints.UseEmailSender ?? false);

            return(registerGroupViewModel);
        }
        public async Task <IActionResult> RegisterGroup(RegisterGroupModel registerGroupModel)
        {
            if (!_identityUIEndpoints.GroupRegistrationEnabled)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                RegisterGroupViewModel registerViewModel = _accountDataService.GetRegisterGroupViewModel();

                return(View(registerViewModel));
            }

            CommonUtils.Result.Result result = await _groupRegistrationService.Add(registerGroupModel);

            if (result.Failure)
            {
                RegisterGroupViewModel registerViewModel = _accountDataService.GetRegisterGroupViewModel();

                CommonUtils.Result.ResultExtensions.AddResultErrors(ModelState, result);
                return(View(registerViewModel));
            }

            return(RedirectToAction(nameof(RegisterSuccess)));
        }
        public IActionResult RegisterGroup()
        {
            if (!_identityUIEndpoints.GroupRegistrationEnabled)
            {
                return(NotFound());
            }

            RegisterGroupViewModel registerViewModel = _accountDataService.GetRegisterGroupViewModel();

            return(View(registerViewModel));
        }
示例#4
0
 public ActionResult Create()
 {
     try
     {
         RegisterGroupViewModel reg = new RegisterGroupViewModel();
         //匯入館別複選資料
         StoreCheckListViewModel SCLV = new StoreCheckListViewModel();
         SCLV.listStoreItems();
         reg.StoreCheckList = SCLV;
         return(View(reg));
     }
     catch (Exception ex)
     {
         ViewBag.RegisterMsg = ex.ToString();
         return(View());
     }
 }
示例#5
0
        public ActionResult Create(RegisterGroupViewModel reg)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string msg = "";

                    //新增會員至資料表
                    MemberOperation memberDataOperation = new MemberOperation();
                    var             result = memberDataOperation.CheckAddMember(reg);

                    switch (result)
                    {
                    case 0:
                        msg = "註冊成功";
                        ViewBag.RegisterMsg = msg;
                        return(RedirectToAction("Login", "Home"));

                    case -1:
                        msg = "會員資料已存在 註冊失敗";
                        ViewBag.RegisterMsg = msg;
                        return(View(reg));

                    case -2:
                        msg = "至少選擇一個館別";
                        ViewBag.RegisterMsg = msg;
                        return(View(reg));

                    case -99:
                        msg = "會員資料新增失敗";
                        ViewBag.RegisterMsg = msg;
                        return(View(reg));
                    }
                }
                return(View(reg));
            }
            catch (Exception ex)
            {
                ViewBag.RegisterMsg = ex.ToString();
                return(View(reg));
            }
        }
示例#6
0
        /// <summary>
        /// 註冊確認及存取
        /// </summary>
        /// <param name="reg"></param>
        /// <returns></returns>
        public int CheckAddMember(RegisterGroupViewModel reg)
        {
            int flg = 0;

            try
            {
                var allMember = Get();
                //電話,Email相同 視為同一個會員
                var check = allMember.Where(s => s.Tel == reg.Register.Tel ||
                                            s.Email == reg.Register.Email);
                //會員資料重複
                if (check.Count() >= 1)
                {
                    flg = -1;
                }
                //新增會員
                else
                {
                    using (GymEntity db = new GymEntity())
                    {
                        StoreOperation store = new StoreOperation();
                        //var allStore = store.Get();
                        //會員選擇的館別編號
                        var chkStoreNo = from c in reg.StoreCheckList.stores
                                         where c.IsChecked == true
                                         select c.No;

                        //會員密碼加密
                        var CryptographyPwd = reg.Register.Password.PasswordCryptography();

                        if (chkStoreNo.Count() > 0)
                        {
                            Member addMember = new Member
                            {
                                Email         = reg.Register.Email,
                                Birthday      = reg.Register.Birthday,
                                Tel           = reg.Register.Tel,
                                Password      = CryptographyPwd,
                                Sex           = reg.Register.Sex,
                                PassWay       = reg.Register.PassWay,
                                Role_No       = reg.Register.RoleNo,
                                CreateTime    = reg.Register.CreateTime,
                                LastLoginTime = reg.Register.LastLoginTime,
                                IsLogin       = reg.Register.IsLogin,
                                Status        = reg.Register.Status,
                                Name          = reg.Register.Name,
                            };
                            //新增會員可出入館別資料
                            foreach (var No in chkStoreNo)
                            {
                                addMember.Store.Add(db.Store.Where(m => m.StoreNo == No).FirstOrDefault());
                            }

                            db.Member.Add(addMember);

                            //處理資料庫儲存
                            bool saveFailed;
                            do
                            {
                                saveFailed = false;
                                try
                                {
                                    db.SaveChanges();
                                    flg = 0;
                                }
                                catch (DbUpdateConcurrencyException ex)
                                {
                                    saveFailed = true;
                                    ex.Entries.Single().Reload();
                                }
                                catch (Exception)
                                {
                                    flg = -99;
                                }
                            } while (saveFailed);
                        }
                        else
                        {
                            //沒有選擇館別
                            flg = -2;
                        }
                    }
                }
                return(flg);
            }
            catch (Exception)
            {
                flg = -99;
                return(flg);
            }
        }