예제 #1
0
 private void luedtBranchCode_EditValueChanged(object sender, System.EventArgs e)
 {
     MemberRecord.CurrentLastMembershipID(luedtBranchCode.EditValue.ToString(), ref currentLastNonMemberID,
                                          ref currentLastMemberID);
     txtLastMemberID.EditValue    = currentLastMemberID;
     txtLastNonMemberID.EditValue = currentLastNonMemberID;
 }
예제 #2
0
        public List <Books> DrawBookToProfile()
        {
            ProfileController cigo   = new ProfileController(sanyika);
            MemberRecord      menjma = cigo.GetCurrentUser();

            return(sanyika.BookOnProfile(menjma.User_Idint));
        }
예제 #3
0
        public frmIntroduceFriend(string aMembershipID, int aEmployeeID, MemberRecord aMemberRecord, string aTerminalBranchCode)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //

            TblRewards rewards      = new TblRewards();
            DataTable  rewardsTable = rewards.SelectnTypeID(0);

            new XtraUtils.LookupEditBuilder.LoyalPointsLookupEditBuilder(rewardsTable, lkpEdtLoyalPoint.Properties);

            TblReceiptFreebie Freebie      = new TblReceiptFreebie();
            DataTable         FreebieTable = Freebie.SelectFriendFreebie();

            new XtraUtils.LookupEditBuilder.FriendPromotionLookupEditBuilder(FreebieTable, lkFreebie.Properties);

            strMembershipID           = aMembershipID;
            strTerminalBranchCode     = aTerminalBranchCode;
            employeeID                = aEmployeeID;
            myMemberRecord            = aMemberRecord;
            ucMemberID1.StrBranchCode = aTerminalBranchCode;
        }
예제 #4
0
        private void sbtnFind_Click(object sender, System.EventArgs e)
        {
            if (strBranchCode == null)
            {
                UI.ShowErrorMessage(this, "You forgot to set StrBranchCode property.");
                return;
            }
            Cursor saveCursor = Cursor.Current;

            Cursor.Current = Cursors.WaitCursor;
            try
            {
                myMemberRecord = new MemberRecord(strBranchCode);
                frmSearchMember myForm = new frmSearchMember(myMemberRecord,
                                                             myMemberRecord.SearchMember(txtMembershipID.Text, DBNull.Value,
                                                                                         ACMSLogic.MemberRecord.SearchMemberType.AllMember, 1),
                                                             txtMembershipID.Text, DBNull.Value);
                if (DialogResult.OK == myForm.ShowDialog(this))
                {
                    txtMembershipID.Text = myForm.StrMemberShipID;

                    if (myEditValueChangedEvent != null)
                    {
                        myEditValueChangedEvent(txtMembershipID.Text);
                    }
                }
                myForm.Dispose();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
예제 #5
0
        public frmNewMember(string strIntroFriendSerialNo, string aStrMembershipID, MemberRecord aMemberRecord, ACMSLogic.User oUser, string aStrTerminalBranchCode)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            ACMS.XtraUtils.XtraEditors.SetDateEditFormat(dateedtDOB);
            myMemberRecord        = aMemberRecord;
            myUser                = oUser;
            strTerminalBranchCode = aStrTerminalBranchCode;
            strMembershipID       = string.Empty;

            chkedtMember.Checked = true;
            dateedtDOB.DateTime  = DateTime.Now.Date;

            if (strIntroFriendSerialNo.Length == 0)
            {
                chkedtMember.Enabled = true;
                chkedtMember.Checked = true;
                // dateedtDOB.DateTime = DateTime.Now.Date;
            }
            else
            {
                chkedtMember.Checked = false;
                chkedtMember.Enabled = false;
                //  dateedtDOB.DateTime = DateTime.Now.Date;
            }
        }
예제 #6
0
        public Member RandomMemberFromData(ReportManager manager)
        {
            MemberReport report   = manager.GetMemberReport();
            MemberRecord selected = (MemberRecord)report.Rows[random.Next(report.Rows.Count)];

            return(selected.ToMemberObject());
        }
        public void GetData_oneConsultationRecord_EmptyMemberRecord()
        {
            var memberRecord = new MemberRecord(new Dictionary <string, object>());

            var consultationRecord = new Dictionary <string, object>();

            consultationRecord.Add("current_date", new DateTime(2021, 2, 1));
            consultationRecord.Add("service_date", new DateTime(2021, 1, 1));
            consultationRecord.Add("member_number", 4);
            consultationRecord.Add("service_number", 5);
            consultationRecord.Add("provider_number", 6);

            var consultationRecords = new List <ConsultationRecord> {
                new ConsultationRecord(consultationRecord)
            };

            var providerRecord = new Dictionary <string, object>();

            providerRecord.Add("name", "John Smith");
            providerRecord.Add("address", "111");
            providerRecord.Add("city", "Blah");
            providerRecord.Add("state", "OR");
            providerRecord.Add("zip", 1111);
            providerRecord.Add("number", 1);

            var serviceRecord = new Dictionary <string, object>();

            serviceRecord.Add("name", "AA");
            serviceRecord.Add("number", 5);
            serviceRecord.Add("fee", 100.00);

            _databaseMock.Setup(c => c.FetchMember(3)).Returns(memberRecord);
            _databaseMock.Setup(c => c.FetchConsultationRecordsForMember(3)).Returns(consultationRecords);
            _databaseMock.Setup(c => c.FetchProvider(6)).Returns(new ProviderRecord(providerRecord));
            _databaseMock.Setup(c => c.FetchServiceRecord(5)).Returns(new ServiceRecord(serviceRecord));

            var result = _memberDataGetter.GetData(3);

            Assert.IsInstanceOfType(result, typeof(ReportData));
            Assert.AreEqual(memberRecord, result.MemberRecord);

            Assert.AreEqual(1, result.ProvidedServices.Count);

            var providedService = result.ProvidedServices[0];

            Assert.AreEqual(new DateTime(2021, 1, 1), providedService.ServiceDate);
            Assert.AreEqual("John Smith", providedService.ProviderName);
            Assert.AreEqual("AA", providedService.ServiceName);

            _databaseMock.Verify(c => c.FetchMember(3), Times.Once);
            _databaseMock.Verify(c => c.FetchConsultationRecordsForMember(3), Times.Once);
            _databaseMock.Verify(c => c.FetchProvider(6), Times.Once);
            _databaseMock.Verify(c => c.FetchServiceRecord(5), Times.Once);

            _databaseMock.VerifyNoOtherCalls();
        }
예제 #8
0
        public frmDNCConsent(string aStrMembershipID, string aStrMembershipName, string aStrEmail, MemberRecord aMemberRecord, ACMSLogic.User oUser, string aStrTerminalBranchCode)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            myMemberRecord        = aMemberRecord;
            myUser                = oUser;
            strTerminalBranchCode = aStrTerminalBranchCode;
            strMembershipID       = aStrMembershipID;
            strMembershipName     = aStrMembershipName;
            strEmail              = aStrEmail;
        }
예제 #9
0
        public frmNewMember(MemberRecord aMemberRecord, ACMSLogic.User oUser, string aStrTerminalBranchCode)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            ACMS.XtraUtils.XtraEditors.SetDateEditFormat(dateedtDOB);
            myMemberRecord        = aMemberRecord;
            myUser                = oUser;
            strTerminalBranchCode = aStrTerminalBranchCode;
            strMembershipID       = string.Empty;

            chkedtMember.Checked = true;
            dateedtDOB.DateTime  = DateTime.Now.Date;
        }
예제 #10
0
        public async Task <ActionResult> LoginAsync([FromForm] string user_name, [FromForm] string password)
        {
            MemberRecord user = _dbService.Login(user_name, password);

            if (user == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Email, user.User_Name),
            };

            var claimsIdentity = new ClaimsIdentity(
                claims, CookieAuthenticationDefaults.AuthenticationScheme);

            var authProperties = new AuthenticationProperties
            {
                //AllowRefresh = <bool>,
                // Refreshing the authentication session should be allowed.

                //ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(10),
                // The time at which the authentication ticket expires. A
                // value set here overrides the ExpireTimeSpan option of
                // CookieAuthenticationOptions set with AddCookie.

                //IsPersistent = true,
                // Whether the authentication session is persisted across
                // multiple requests. When used with cookies, controls
                // whether the cookie's lifetime is absolute (matching the
                // lifetime of the authentication ticket) or session-based.

                //IssuedUtc = <DateTimeOffset>,
                // The time at which the authentication ticket was issued.

                //RedirectUri = <string>
                // The full path or absolute URI to be used as an http
                // redirect response value.
            };

            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                new ClaimsPrincipal(claimsIdentity),
                authProperties);

            return(RedirectToAction("Index", "Profile"));
        }
예제 #11
0
        private void sbtnOK_Click(object sender, System.EventArgs e)
        {
            int lastMemberID    = ACMS.Convert.ToInt32(spinedtLastMemberID.EditValue);
            int lastNonMemberID = ACMS.Convert.ToInt32(spinedtLastNonMemberID.EditValue);

            if (lastMemberID > 0 || lastNonMemberID > 0)
            {
                if (lastNonMemberID > 0 && MemberRecord.MembershipIDExist("NMC" + (lastNonMemberID + 1)))
                {
                    if (!ACMS.Utils.UI.ShowYesNoMessage(this, "The non membership ID already exist for this number. Are you sure you "
                                                        + "want continue?"))
                    {
                        DialogResult = DialogResult.None;
                        return;
                    }
                }
                if (lastMemberID > 0 && MemberRecord.MembershipIDExist(strBranchCode.Trim() + (lastMemberID + 1)))
                {
                    if (!ACMS.Utils.UI.ShowYesNoMessage(this, "The membership ID will already for this number. Are you sure you "
                                                        + "want continue?"))
                    {
                        DialogResult = DialogResult.None;
                        return;
                    }
                }

                string message = "";
                if (lastMemberID > 0)
                {
                    message = "New last member ID will be " + lastMemberID + ". ";
                }
                if (lastNonMemberID > 0)
                {
                    message += "New last non-member ID will be " + lastNonMemberID + ". ";
                }
                message += "Are you sure you want to commit change?";
                if (ACMS.Utils.UI.ShowYesNoMessage(this, message))
                {
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    DialogResult = DialogResult.Cancel;
                }
            }
        }
예제 #12
0
        public frmResetMembershipID(string terminalBranchCode)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
            currentLastNonMemberID = 0;
            currentLastMemberID    = 0;
            strBranchCode          = terminalBranchCode;
            MemberRecord.CurrentLastMembershipID(terminalBranchCode, ref currentLastNonMemberID, ref currentLastMemberID);
            txtLastMemberID.EditValue    = currentLastMemberID;
            txtLastNonMemberID.EditValue = currentLastNonMemberID;
        }
예제 #13
0
        private void Load()
        {
            StreamReader inStream = new StreamReader(File.Open(rootPath + "database.db", FileMode.OpenOrCreate, FileAccess.Read));


            String activeType = "";

            while (!inStream.EndOfStream)
            {
                String line = inStream.ReadLine();
                if (line.Equals(""))
                {
                    continue;
                }
                if (line.StartsWith("*"))
                {
                    activeType = line.Substring(1, line.IndexOf(':') - 1);
                    continue;
                }
                switch (activeType)
                {
                case "MEMBERS":
                    members.Add(MemberRecord.FromString(line));
                    break;

                case "PROVIDERS":
                    providers.Add(ProviderRecord.FromString(line));
                    break;

                case "SERVICES":
                    services.Add(ServiceRecord.FromString(line));
                    break;

                case "CONSULTATIONS":
                    consultations.Add(ConsultationRecord.FromString(line));
                    break;

                default:
                    break;
                }
            }
            inStream.Close();
        }
예제 #14
0
        public List <MemberRecord> GetAllUser()
        {
            List <MemberRecord> allUser = new List <MemberRecord>();

            using (var conn = new NpgsqlConnection(Program.ConnectionString))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT * FROM MemberRecord", conn))
                {
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        string       User_Idint = reader["User_Idint"].ToString();
                        string       User_Name  = reader["User_Name"].ToString();
                        string       pw         = reader["pw"].ToString();
                        MemberRecord books      = new MemberRecord(User_Idint, User_Name, pw);
                        allUser.Add(books);
                    }

                    return(allUser);
                }
            }
        }
예제 #15
0
        private void sbtnSave_Click(object sender, System.EventArgs e)
        {
            if (txtMemberName.Text.Length == 0)
            {
                UI.ShowErrorMessage(this, "Please fill in Member Name.");
                txtMemberName.Focus();
                DialogResult = DialogResult.None;
                return;
            }
            if (txtNRICFIN.Text.Length == 0)
            {
                UI.ShowErrorMessage(this, "Please fill in NIRC/FIN.");
                txtNRICFIN.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            if (chkedtIsSg.Checked && !MemberRecord.ValidateNRICFormat(txtNRICFIN.Text))
            {
                if (UI.ShowYesNoMessage(this, "NIRC is not in valid format. Do you want enter again?", "Reminder"))
                {
                    txtNRICFIN.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
            }

            if (chkedtIsSg.Checked)
            {
                if (myMemberRecord.CheckDuplicateNRIC(txtNRICFIN.Text, "") > 0)
                {
                    ACMS.Utils.UI.ShowErrorMessage(this, "This NRIC already registed by other person.", "Duplicate NRIC");
                    txtNRICFIN.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
            }

            if (dateedtDOB.EditValue == null || dateedtDOB.EditValue.ToString().Length == 0)
            {
                ACMS.Utils.UI.ShowErrorMessage(this, "Please enter Date of Birth.");
                dateedtDOB.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            try
            {
                if (chkedtMember.Checked)
                {
                    strMembershipID = myMemberRecord.AddNewMember(chkedtMember.Checked, strTerminalBranchCode, txtMemberName.Text, chkedtIsSg.Checked,
                                                                  txtNRICFIN.Text, myUser.NEmployeeID(), dateedtDOB.DateTime, myUser);
                }
                else
                {
                    strMembershipID = myMemberRecord.AddNewMember(chkedtMember.Checked, myUser.StrBranchCode(), txtMemberName.Text, chkedtIsSg.Checked,
                                                                  txtNRICFIN.Text, myUser.NEmployeeID(), dateedtDOB.DateTime, myUser);
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message.IndexOf(
                        "Violation of PRIMARY KEY constraint 'PK_tblMember'. Cannot insert duplicate key in object 'tblMember") != -1)
                {
                    UI.ShowErrorMessage("Duplicate ID found. Please reset membership ID.");
                    DialogResult = DialogResult.Cancel;
                }
                else
                {
                    throw;
                }
            }
            DialogResult = DialogResult.OK;
        }
예제 #16
0
 public MemberRecord GetByUsernameAndPassword(MemberRecord user)
 {
     return(_allUser.Where(u => u.User_Name == user.User_Name & u.pw == user.pw).FirstOrDefault());
 }
예제 #17
0
 public void initData(ACMSLogic.User User)
 {
     oUser = User;
     MemberRecord myMemberRecord = new MemberRecord(oUser.StrBranchCode());
 }
        public void GetData_twoConsultationRecords()
        {
            // Variable setups
            var memberRecord = new MemberRecord(new Dictionary <string, object>())
            {
                Name    = "Alex Burbank",
                Address = "1111",
                City    = "Blah",
                Number  = 7,
                State   = "OR",
                Zip     = 1111
            };

            var consultationRecord1 = new Dictionary <string, object>();

            consultationRecord1.Add("current_date", new DateTime(2021, 2, 1));
            consultationRecord1.Add("service_date", new DateTime(2021, 1, 1));
            consultationRecord1.Add("member_number", 4);
            consultationRecord1.Add("service_number", 5);
            consultationRecord1.Add("provider_number", 6);

            var consultationRecord2 = new Dictionary <string, object>();

            consultationRecord2.Add("current_date", new DateTime(2021, 2, 1));
            consultationRecord2.Add("service_date", new DateTime(2021, 1, 1));
            consultationRecord2.Add("member_number", 4);
            consultationRecord2.Add("service_number", 8);
            consultationRecord2.Add("provider_number", 2);


            var consultationRecords = new List <ConsultationRecord> {
                new ConsultationRecord(consultationRecord1),
                new ConsultationRecord(consultationRecord2)
            };

            var providerRecord1 = new Dictionary <string, object>();

            providerRecord1.Add("name", "John Smith");
            providerRecord1.Add("address", "111");
            providerRecord1.Add("city", "Blah");
            providerRecord1.Add("state", "OR");
            providerRecord1.Add("zip", 1111);
            providerRecord1.Add("number", 6);

            var providerRecord2 = new Dictionary <string, object>();

            providerRecord2.Add("name", "Alex Burbank");
            providerRecord2.Add("address", "111");
            providerRecord2.Add("city", "Blah");
            providerRecord2.Add("state", "OR");
            providerRecord2.Add("zip", 1111);
            providerRecord2.Add("number", 3);

            var serviceRecord1 = new Dictionary <string, object>();

            serviceRecord1.Add("name", "AA");
            serviceRecord1.Add("number", 5);
            serviceRecord1.Add("fee", 100.00);

            var serviceRecord2 = new Dictionary <string, object>();

            serviceRecord2.Add("name", "AB");
            serviceRecord2.Add("number", 5);
            serviceRecord2.Add("fee", 100.00);

            // Mock setups
            _databaseMock.Setup(c => c.FetchMember(3)).Returns(memberRecord);

            _databaseMock.Setup(c => c.FetchConsultationRecordsForMember(3)).Returns(consultationRecords);

            _databaseMock.Setup(c => c.FetchProvider(6)).Returns(new ProviderRecord(providerRecord1));
            _databaseMock.Setup(c => c.FetchProvider(2)).Returns(new ProviderRecord(providerRecord2));

            _databaseMock.Setup(c => c.FetchServiceRecord(5)).Returns(new ServiceRecord(serviceRecord1));
            _databaseMock.Setup(c => c.FetchServiceRecord(8)).Returns(new ServiceRecord(serviceRecord2));

            // Action
            var result = _memberDataGetter.GetData(3);

            // Asserts
            Assert.IsInstanceOfType(result, typeof(ReportData));
            Assert.AreEqual(memberRecord, result.MemberRecord);

            Assert.AreEqual(2, result.ProvidedServices.Count);

            var providedService1 = result.ProvidedServices[0];

            Assert.AreEqual(new DateTime(2021, 1, 1), providedService1.ServiceDate);
            Assert.AreEqual("John Smith", providedService1.ProviderName);
            Assert.AreEqual("AA", providedService1.ServiceName);

            var providedService2 = result.ProvidedServices[1];

            Assert.AreEqual(new DateTime(2021, 1, 1), providedService2.ServiceDate);
            Assert.AreEqual("Alex Burbank", providedService2.ProviderName);
            Assert.AreEqual("AB", providedService2.ServiceName);

            // Mock verification
            _databaseMock.Verify(c => c.FetchMember(3), Times.Once);

            _databaseMock.Verify(c => c.FetchConsultationRecordsForMember(3), Times.Once);

            _databaseMock.Verify(c => c.FetchProvider(6), Times.Once);
            _databaseMock.Verify(c => c.FetchProvider(2), Times.Once);

            _databaseMock.Verify(c => c.FetchServiceRecord(5), Times.Once);
            _databaseMock.Verify(c => c.FetchServiceRecord(8), Times.Once);

            _databaseMock.VerifyNoOtherCalls();
        }
예제 #19
0
        public MemberRecord GetCurrentUser()
        {
            MemberRecord user = _dbService.GetOneUser(user_name);

            return(user);
        }
예제 #20
0
 public void InsertMember(MemberRecord record)
 {
     this.members.Add(record);
 }