public string test()
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            return(bl.AddUser(new User()
            {
                UserName = "******", Password = "******", LastLogin = DateTime.Now, Type = Types.Admin
            }) + "");
            //return "successe";
        }
        public ActionResult Register(RegisterViewModel registerViewModel)
        {
            string validationErrors = string.Join(",",
                                                  ModelState.Values.Where(E => E.Errors.Count > 0)
                                                  .SelectMany(E => E.Errors)
                                                  .Select(E => E.ErrorMessage)
                                                  .ToArray());

            Debug.WriteLine(validationErrors);

            if (ModelState.IsValid)
            {
                BussinesLayer bl    = new BussinesLayer(new FinalDB());
                bool          exist = bl.IsUserExist(registerViewModel.UserName);
                // in case the user is exist
                if (exist)
                {
                    FancyBox fb = new FancyBox()
                    {
                        Valid   = false,
                        Message = "שם משתמש זה קיים כבר במערכת"
                    };
                    TempData["FancyBox"] = fb;
                    return(RedirectToAction("Register", "Authentication"));
                }
                else
                {
                    string imgPath = (registerViewModel.GetGender == "זכר") ? Services.Utilities.IMG_MALE_DEFAULT : Services.Utilities.IMG_MALE_DEFAULT;
                    // add new user
                    User u = new User()
                    {
                        UserName    = registerViewModel.UserName,
                        Password    = registerViewModel.Password,
                        LastLogin   = DateTime.Now,
                        Type        = Types.NonUser,
                        UserImg     = imgPath,
                        CreatedDate = DateTime.Now
                    };
                    bl.AddUser(u);
                    // add new member to user
                    Member member = new Member()
                    {
                        MemberUserName = registerViewModel.UserName,
                        Identity       = registerViewModel.Identity,
                        DepartmentID   = registerViewModel.DepartmentID,
                        Year           = (registerViewModel.SelectedYear == null) ? "Default" : Services.Utilities.AcademicYears[(int)registerViewModel.SelectedYear],
                        FirstName      = registerViewModel.FirstName,
                        LastName       = registerViewModel.LastName,
                        Birth          = DateTime.ParseExact(registerViewModel.Birth, "dd/MM/yy", null),
                        Phone          = registerViewModel.Phone,
                        Gender         = registerViewModel.GetGender
                    };
                    bl.AddMember(member);
                    // send confirm mail to user
                    Services.Utilities.SendEmail(registerViewModel.UserName, "ConfirmMail");
                    return(RedirectToAction("Login"));
                }
            }
            else
            {
                FancyBox fb = new FancyBox()
                {
                    Valid   = false,
                    Message = "שדות לא תקינים"
                };
                TempData["FancyBox"]            = fb;
                registerViewModel.AcademicYears = Services.Utilities.AcademicYears;
                return(RedirectToAction("Register"));
            }
        }