예제 #1
0
    protected void btnSendEmailToVendors_Command(object sender, CommandEventArgs e)
    {
        try
        {
            ArrayList      list = GetSelectedSuppliers();
            AuctionDetails details = GetAuctionItemDetails(int.Parse(Session[Constant.SESSION_AUCTIONREFNO].ToString()));
            int            failedcount = 0, successcount = 0;

            if (SendEmailInvitation(details, list, ref failedcount, ref successcount))
            {
                if ((failedcount == 0) && (successcount > 0))
                {
                    // success
                    Session["Message"] = (successcount == 1 ? "Invitation" : "Invitations") + " were sent successfully.";
                }
                else
                {
                    // failed
                    Session["Message"] = "Failed to send " + (list.Count == 1 ? "invitation" : "invitations") + " to " + failedcount + " out of " + list.Count + (list.Count == 1 ? " recipient" : " recipients") + ". Please try again or contact adminitrator for assistance.";
                }
            }
            else
            {
                // failed
                Session["Message"] = "Failed to send invitations. Please try again or contact adminitrator for assistance.";
            }
        }
        catch
        {
            // failed
            Session["Message"] = "Failed to send invitations. Please try again or contact adminitrator for assistance.";
        }

        Response.Redirect("approvedauctiondetails.aspx");
    }
예제 #2
0
    private bool SendEmailInvitation(AuctionDetails auctiondetails, ArrayList recipients, ref int failedcount, ref int successcount)
    {
        bool   success = false;
        string subject = "Trans-Asia / Commnunications : Invitation to Auction";

        failedcount  = 0;
        successcount = 0;

        try
        {
            for (int i = 0; i < recipients.Count; i++)
            {
                AuctionParticipant p = (AuctionParticipant)recipients[i];

                if (!MailHelper.SendEmail(MailTemplate.GetDefaultSMTPServer(),
                                          MailHelper.ChangeToFriendlyName(auctiondetails.Creator, auctiondetails.CreatorEmail),
                                          MailHelper.ChangeToFriendlyName(p.Name, p.EmailAddress),
                                          subject,
                                          CreateInvitationBody(auctiondetails, p),
                                          MailTemplate.GetTemplateLinkedResources(this)))
                {                       // if sending failed
                    failedcount++;
                    LogHelper.EventLogHelper.Log("Auction > Send Invitation : Sending Failed to " + p.EmailAddress, System.Diagnostics.EventLogEntryType.Error);
                }
                else
                {                       // if sending successful
                    successcount++;
                    LogHelper.EventLogHelper.Log("Auction > Send Invitation : Email Sent to " + p.EmailAddress, System.Diagnostics.EventLogEntryType.Information);
                    // update sent mail count
                    SqlHelper.ExecuteNonQuery(connstring, "sp_SendEmailInvitation", new SqlParameter[] { new SqlParameter("@ParticipantId", p.ID) });
                }
            }

            success = true;
        }
        catch (Exception ex)
        {
            success = false;
            LogHelper.EventLogHelper.Log("Auction > Send Invitation : " + ex.Message, System.Diagnostics.EventLogEntryType.Error);
        }

        try
        {
            for (int j = 0; j < recipients.Count; j++)
            {
                AuctionParticipant p = (AuctionParticipant)recipients[j];

                if (SMSHelper.AreValidMobileNumbers(p.MobileNo.Trim()))
                {
                    SMSHelper.SendSMS(new SMSMessage(CreateSMSInvitationBody(auctiondetails, p).Trim(), p.MobileNo.Trim())).ToString();
                }
            }
        }
        catch (Exception ex)
        {
            LogHelper.EventLogHelper.Log("Auction > Send SMS Invitation : " + ex.Message, System.Diagnostics.EventLogEntryType.Error);
        }

        return(success);
    }
예제 #3
0
    protected void btnSubmit1_Click(object sender, EventArgs e)
    {
        if (hdnDetailNo.Value.Length > 0)
        {
            AuctionTransaction au = new AuctionTransaction();
            au.SubmitApprovedAuction(connstring, hdnAuctionRefNo.Value.Trim());
            ChangeConversionStatus(int.Parse(hdnDetailNo.Value.Trim()), Constant.BIDITEM_STATUS.CONVERSION_STATUS.CONVERTED);

            // add participants immediately
            AuctionItemTransaction.InsertAuctionParticipants(connstring, hdnAuctionRefNo.Value.ToString().Trim());

            AuctionDetails details = GetAuctionItemDetails(int.Parse(hdnAuctionRefNo.Value.Trim()));
            ArrayList      list = AuctionItemTransaction.GetAuctionParticipants(connstring, int.Parse(hdnAuctionRefNo.Value.Trim()));
            int            failedcount = 0, successcount = 0;

            GetVendorsTender(int.Parse(hdnAuctionRefNo.Value.ToString()));
            SubmitAllTenders();
            SendEmailInvitation(details, list, ref failedcount, ref successcount);

            Response.Redirect("approvedauctionevents.aspx");
        }
        else
        {
            AuctionTransaction au = new AuctionTransaction();
            au.SubmitAnAuction(connstring, hdnAuctionRefNo.Value.Trim());

            Response.Redirect("auctionsubmit.aspx");
        }
    }
 public IActionResult AuctionDetails(int auct)
 {
     try
     {
         var auction = _unitOfWork.Auctions.GetAuction(auct);
         var model   = new AuctionDetails
         {
             AuctionId     = auction.AuctionId,
             Author        = auction.ArtWork.Author.FirstName + " " + auction.ArtWork.Author.LastName,
             Caption       = auction.ArtWork.Caption,
             DateTime      = auction.DateTime,
             Category      = auction.ArtWork.Category.Name,
             Image         = auction.ArtWork.Image,
             Name          = auction.ArtWork.Name,
             Sold          = auction.ArtWork.Sold,
             StartingPrice = auction.StartingPrice,
             UserPosted    = auction.User.UserName
         };
         return(View(model));
     }
     catch (Exception)
     {
         return(RedirectToAction(nameof(ResultOperation), new { op = "failed. Internal Server Error." }));
     }
 }
        private void GetAuctionsDetailsFromPage(List <HtmlDocument> pages, List <AuctionDetails> auctionDetails)
        {
            foreach (var page in pages)
            {
                try
                {
                    foreach (var auction in page.DocumentNode.SelectNodes(".//*[@class='_00d6b80']"))
                    {
                        string title    = auction.SelectSingleNode(".//*[@class='_734e7e0']").FirstChild.ChildNodes[0].InnerText;
                        string url      = auction.SelectSingleNode(".//*[@class='_734e7e0']").FirstChild.FirstChild.GetAttributeValue("href", "title");
                        string price    = auction.SelectSingleNode(".//*[@class='fee8042']").ChildNodes[0].InnerText.Replace(" ", string.Empty);
                        string currency = auction.SelectSingleNode(".//span[@class='_31f32cc']")?.InnerText;
                        auctionDetails.Add(AuctionDetails.Create(url, title, price, currency));
                    }
                }
                catch (Exception ex)
                {
                    AuctionCounter--;
                    _logger.LogCritical(ex, "Error while downloading auction.");
                    continue;
                }

                AuctionCounter++;
            }

            _logger.LogInformation($"Downloaded progress auction : {AuctionCounter} / {pages.Count}");
        }
예제 #6
0
        public async Task <AuctionDetails> GetAuctionById(int id)
        {
            var auction = await _auctionRepository.GetById(id);

            var auctionBets = _auctionBetRepository.GetAuctionBetsById(id).ToList();

            return(AuctionDetails.FormAuctionDetailsWithBets(auction, auctionBets));
        }
예제 #7
0
        public async Task <bool> DeleteAsync(AuctionDeleteRequestModel request, int loggedInUserId)
        {
            var strategy = m_context.Database.CreateExecutionStrategy();
            await strategy.Execute(async() =>
            {
                try
                {
                    using (var transaction = m_context.Database.BeginTransaction())
                    {
                        foreach (int auctionId in request.AuctionIds)
                        {
                            bool auctionExists = await m_context.Auctions.AnyAsync(auct => auct.AuctionId == auctionId).ConfigureAwait(true);

                            if (auctionExists)
                            {
                                Auction auctionForDelete = await m_context.Auctions
                                                           .Where(auct => auct.AuctionId == auctionId)
                                                           .FirstOrDefaultAsync()
                                                           .ConfigureAwait(true);

                                if (auctionForDelete.AuctionImageContainer.IsSpecified())
                                {
                                    await HandleAuctionDeleteImages(auctionForDelete.AuctionImageContainer).ConfigureAwait(true);
                                }

                                AuctionItem auctionItemDetails = await m_context.AuctionItems
                                                                 .Where(aitem => aitem.AuctionId == auctionId)
                                                                 .FirstOrDefaultAsync()
                                                                 .ConfigureAwait(true);

                                AuctionDetails auctionDetails = await m_context.AuctionDetails
                                                                .Where(adet => adet.AuctionItemId == auctionItemDetails.AuctionItemId)
                                                                .FirstOrDefaultAsync()
                                                                .ConfigureAwait(true);

                                m_context.Remove(auctionDetails);
                                m_context.Remove(auctionItemDetails);
                                m_context.Remove(auctionForDelete);

                                await m_context.SaveChangesAsync().ConfigureAwait(true);
                            }
                            else
                            {
                                throw new WebApiException(HttpStatusCode.BadRequest, AuctionErrorMessages.NotActiveAuction);
                            }
                        }

                        transaction.Commit();
                    }
                }
                catch (Exception ex)
                {
                    throw new WebApiException(HttpStatusCode.BadRequest, AuctionErrorMessages.CouldNotDeleteAuction, ex);
                }
            }).ConfigureAwait(true);

            return(true);
        }
예제 #8
0
        public async Task <Auction> AddAuctionWithAttachments(AuctionDetails details, IFileListEntry[] selectedFiles)
        {
            var userId = await _userService.GetCurrentUserId();

            var auctionTask = _auctionRepository.AddAuction(AuctionDetails.FormAuction(details), userId);

            await Task.WhenAll(auctionTask);

            return(auctionTask.Result);
        }
예제 #9
0
    private AuctionDetails GetAuctionItemDetails(int auctionrefno)
    {
        DataTable      dt   = SqlHelper.ExecuteDataset(connstring, "sp_GetAuctionInvitationInfo", new SqlParameter[] { new SqlParameter("@AuctionRefNo", auctionrefno) }).Tables[0];
        AuctionDetails item = new AuctionDetails();

        if (dt.Rows.Count > 0)
        {
            item = new AuctionDetails(dt.Rows[0]);
        }

        return(item);
    }
예제 #10
0
        public async Task <ListAuctionResponse> ListAuctionAsync(AuctionDetails auctionDetails)
        {
            auctionDetails.ThrowIfNullArgument();

            try
            {
                return(await _requestFactories.ListAuctionFactory(auctionDetails).PerformRequestAsync());
            }
            catch (Exception e)
            {
                throw new FutException("List auction failed", e);
            }
        }
예제 #11
0
        public static AuctionDetails GetAuctionDetails(string auctionNumber)
        {
            AuctionDetails auctionDetails = new AuctionDetails();

            auctionDetails.auction = GetAuction(auctionNumber);

            if (!string.IsNullOrEmpty(auctionDetails.auction.winner))
            {
                auctionDetails.lot       = LotsList.Where(l => l.name == auctionDetails.auction.lotName).FirstOrDefault();
                auctionDetails.suppliers = new List <Supplier>();

                int count = 0;

                foreach (var item in SuppliersList)
                {
                    var supplier = item.goods.Where(g => auctionDetails.lot != null && g.name == auctionDetails.lot.name).FirstOrDefault();

                    if (supplier != null && count == 0)
                    {
                        auctionDetails.suppliers.Add(item);
                        count++;
                    }
                    else if (supplier != null && count == 1)
                    {
                        auctionDetails.suppliers.Add(item);
                        count++;
                    }
                }

                if (auctionDetails.suppliers.Count < 2)
                {
                    auctionDetails.suppliers.Add(new Supplier());
                }
            }
            else
            {
                auctionDetails.lot       = new Lot();
                auctionDetails.suppliers = new List <Supplier>();

                auctionDetails.suppliers.Add(new Supplier());
                auctionDetails.suppliers.Add(new Supplier());
            }

            return(auctionDetails);
        }
예제 #12
0
        public UserProfileDetails GetUserProfileDetails(string userId)
        {
            using (var scope = _serviceProvider.CreateScope())
            {
                var identityContext = scope.ServiceProvider.GetRequiredService <GameBoardAuctionIdentityContext>();

                var user         = identityContext.Users.Single(user => user.Id.Equals(userId));
                var userAuctions = _auctionRepository.GetAuctionByUserId(userId);
                var userBets     = _auctionBetRepository.GetBetsByUserId(userId);

                return(new UserProfileDetails
                {
                    UserEmail = user.UserName,
                    Auctions = userAuctions.Select(auction => AuctionDetails.FormAuctionDetails(auction)),
                    TotalMadeBets = userBets.Count()
                });
            }
        }
예제 #13
0
        public ActionResult Create([FromBody] CreateAuctionDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var aggregateId   = Guid.NewGuid();
            var auction       = AuctionDetails.Create(DateTime.UtcNow.AddMinutes(1), dto.StartingPrice, dto.Description);
            var createAuction = CreateAuction.Create(auction);
            var command       = Command.Create(aggregateId, createAuction);
            var result        = _commandHandler.HandleCommand(command);

            switch (result)
            {
            case CommandResultSuccess _:
                return(Ok());

            default:
                return(Conflict());
            }
        }
예제 #14
0
    //private string CreateSMSInvitationBody(AuctionDetails auctiondetails, AuctionParticipant participant)
    //{
    //    return String.Format("You are invited to participate in an auction event;Ref. No.:{0}, initiated by Trans-Asia . Start Date: {1}", auctiondetails.ID, auctiondetails.StartDateTime.ToString("MM/dd/yyyy hh:mm:ss tt"));
    //}

    private string CreateCancelAuctionBody(AuctionDetails auctiondetails, AuctionParticipant participant)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<tr><td style='width: 1px'></td><td style='width: auto' colspan=''></td><td style='width: 1px'></td></tr>");
        sb.Append("<tr><td style='width: auto; height: 635px'></td>");
        sb.Append("<td style='width: 100%; height: auto; text-align: justify;'>");
        sb.Append("<br /><br /><br />");
        sb.Append("" + DateTime.Now.ToLongDateString() + "");
        sb.Append("<br /><br /><br /><strong>");
        sb.Append(participant.Name);
        sb.Append("<br /></strong>");
        sb.Append("<br /><br />");
        sb.Append("<table style='width: 100%'><tr><td style='width: 12px'>");
        sb.Append("Auction Event:");
        sb.Append("</td><td style='width: auto'>");
        sb.Append(auctiondetails.Description);
        sb.Append("</td></tr></table>");
        sb.Append("<br /><br />");
        sb.Append("Dear Sir/Madame:");
        sb.Append("<br /><br />");
        sb.Append("Thank you for confirming your participation on  Trans-Asia / Commnunications Auction Invitation for ");
        sb.Append("" + auctiondetails.Description + ", that is scheduled to start on ");
        sb.Append("" + Convert.ToDateTime(auctiondetails.StartDateTime).ToLongDateString() + " " + Convert.ToDateTime(auctiondetails.StartDateTime).ToShortTimeString() + ", We regret to inform you, ");
        sb.Append("however, that the subject Auction event has been cancelled.");
        sb.Append("We will keep in mind your cooperation and commitment in helping us on this endeavor.");
        sb.Append("<br /><br />");
        sb.Append("We sincerely appreciate the time and effort you dedicated for the completion ");
        sb.Append("of your response and we look forward to working with you again in the future.");
        sb.Append("<br /><br /><br />");
        sb.Append("Sincerely,");
        sb.Append("<br /><br /><br /><br />");
        sb.Append(auctiondetails.Sender);
        sb.Append("<br /><br /><br /><br /></td><td style='width: auto; height: auto'></td></tr><tr><td style='width: auto'></td><td style='width: auto'></td><td style='width: auto'></td></tr>");

        return(MailTemplate.IntegrateBodyIntoTemplate(sb.ToString()));
    }
        public ActionResult GetBid(int auctionid)
        {
            LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"];

            if (customerinfo == null)
            {
                return(RedirectToActionPermanent("Index", "Login"));
            }

            ViewBag.LoginSuccess = "True";
            AuctionResponse auctionResponse = new AuctionResponse();
            AuctionDetails  auction         = new AuctionDetails();

            using (var client = new HttpClient())
            {
                int customerid = customerinfo.CustomerId;
                auction.customerid = customerid;
                auction.auctionid  = auctionid;
                client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]);
                var responseMessageTask = client.PostAsJsonAsync <AuctionDetails>("api/GetUserBids", auction);
                responseMessageTask.Wait();
                var responseMessage = responseMessageTask.Result;
                if (responseMessage.IsSuccessStatusCode)
                {
                    var responseContentTask = responseMessage.Content.ReadAsAsync <AuctionResponse>();
                    responseContentTask.Wait();
                    auctionResponse = responseContentTask.Result;
                }
                else //web api sent error response
                {
                    //log response status here..
                    ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
                    return(View("MyBids", auctionResponse));
                }
            }
            return(View("MyBids", auctionResponse));
        }
예제 #16
0
    protected void lnkCancelAuction_Click(object sender, EventArgs e)
    {
        if (Session[Constant.SESSION_AUCTIONREFNO] != null)
        {
            AuctionItemTransaction.UpdateAuctionStatus(connstring, Session[Constant.SESSION_AUCTIONREFNO].ToString(),
                                                       Session[Constant.SESSION_USERID].ToString(),
                                                       Constant.AUCTION_STATUS_CANCELLED, txtComment.Text.Trim());

            try
            {
                ArrayList      list = GetSelectedSuppliers(int.Parse(Session[Constant.SESSION_AUCTIONREFNO].ToString()));
                AuctionDetails details = GetAuctionItemDetails(int.Parse(Session[Constant.SESSION_AUCTIONREFNO].ToString()));
                int            failedcount = 0, successcount = 0;
                SendEmailInvitation(details, list, ref failedcount, ref successcount);
            }
            catch
            {
                // failed
                //Session["Message"] = "Failed to send invitations. Please try again or contact adminitrator for assistance.";
            }

            Response.Redirect("auctioninvitations.aspx");
        }
    }
예제 #17
0
 public static CreateAuction Create(AuctionDetails auction)
 {
     return(new CreateAuction(auction));
 }
예제 #18
0
 public static AuctionCreated Create(AuctionDetails auction)
 {
     return(new AuctionCreated(auction));
 }
예제 #19
0
        private void SetVehicleAuctionDetails(AddAuctionRequestModel request, int loggedInUserId, AuctionItem newAuctionItem)
        {
            AuctionDetails itemAuctionDetails = SetupNewVehicleAuctionDetails(request, newAuctionItem, loggedInUserId);

            m_context.AuctionDetails.Add(itemAuctionDetails);
        }
예제 #20
0
 private CreateAuction(AuctionDetails auction)
 {
     Auction = auction;
 }
예제 #21
0
        public Task <ListAuctionResponse> ListAuctionAsync(AuctionDetails auctionDetails)
        {
            auctionDetails.ThrowIfNullArgument();

            return(_requestFactories.ListAuctionFactory(auctionDetails).PerformRequestAsync());
        }
예제 #22
0
        private async void Checktradepile()
        {
            try
            {
                var tradePileResponse = await _client.GetTradePileAsync();

                foreach (var response in tradePileResponse.AuctionInfo)
                {
                    for (var i = 0; i < mgTable.Rows.Count - 1; i++)
                    {
                        if (response.ItemData != null &&
                            mgTable[8, i].Value.ToString().Contains(response.ItemData.AssetId.ToString()))
                        {
                            if ((response.TradeState == null || response.TradeState.Contains("expired")) &&
                                response.ItemData != null) //Player to list
                            {
                                var sellprice = uint.Parse(mgTable[3, i].Value.ToString());
                                if (sellprice == 0) //if price = 0 do not sell
                                {
                                    break;
                                }

                                if (sellprice > 100000)
                                {
                                    var auctionDetails = new AuctionDetails(response.ItemData.Id,
                                                                            AuctionDuration.OneHour,
                                                                            RoundPrices.RoundToFinal(sellprice - 1000), sellprice); //bidprice, buynow price
                                    await _client.ListAuctionAsync(auctionDetails);
                                }
                                else
                                {
                                    var auctionDetails = new AuctionDetails(response.ItemData.Id,
                                                                            AuctionDuration.OneHour,
                                                                            RoundPrices.RoundToFinal(sellprice - 250), sellprice); //bidprice, buynow price
                                    await _client.ListAuctionAsync(auctionDetails);
                                }
                                continue;
                            }
                            if (response.TradeState != null && response.ItemData != null &&
                                (response.TradeState.Contains("closed"))) //Player sold
                            {
                                await _client.RemoveFromTradePileAsync(response);

                                WriteLog.DoWrite(mgTable[1, i].Value + " sold for " + response.BuyNowPrice);
                                tbLog.SelectionColor = Color.Black;
                                tbLog.SelectedText   =
                                    (DateTime.Now.ToLongTimeString() + " " + mgTable[1, i].Value +
                                     " sold for " +
                                     response.BuyNowPrice) +
                                    Environment.NewLine;
                                if (_playSound)
                                {
                                    SystemSounds.Exclamation.Play();
                                }
                            }

                            //TODO ITEMS ON TRADEPILE

                            /*if (response.TradeState != null && response.ItemData != null) //Player on tradepile
                             *  {
                             *      tbTradepile.Text = "" + tbTradepile.Text + dgList[0, i].Value + " - " +
                             *                         response.BuyNowPrice + " Coins - " + response.Expires / 60 +
                             *                         " Minutes left " +
                             *                   Environment.NewLine;
                             *      tbTradepile.Text = "" + tbTradepile.Text + "***********************************************" +
                             *                   Environment.NewLine;
                             *
                             *  }
                             */
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                tbLog.SelectionColor = Color.Red;
                WriteLog.DoWrite("Tradepile Error: " + ex);
                tbLog.SelectedText = DateTime.Now.ToLongTimeString() + " Tradepile Error" + Environment.NewLine;
            }
            finally
            {
                GetCredits();
            }
        }
예제 #23
0
    private string CreateInvitationBody(AuctionDetails auctiondetails, AuctionParticipant participant)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<tr><td align='right'><h5>" + DateTime.Now.ToLongDateString() + "</h5></td></tr>");
        sb.Append("<tr><td align='center'><h3>INVITATION TO AUCTION</h3></td></tr>");
        sb.Append("<tr>");
        sb.Append("<td valign='top'>");
        sb.Append("<p>");
        sb.Append("<b>TO&nbsp&nbsp;:&nbsp&nbsp;<u>" + participant.Name + "</u></b>");
        sb.Append("<br /><br />");
        sb.Append("Good Day!");
        sb.Append("<br /><br />");
        sb.Append("We are glad to inform you that you have been invited to participate in an online auction event which was initiated by Trans-Asia  Incorporated.");
        sb.Append("</p>");

        sb.Append("<table style='font-size: 12px;width:100%;'>");
        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>1.</td>");
        sb.Append("<td style='font-weight:bold;'>Auction Description</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>" + auctiondetails.Description + "</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>2.</td>");
        sb.Append("<td style='font-weight:bold;'>Schedule of Auction Event</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("Confirmation Deadline : " + FormattingHelper.FormatDateToString(auctiondetails.ConfirmationDeadline) + "<br />");
        sb.Append("Start Date & Time : " + FormattingHelper.FormatDateToLongString(auctiondetails.StartDateTime) + "<br />");
        sb.Append("End Date & Time : " + FormattingHelper.FormatDateToLongString(auctiondetails.EndDateTime) + "<br />");
        sb.Append("Duration : " + auctiondetails.Duration + "<br />");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>3.</td>");
        sb.Append("<td style='font-weight:bold;'>Payment Details</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("<ul>");
        sb.Append("<li>Payment Terms</li>");
        sb.Append("<ul><li>Trans-Asia  shall pay supplier 10% Down Payment, Progress Billing.</li></ul>");
        sb.Append("<br />");
        sb.Append("<li>Billing Details</li>");
        sb.Append("<ul>");
        sb.Append("<li>Contact Person: Rose Soteco T# 730 2413</li>");
        sb.Append("<li>Contact Details: 2F GT Plaza Tower 1, Pioneer cor Madison Sts., Mandaluyong City</li>");
        sb.Append("</ul>");
        sb.Append("</ul>");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>4.</td>");
        sb.Append("<td style='font-weight:bold;'>Bid Price Details</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>The bid price submitted by the supplier shall be exclusive of VAT.</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>5.</td>");
        sb.Append("<td style='font-weight:bold;'>Price Validity</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("The price quoted must be valid and firm for a period of 30 days.");
        sb.Append("No change in price quoted shall be allowed after bid submission unless negotiated by Trans-Asia .");
        sb.Append("</td.");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>6.</td>");
        sb.Append("<td style='font-weight:bold;'>Price Confirmation</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("All participants must submit the price breakdown according to the final bid price submitted during the e-BID event not later than 24 hours after the e-BIDding event has ended.");
        sb.Append("The sum of the breakdown must be equal to the supplier's final bid price submitted during the e-BIDding event.");
        sb.Append("Any attempt to submit a breakdown which totals significantlly higher or lower than the final bid price submitted during the event may be subject to sanctions from Trans-Asia .");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>7.</td>");
        sb.Append("<td style='font-weight:bold;'>Grounds for Invalidating Bids</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("A supplier's bid may be invalidated under any of the following circumstances:");
        sb.Append("<ul>");
        sb.Append("<li>Incomplete bid documents</li>");
        sb.Append("<li>Bid documents without bidder's signature</li>");
        sb.Append("<li>Late submission of hard copy of bid price breakdown</li>");
        sb.Append("</ul>");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>8.</td>");
        sb.Append("<td style='font-weight:bold;'>Awarding of Bid</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("The lowest/highest bidder is not necessarily the winning bidder. Trans-Asia  shall not be bound to assign any reason for not accepting any bid or accepting it in part.");
        sb.Append("Bids are still subject to further ecaluation. Trans-Asia  shall award the winning supplier through a Purchase Order/Sales Order.");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");

        sb.Append("<tr>");
        sb.Append("<td width='10px'></td>");
        sb.Append("<td style='font-weight:bold;width:20px;'>9.</td>");
        sb.Append("<td style='font-weight:bold;'>Penalties (depends on the items to be purchased)</td>");
        sb.Append("</tr>");
        sb.Append("<tr>");
        sb.Append("<td width='30px' colspan='2'></td>");
        sb.Append("<td>");
        sb.Append("<ul>");
        sb.Append("<li>10K - 49.99K</li>");
        sb.Append("<li>50K - 99.99K</li>");
        sb.Append("<li>100K - 199.99K</li>");
        sb.Append("<li>200K - 299.99K</li>");
        sb.Append("<li>300K - 499.99K</li>");
        sb.Append("<li>500K - 999.99K</li>");
        sb.Append("<li>1M - 1.999M</li>");
        sb.Append("<li>2M - 19.999M</li>");
        sb.Append("<li>20M and above</li>");
        sb.Append("</ul>");
        sb.Append("</td>");
        sb.Append("</tr>");
        sb.Append("<tr><td height='10px' colspan='3'></td></tr>");
        sb.Append("</table>");

        sb.Append("<p>");
        sb.Append("To know more about this auction, click <a href='" + ConfigurationManager.AppSettings["ServerUrl"] + "web/auctions/auctiondetails.aspx?aid=" + HttpUtility.UrlEncode(EncryptionHelper.Encrypt(auctiondetails.ID.ToString())) + "' target='_blank'>here</a>. ");
        sb.Append("<br />");
        sb.Append("To confirm/decline your invitation, click <a href='" + ConfigurationManager.AppSettings["ServerUrl"] + "web/auctions/confirmauctionevent.aspx?aid=" + HttpUtility.UrlEncode(EncryptionHelper.Encrypt(auctiondetails.ID.ToString())) + "' target='_blank'>here</a>.");
        sb.Append("<br />");
        sb.Append("<a href='" + ConfigurationManager.AppSettings["ServerUrl"] + "rules.htm' target='_blank' title='Click here or copy the link'>Rules and Regulations</a> : " + ConfigurationManager.AppSettings["ServerUrl"] + "rules.htm");
        sb.Append("<br /><br />");
        sb.Append("######################################################################################<br />");
        sb.Append("&nbsp;Credentials:<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;Username: "******"<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;Ticket: " + EncryptionHelper.Decrypt(participant.EncryptedTicket) + "<br /><br />");
        sb.Append("&nbsp;Notes:<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;Ticket and password are CASE SENSITIVE.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ticket is for confirming/declining/participating an auction.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ticket is different for each supplier for each auction event.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Password is for login.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;Username is NOT CASE SENSITIVE.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If you don't know or forgot your password, go to eBid login page and click forgot password.<br />");
        sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use the username provided. Click Send. Your password will be sent to this email address.<br />");
        sb.Append("######################################################################################<br />");
        sb.Append("<br /><br /><br />");
        sb.Append("Sincerely Yours,");
        sb.Append("<br /><br />");
        sb.Append(auctiondetails.Creator);
        sb.Append("<br /><br />");
        sb.Append("</p>");
        sb.Append("</td>");
        sb.Append("</tr>");

        return(MailTemplate.IntegrateBodyIntoTemplate(sb.ToString()));
    }
예제 #24
0
 private string CreateSMSInvitationBody(AuctionDetails auctiondetails, AuctionParticipant participant)
 {
     return(String.Format("You are invited to participate in an auction event;Ref. No.:{0},initiated by Trans-Asia . Deadline: {2} Start Date: {1}", auctiondetails.ID, auctiondetails.StartDateTime.ToString("MM/dd/yyyy hh:mm tt"), auctiondetails.ConfirmationDeadline.ToString("MM/dd/yyyy")));
 }
예제 #25
0
 private AuctionCreated(AuctionDetails auction)
 {
     Auction = auction;
 }
예제 #26
0
 public ListAuctionRequest(AuctionDetails auctionDetails)
 {
     auctionDetails.ThrowIfNullArgument();
     _auctionDetails = auctionDetails;
 }
예제 #27
0
        public IEnumerable <AuctionDetails> GetAllAuctions()
        {
            var auctions = _auctionRepository.GetAuctions();

            return(auctions.Select(auction => AuctionDetails.FormAuctionDetails(auction)));
        }