Beispiel #1
0
        private void HandleMessage(TenderMessageDTO message, string routingKey)
        {
            using (var scope = _service.CreateScope())
            {
                ITenderService tenderService = scope.ServiceProvider.GetRequiredService <ITenderService>();
                Tender         tender        = tenderService.GetTenderByRoutingKey(routingKey);
                if (tender.IsClosed || tender.EndDate.CompareTo(DateTime.Now) <= 0)
                {
                    throw new Exception("Tender is closed!");
                }

                TenderMessage tenderMessage = new TenderMessage();
                tenderMessage.Identification  = message.Identification;
                tenderMessage.ReplyRoutingKey = message.ReplyRoutingKey;
                tenderMessage.TenderId        = tender.Id;
                tenderMessage.Offers          = new List <TenderOffer>();

                foreach (var o in message.Offers)
                {
                    TenderOffer to = new TenderOffer()
                    {
                        Code = o.Code, Name = o.Name, Quantity = o.Quantity, Price = o.Price
                    };
                    tenderMessage.Offers.Add(to);
                }
                scope.ServiceProvider.GetRequiredService <ITenderMessageService>().CreateTenderMessage(tenderMessage);
            }
        }
Beispiel #2
0
        private TenderOffer CreateNewOffer()
        {
            TenderOffer tender = new TenderOffer
            {
                TenderId         = 1,
                Pharmacy         = "Zelena Apoteka",
                PharmacyEMail    = "*****@*****.**",
                TenderOfferPrice = 5500,
            };

            return(tender);
        }
Beispiel #3
0
        private SyndicationItem GetWinnerSyndication(Tender tender)
        {
            TenderOffer tenderOffer = _tenderOfferService.Get(tender.WinnerTenderOfferId);
            string      id          = "" + tender.Id;
            var         title       = " Winner for " + tender.TenderDescription;
            string      data        = "Winner for this tender is " + tenderOffer.Pharmacy + ".";

            data += "\n\nTo see more details wisit our site.\n#Medbay-Tech Hospital#\n";
            TextSyndicationContent textContent = new TextSyndicationContent(data);

            return(new SyndicationItem(title, textContent, new Uri(GetPharmacyDomain() + "/dean/activeTender"),
                                       id, tender.EndDate));
        }
Beispiel #4
0
        public IActionResult MakeOffer(TenderOffer tenderOffer)
        {
            bool isTenderOfferSuccessfullyAdded = _tenderOfferService.Add(tenderOffer) != null;

            if (isTenderOfferSuccessfullyAdded)
            {
                //SendMail(tenderOffer.PharmacyEMail);
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
Beispiel #5
0
 public TenderOffer Update(TenderOffer tenderOffer)
 {
     return(_tenderOfferRepository.Update(tenderOffer));
 }
Beispiel #6
0
 public bool Remove(TenderOffer tenderOffer)
 {
     return(_tenderOfferRepository.Delete(tenderOffer));
 }
Beispiel #7
0
 public TenderOffer Add(TenderOffer tenderOffer)
 {
     return(_tenderOfferRepository.Create(tenderOffer));
 }