Beispiel #1
0
        public CtrMember.MemberBidState InsertBid(int mid, decimal bidAmount, int aid)
        {
            CtrArt    ctrArt = new CtrArt();
            CtrMember ctrMem = new CtrMember();
            Art       a      = ctrArt.RetrieveById(aid);
            Member    m      = ctrMem.RetrieveSingleByID(mid);

            CtrMember.MemberBidState bidState = CtrMember.MemberBidState.BidError;

            if (m == null)
            {
                return(CtrMember.MemberBidState.BidError);
            }
            if (a == null)
            {
                return(CtrMember.MemberBidState.BidError);
            }

            if (ctrMem.CheckEligibleBid(m, bidAmount) == CtrMember.MemberBidState.Verified)
            {
                using (AuctionDBContext db = new AuctionDBContext())
                {
                    Bid b = new Bid();

                    b.DateTime  = DateTime.Now;
                    b.BidAmount = bidAmount;
                    b.Art       = a;
                    b.Member    = m;

                    try
                    {
                        db.Members.Attach(m);
                        db.Arts.Attach(a);
                        db.Bids.Add(b);
                        db.DebugDetectChanges();
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }

                    bidState = CtrMember.MemberBidState.BidConfirmed;
                }
            }
            else
            {
                bidState = CtrMember.MemberBidState.NotEnough;
            }

            return(bidState);
        }
        public CtrMember.MemberBidState InsertBid(int mid, decimal bidAmount, int aid)
        {
            CtrArt ctrArt = new CtrArt();
            CtrMember ctrMem = new CtrMember();
            Art a = ctrArt.RetrieveById(aid);
            Member m = ctrMem.RetrieveSingleByID(mid);

            CtrMember.MemberBidState bidState = CtrMember.MemberBidState.BidError;

            if (m == null)
            {
                return CtrMember.MemberBidState.BidError;
            }
            if (a == null)
            {
                return CtrMember.MemberBidState.BidError;
            }

            if (ctrMem.CheckEligibleBid(m, bidAmount) == CtrMember.MemberBidState.Verified)
            {
                using (AuctionDBContext db = new AuctionDBContext())
                {
                    Bid b = new Bid();

                    b.DateTime = DateTime.Now;
                    b.BidAmount = bidAmount;
                    b.Art = a;
                    b.Member = m;

                    try
                    {
                        db.Members.Attach(m);
                        db.Arts.Attach(a);
                        db.Bids.Add(b);
                        db.DebugDetectChanges();
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }

                    bidState = CtrMember.MemberBidState.BidConfirmed;
                }
            }
            else
            {
                bidState = CtrMember.MemberBidState.NotEnough;
            }

            return bidState;
        }
        public void TestInsertBid()
        {
            CtrMember ctrMem = new CtrMember();
            CtrArt ctrArt = new CtrArt();

            Art a = ctrArt.RetrieveByNo(1410);
            Member m = ctrMem.RetrieveSingleByID(1);

            CtrMember.MemberBidState state = ctrAuction.InsertBid(m.Id, 9000, a.Id);

            if (state == CtrMember.MemberBidState.BidConfirmed)
            {
                Console.WriteLine(ctrMem.WithdrawAmount(m.Id, 9000));
            }

            Console.WriteLine(state);
        }
 public void CtrMemberTestInitialize()
 {
     Console.Out.WriteLine("CtrMemberTestInitialize called");
     ctrMem = new CtrMember();
 }
 public void CtrMemberTestCleanup()
 {
     Console.Out.WriteLine("CtrMemberTestCleanup called");
     ctrMem = null;
 }
        private void btnBid_Click(object sender, EventArgs e)
        {
            CtrMember ctrMem = new CtrMember();

            Member m = ctrMem.RetrieveSingleByID(Convert.ToInt32(txtMember.Text));
            Art a = ctrArt.RetrieveByNo(currentArt.Number);

            if (previosBidder != null)
            {
                if (previosBidder.Id == m.Id)
                {
                    lblBidState.Text = "Medlem har allerede højeste bud!";
                }
                else
                {
                    if (currentArt.StartingBid > Convert.ToDecimal(txtBidAmount.Text))
                    {
                        lblBidState.Text = "Buddet er mindre end startsprisen!";
                    }
                    else if (previousBid >= Convert.ToDecimal(txtBidAmount.Text))
                    {
                        lblBidState.Text = "Buddet skal være højere end det forrige!";
                    }
                    else
                    {
                        CtrMember.MemberBidState state = ctrAuc.InsertBid(m.Id, Convert.ToDecimal(txtBidAmount.Text), a.Id);

                        if (state == CtrMember.MemberBidState.BidConfirmed)
                        {
                            lblBidState.Text = "Bud accepteret!";
                            previosBidder = m;
                            previousBid = Convert.ToDecimal(txtBidAmount.Text);
                            populatebids(a.Number);
                        }
                        if (state == CtrMember.MemberBidState.BidError)
                        {
                            lblBidState.Text = "Bud blev ikke accepteret!";
                        }
                        if (state == CtrMember.MemberBidState.NotEnough)
                        {
                            lblBidState.Text = "Medlem har ikke nok point!";
                        }
                    }
                }
            }

            else
            {
                if (currentArt.StartingBid > Convert.ToDecimal(txtBidAmount.Text))
                {
                    lblBidState.Text = "Buddet er mindre end startsprisen!";

                }
                else if (previousBid >= Convert.ToDecimal(txtBidAmount.Text))
                {
                    lblBidState.Text = "Buddet skal være højere end det forrige!";
                }
                else
                {
                    CtrMember.MemberBidState state = ctrAuc.InsertBid(m.Id, Convert.ToDecimal(txtBidAmount.Text), a.Id);

                    if (state == CtrMember.MemberBidState.BidConfirmed)
                    {
                        lblBidState.Text = "Bud accepteret!";
                        previosBidder = m;
                        previousBid = Convert.ToDecimal(txtBidAmount.Text);
                        populatebids(a.Number);
                    }
                    if (state == CtrMember.MemberBidState.BidError)
                    {
                        lblBidState.Text = "Bud blev ikke accepteret!";
                    }
                    if (state == CtrMember.MemberBidState.NotEnough)
                    {
                        lblBidState.Text = "Medlem har ikke nok point!";
                    }
                }

            }
        }