Example #1
0
// Method for accepting a swap request.

    public bool AcceptSwapRequest(Guid requestId)
    {
        using (SwapEntities ent = new SwapEntities())
        {
            try
            {
                var getSwap = (from tbl in ent.RequestEvents
                               where tbl.Id == requestId
                               select tbl).SingleOrDefault();

                DateTime dateFrom  = getSwap.DateFrom;
                DateTime dateTo    = getSwap.DateTo;
                Guid     veMain    = getSwap.FromVeId;
                Guid     veOther   = getSwap.ToVeId;
                string   userMain  = getSwap.RequestFrom;
                string   userOther = getSwap.RequestTo;
                string   emailUser;
                string   userwhoAccepts;

                getSwap.Accept       = true;
                getSwap.DateAccepted = DateTime.Now;
                ent.SaveChanges();

                Guid          swapId  = Guid.NewGuid();
                ScheduledSwap newSwap = new ScheduledSwap();
                newSwap.Id         = swapId;
                newSwap.OtherRated = false;
                newSwap.MainRated  = false;
                newSwap.Date       = DateTime.Now;
                newSwap.DateFrom   = dateFrom;
                newSwap.DateTo     = dateTo;
                newSwap.UserMain   = userMain;
                newSwap.UserOther  = userOther;
                newSwap.VeMain     = veMain;
                newSwap.VeOther    = veOther;

                ent.AddToScheduledSwaps(newSwap);
                ent.SaveChanges();

                string       strMsg = "You and I have a new scheduled swap! Please contact me when you can.";
                MessageClass msg    = new MessageClass();
                msg.SendMsg(userMain, userOther, strMsg, "QM");
                msg.SendMsg(userOther, userMain, strMsg, "QM");
                CleanRequestsAndNotify(requestId, dateFrom, dateTo, userMain, userOther);

                if (userMain == PublicUserName)
                {
                    emailUser      = userOther;
                    userwhoAccepts = userMain;
                }
                else
                {
                    emailUser      = userMain;
                    userwhoAccepts = userOther;
                }

                UserClass iAccepted = new UserClass(userwhoAccepts);
                string    strEmsg   = "Your swap request has been accepted! You have a new scheduled swap on " + dateFrom.ToShortDateString() +
                                      " with " + iAccepted.PublicFirstName + ". Please log in at veswap.com " +
                                      "in order to review " + iAccepted.PublicFirstName + "'s information, and arrange swap details with this user. Remember, the smoother " +
                                      "the swap the better your rating, so please be punctual!";

                EmailUsersClass emu = new EmailUsersClass(emailUser);
                emu.SendHtmlFormattedEmail(emailUser, "Swap request accepted!", strEmsg);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
    }