Exemple #1
0
        public void LoadSingleMember(Data.Member member)
        {
            MemberCard card = new MemberCard(member.Id);

            card.IsInteractive = Type != MemberSelectionCategory.None;
            card.SetGraphics(ViewType.SelectedIndex == 0 ? MemberCard.MemberGraphics.Chip : MemberCard.MemberGraphics.Card);
            MembersArea.Children.Add(card);
            card.MemberSelected += Card_MemberSelected;
            automatic            = true;
            Card_MemberSelected(card.Member);
        }
Exemple #2
0
 public UserInterface(Library.LibrarySystem system, Data.Member member)
 {
     this.member = member;
     drawer      = new UI.ScreenUI();
     // 사용자 권한을 가진 도서관 시스템을 생성
     this.system = system;
     // 입력에 대한 처리 객체
     inputProcessor = new UI.KeyInput();
     // 사용자 메인 플로우
     UserMain();
 }
Exemple #3
0
        public static int?Insert(this MemberVM memberVM)
        {
            try
            {
                var db  = new Data.GymContextDataContext();
                var obj = new Data.Member(); db.Members.InsertOnSubmit(obj);
                obj.Address        = memberVM.Address;
                obj.FingerId       = memberVM.FingerId;
                obj.Birthdate      = memberVM.BirthDate?.ToFa();
                obj.Dadsname       = memberVM.Fathername;
                obj.Description    = memberVM.Description;
                obj.Firstname      = memberVM.Firstname;
                obj.Lastname       = memberVM.Lastname;
                obj.Mobile         = memberVM.Mobile;
                obj.NationalCode   = memberVM.NationalCode;
                obj.IsRegular      = memberVM.IsRegular;
                obj.UserId         = Windows.Main.CurrentUser.Id;
                obj.IsActive       = true;
                obj.Image          = Guid.NewGuid().ToString();
                memberVM.ImagePath = obj.Image;
                db.SubmitChanges();

                var closet = db.Closets.Where(c => c.Id == memberVM.ClosetId).FirstOrDefault();
                if (closet != null)
                {
                    closet.RentorId = obj.Id;
                }

                db.SubmitChanges();

                if (memberVM.Image != null)
                {
                    try
                    {
                        memberVM.Image.Save(AppDomain.CurrentDomain.BaseDirectory + $"/Images/{obj.Image}.jpg");
                    }
                    catch
                    {
                    }
                }

                return(obj.Id);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
 // 입력된 정보를 가지고 회원을 등록, 학번이 같은 회원정보가 있으면 등록하지 않음
 public void Registration(Data.MemberManagement memberList)
 {
     Data.Member newMember = drawer.RegistrationScreen();
     if (newMember == null)
     {
         Console.Clear();
         return;
     }
     if (memberList.IsThereMember(newMember.StudentNo))
     {
         Console.WriteLine("\n   이미 존재하는 회원입니다.");
         Console.ReadKey();
         Console.Clear();
     }
     else
     {
         memberList.Insert(newMember);
     }
 }
 // 매개변수로 빌릴 책 객체와 빌리는 회원 객체를 받고 대출 처리를 한다.
 public void Rental(Data.Book book, Data.Member rentalMember)
 {
     if (book.Rental)    // 책이 대출중이면
     {
         Console.WriteLine("\n   현재 선택하신 책은 대출 중입니다.");
         inputProcessor.PressAnyKey();
         Console.Clear();
     }
     else  //  책이 보유 중 이면
     {
         // 대출 도서로 추가하고 대출 상태로 변경
         RentalHistory rentalBook = new RentalHistory(book);
         rentalHistoryList.Add(rentalBook);
         rentalMember.rentalBookList.Add(book);
         book.Rental = true;
         Console.WriteLine("\n   대출되었습니다.\n   반납 기한은 " + rentalBook.getDueDay() + "까지 입니다.");
         inputProcessor.PressAnyKey();
         Console.Clear();
     }
 }
        // 반납할 도서 객체와 반납 회원 객체를 받아 책을 반납처리한다.
        public void Return(Data.Book book, Data.Member rentalMember)
        {
            book.Rental = false;
            for (int i = 0; i < rentalHistoryList.Count; i++)
            {
                RentalHistory temp = (RentalHistory)rentalHistoryList[i];
                // 빌린 도서 목록에서 제외함으로 인해 반납처리됨
                if (temp.GetBook().Equals(book))
                {
                    rentalHistoryList.Remove(temp);
                    break;
                }
            }
            // 회원의 대출 도서 목록에서도 제외
            rentalMember.rentalBookList.Remove(book);
            Console.WriteLine("\n   반납되었습니다.");

            inputProcessor.PressAnyKey();
            Console.Clear();
        }
Exemple #7
0
        // 사용자로 로그인, 로그인 성공이면 true 반환
        public void LoginUser(Library.LibrarySystem system)
        {
            LoginInfo information = drawer.LoginScreen();

            if (manager.IsThereMember(information.ID))
            {
                // 학번으로 회원정보를 찾음
                ArrayList searchResult = manager.SearchBy((int)Data.MemberManagement.Format.StudentNoFormat, information.ID);
                if (searchResult.Count != 0)
                {
                    Data.Member memberInfo = (Data.Member)searchResult[0];
                    if (memberInfo.Password.Equals(information.Password))
                    {
                        Console.Clear();
                        Console.WriteLine("\n   " + memberInfo.Name + "님 환영합니다.");
                        Thread.Sleep(500);
                        Console.Clear();
                        // 로그인된 멤버 정보를 파라미터로 전달하고 유저 메뉴를 호출한다

                        new UserInterface(system, memberInfo);
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("\n아이디 또는 비밀번호가 틀립니다.");
                        inputProcessor.PressAnyKey();
                        Console.Clear();
                    }
                }
            }
            else
            {
                Console.Clear();
                Console.WriteLine("\n아이디 또는 비밀번호가 틀립니다.");
                inputProcessor.PressAnyKey();
                Console.Clear();
            }
        }
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {//get user details
                var user = new IdentityUser {
                    UserName = Input.Email, Email = Input.Email, PhoneNumber = Input.Phone
                };
                //make user
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {//add member role
                    await _userManager.AddToRoleAsync(user, "Member");

                    //add to member
                    var member = new Data.Member
                    {
                        FirstName    = Input.FirstName,
                        LastName     = Input.LastName,
                        UserId       = user.Id,//connect aspuser to member
                        Phone        = Input.Phone,
                        Email        = Input.Email,
                        RestuarantId = 1
                    };

                    //add member to existing DB
                    _context.Members.Add(member);

                    //save chaged
                    await _context.SaveChangesAsync();



                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    {
                        return
                            (RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl }));
                    }
                    else
                    {
                        await _signInManager.SignInAsync(user, isPersistent : false);

                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
Exemple #9
0
        public Data.Member RegistrationScreen()
        {
            Data.Member newMember = new Data.Member();

            Console.SetWindowSize(42, 30);
            Console.Clear();
            LibraryBanner();
            Console.WriteLine("\n\t\t<회원 가입>");
            Console.WriteLine("\n       이름 > ");
            Console.WriteLine("\n       학번 > ");
            Console.WriteLine("\n       주소 > ");
            Console.WriteLine("\n   전화번호 > ");
            Console.WriteLine("\n   비밀번호 > ");

            Console.SetCursorPosition(3, 28);
            Console.Write("ESC : 돌아가기");

            // 각각 항목들에 대해 문자열을 입력받는다.

            // 이름 입력 위치로 이동
            Console.SetCursorPosition(14, 11);
            // 이름 입력 형식 지정
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write("성 이름");
            Console.SetCursorPosition(14, 11);
            Console.ForegroundColor = ConsoleColor.White;
            newMember.Name          = inputProcessor.NameFormatInput(14);
            if (newMember.Name == null)
            {
                return(null);
            }

            // 학번 입력 위치로 이동
            Console.SetCursorPosition(14, 13);
            // 학번 형식 지정
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write("________");
            Console.ForegroundColor = ConsoleColor.White;
            Console.SetCursorPosition(14, 13);
            newMember.StudentNo = inputProcessor.StudentNoFormatInput(14);
            if (newMember.StudentNo == null)
            {
                return(null);
            }

            // 주소 입력 위치로 이동
            Console.SetCursorPosition(14, 15);
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write("주소 선택");
            Console.ForegroundColor = ConsoleColor.White;
            Console.SetCursorPosition(14, 15);
            // 키보드로 주소 선택
            newMember.Address = inputProcessor.AddressFormatInput(14);
            if (newMember.Address == null)
            {
                return(null);
            }

            // 전화번호 입력 위치로 이동
            Console.SetCursorPosition(14, 17);
            // 전화번호 형식 지정
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write("01_-____-____");
            Console.ForegroundColor = ConsoleColor.White;
            Console.SetCursorPosition(16, 17);
            newMember.PhoneNumber = inputProcessor.PhoneNumberFormatInput(14);
            if (newMember.PhoneNumber == null)
            {
                return(null);
            }

            Console.SetCursorPosition(14, 19);
            newMember.Password = inputProcessor.ReadAndCheckString(10, 30, 14, 19);
            if (newMember.Password == null)
            {
                return(null);
            }

            Console.Clear();
            return(newMember);
        }
 protected void Update_Click(object sender, EventArgs e)
 {
     if (Page.IsValid){
         Data.Member obj = new Data.Member();
         obj.Id = Id;
         obj.Name = txtName.Text;
         obj.Email = txtEmail.Text;
         obj.Username = txtUsername.Text;
         obj.Active = chkActive.Checked ? "1" : "0";
         obj.GroupMemberId = ddlGroupMember.SelectedValue.Length > 0 ? ddlGroupMember.SelectedValue : "1";
         if (Insert == true){
             obj.Password = txtPassword.Text;
             MemberService.Member_Insert(obj);
         }
         else{
             obj.Password = txtPassword.Text != "" ? StringClass.Encrypt(txtPassword.Text) : Password;
             MemberService.Member_Update(obj);
         }
         BindGrid();
         pnView.Visible = true;
         pnUpdate.Visible = false;
         Insert = false;
     }
 }
Exemple #11
0
        private void MentorDialog_Closing(object sender, MaterialDesignThemes.Wpf.DialogClosingEventArgs eventArgs)
        {
            var confirmed = (bool)eventArgs.Parameter;

            if (confirmed)
            {
                if (!string.IsNullOrEmpty(MentorModel.Firstname) && !string.IsNullOrEmpty(MentorModel.Lastname) &&
                    !string.IsNullOrEmpty(MentorModel.Mobile))
                {
                    var sports = SportsList.Where(s => s.IsSelected).ToList();
                    switch (action)
                    {
                    case Actions.Inserting:
                    {
                        if (!db.Members.Any(m => m.IsMentor && m.Mobile == MentorModel.Mobile))
                        {
                            Data.Member mentor;
                            db.Members.InsertOnSubmit(
                                mentor = new Data.Member
                                {
                                    Firstname    = MentorModel.Firstname,
                                    Lastname     = MentorModel.Lastname,
                                    Mobile       = MentorModel.Mobile,
                                    NationalCode = MentorModel.NationalCode,
                                    Address      = MentorModel.Address,
                                    IsMentor     = rdbMentor.IsChecked == true,
                                    IsStaff      = rdbPersonnel.IsChecked == true,
                                    UserId       = Main.CurrentUser.Id
                                });
                            db.SubmitChanges();
                            sports.ForEach(s => db.SportMentors.InsertOnSubmit(new Data.SportMentor
                                {
                                    MentorId = mentor.Id,
                                    SportId  = s.Id,
                                    Price    = s.Price
                                }));

                            db.SubmitChanges();

                            RefreshGrid();
                        }
                        else
                        {
                            DuplicateUsernameSnackBar.IsActive = true;


                            System.Threading.Thread t = new System.Threading.Thread(() =>
                                {
                                    var started = DateTime.Now;
                                    while (DateTime.Now.Subtract(started).TotalSeconds < 3)
                                    {
                                    }
                                    this.Dispatcher.Invoke(
                                        new Action(() => { DuplicateUsernameSnackBar.IsActive = false; }));
                                }); t.Start();
                        }
                        break;
                    }

                    case Actions.Editing:
                    {
                        var mentor = db.Members.Where(m => m.Id == MentorModel.Id).FirstOrDefault();
                        mentor.Firstname    = MentorModel.Firstname;
                        mentor.Lastname     = MentorModel.Lastname;
                        mentor.Mobile       = MentorModel.Mobile;
                        mentor.NationalCode = MentorModel.NationalCode;
                        mentor.Address      = MentorModel.Address;

                        var currentMentorSports = db.SportMentors.Where(sm => sm.MentorId == MentorModel.Id).ToList();

                        var removeList = currentMentorSports.Where(sm => !sports.Select(s => s.Id).Contains(sm.SportId));
                        var addList    = sports.Where(s => !currentMentorSports.Select(ms => ms.SportId).Contains(s.Id)).ToList();

                        addList.ForEach(s => db.SportMentors.InsertOnSubmit(new Data.SportMentor
                            {
                                MentorId = MentorModel.Id,
                                SportId  = s.Id,
                                Price    = s.Price
                            }));

                        db.SportMentors.DeleteAllOnSubmit(removeList);

                        db.SubmitChanges();

                        RefreshGrid();
                        break;
                    }

                    default:
                        break;
                    }
                }
            }

            else
            {
                Dynamics.LastEscapeTime = DateTime.Now;
            }
        }