コード例 #1
0
        public Result SendOfferResponse(OfferStatus offerStatus, string destination)
        {
            string template;

            if (offerStatus == OfferStatus.Accepted)
            {
                template = GetOfferAcceptedTemplate();
            }
            else
            {
                template = GetOfferRejectedTemplate();
            }

            var body = _templateSercvie.Parse(template, null, null, null);

            var emailMsg = new EmailMessage()
            {
                Body        = body,
                Destination = destination,
                Topic       = "Odpowiedź dotycząca oferty"
            };

            _smtpManager.SendEmail(emailMsg);

            return(new Result(true, null, ""));
        }
コード例 #2
0
        /// <summary>
        /// Converts the InvoiceStatus enum to string
        /// </summary>
        /// <param name="value">The enum</param>
        /// <returns>
        /// The string or an exception if the value doesn't match any case
        /// </returns>
        internal static string ToApiValue(this OfferStatus value)
        {
            switch (value)
            {
            case OfferStatus.Draft:
                return("DRAFT");

            case OfferStatus.Open:
                return("OPEN");

            case OfferStatus.Won:
                return("WON");

            case OfferStatus.Lost:
                return("LOST");

            case OfferStatus.Canceled:
                return("CANCELED");

            case OfferStatus.Cleared:
                return("CLEARED");

            default:
                throw new ArgumentOutOfRangeException(nameof(value), value, null);
            }
        }
コード例 #3
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            Visibility valueToReturn = Visibility.Collapsed;

            if (parameter == null)
            {
                valueToReturn = Visibility.Collapsed;
            }

            if (value is OfferStatus)
            {
                OfferStatus offerStatus = (OfferStatus)value;

                if (string.Compare(offerStatus.ToString(), (string)parameter, true) == 0)
                {
                    valueToReturn = Visibility.Visible;
                }
                else
                {
                    valueToReturn = Visibility.Collapsed;
                }
            }

            return(valueToReturn);
        }
コード例 #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,OfferStatusName")] OfferStatus offerStatus)
        {
            if (id != offerStatus.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(offerStatus);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OfferStatusExists(offerStatus.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(offerStatus));
        }
コード例 #5
0
ファイル: OfferRegisterEntry.cs プロジェクト: dovanduy/titan
        /// <summary>
        /// Before adding, verify that the record does not exists!
        /// </summary>
        /// <param name="offerId"></param>
        /// <param name="username"></param>
        /// <param name="firststatus"></param>
        /// <param name="?"></param>
        public static OfferRegisterEntry AddNew(int offerId, string username, OfferStatus firststatus, bool isDaily, DeviceType deviceType, string loginID = null, string EmailID = null, int OfferLevel = 0)
        {
            var or = new OfferRegisterEntry();

            or._OfferId  = offerId;
            or.Username  = username;
            or.DateAdded = DateTime.Now;

            if (firststatus == OfferStatus.Completed)
            {
                or.DateCompleted = DateTime.Now;
            }
            else
            {
                or.DateCompleted = OffersManager.DateTimeZero; //We know that it's not completed
            }
            or.Status     = firststatus;
            or.LoginID    = loginID;
            or.EmailID    = EmailID;
            or.IsDaily    = isDaily;
            or.DeviceType = deviceType;
            or.Save();

            return(or);
        }
コード例 #6
0
        public async Task Reply(int offerId, OfferStatus status)
        {
            var offer = await _unitOfWork.Offers.FindAsync(offerId, nameof(Offer.Receiver), nameof(Offer.Sender));

            if (status == OfferStatus.Declined)
            {
                offer.Status = OfferStatus.Declined;
                _unitOfWork.Offers.Update(offer);

                await _unitOfWork.SaveChangesAsync();
            }
            else if (status == OfferStatus.Accepted)
            {
                offer.Status = OfferStatus.Accepted;
                _unitOfWork.Offers.Update(offer);

                var receiverAppointment = await _unitOfWork.Appointments.FindAsync(offer.ReceiverAppointmentId);

                var senderAppointment = await _unitOfWork.Appointments.FindAsync(offer.SenderAppointmentId);

                receiverAppointment.Owner = offer.Sender;
                senderAppointment.Owner   = offer.Receiver;

                _unitOfWork.Appointments.Update(receiverAppointment);
                _unitOfWork.Appointments.Update(senderAppointment);

                await _unitOfWork.SaveChangesAsync();
            }
        }
コード例 #7
0
 public JsonResult Update(OfferStatus offerStatus)
 {
     using (var OfferStatusRepository = _factory.GetRepository <OfferStatus>())
     {
         return(Json(OfferStatusRepository.Update(offerStatus)));
     }
 }
コード例 #8
0
 public Offer(Order order, Hero assignedHero)
 {
     Id           = OfferId.NewId();
     Order        = order;
     AssignedHero = assignedHero;
     Status       = OfferStatus.New;
 }
コード例 #9
0
    public void acceptAllIncomingTrades(bool LoggingIt)
    {
        List <string[]> list = this.getIncomingTradeoffers();

        for (int i = 0; i < list.Count; i++)
        {
            string error = "";
            if (list[i][3] == "1")
            {
                this.LogIt(list[i][2] + "(" + list[i][1] + ") -> " + this.steamID + " abuse detected");
                this.declineOffer(list[i][0]);
            }
            else
            {
                OfferStatus status = this.acceptOffer(list[i], out error);
                if (LoggingIt)
                {
                    switch (status)
                    {
                    case OfferStatus.Accepted:
                        this.LogIt(list[i][2] + "(" + list[i][1] + ") -> " + this.steamID + " accepted");
                        break;

                    case OfferStatus.Error:
                        this.LogIt(list[i][2] + "(" + list[i][1] + ") -> " + this.steamID + " Error: \"" + error + "\"");
                        this.declineOffer(list[i][0]);
                        break;
                    }
                }
            }
        }
    }
コード例 #10
0
ファイル: Offer.cs プロジェクト: tanbirhossain/Bizanc.io.Core
 public override void Finish()
 {
     if (Status == OfferStatus.Pending)
     {
         Status = OfferStatus.New;
     }
 }
コード例 #11
0
 public bool Delete(OfferStatus offerStatus)
 {
     using (var OfferStatusRepository = _factory.GetRepository <OfferStatus>())
     {
         return(OfferStatusRepository.Delete(offerStatus));
     }
 }
コード例 #12
0
        public ResponseCode SetStatus(OfferStatus status, IEnumerable <string> codes)
        {
            message.SetField("protocol", "XCP");
            message.SetField("action", "SET_STATUS");
            message.SetField("object", "OFFERS");

            message.AddAttributes(new[]
            {
                new DataItem("status", status.ToString())
            });

            var postdata = Serialize(message);

            SendRequest(postdata);

            var respmsg = responseObject as MessageEnvelope;

            if (respmsg == null || !respmsg.IsSuccess())
            {
                LogResponseMessage();
                return(null);
            }

            return(respmsg.GetResponseCode());
        }
コード例 #13
0
        public Offer UpdateOfferStatus(int id, OfferStatus newStatus)
        {
            Offer offer = db.OffersRepository.GetByID(id);

            if (offer != null)
            {
                offer.offer_status = newStatus;
                db.OffersRepository.Update(offer);
                db.Save();
            }

            // ukoliko se ponuda proglasi isteklom potrebno je otkazati sve racune koji sadrze tu ponudu
            if (newStatus == OfferStatus.EXPIRED)
            {
                // racuni koji sadrze ponudu
                var bills = db.BillsRepository.Get(
                    filter: b => b.offerId == id);

                foreach (var bill in bills)
                {
                    bill.paymentCancelled = true;
                    db.BillsRepository.Update(bill);
                }

                db.Save();
            }

            return(offer);
        }
コード例 #14
0
 public void Reject()
 {
     if (Status != OfferStatus.New)
     {
         throw new ApplicationException("Only offer in status new can be accepted");
     }
     Status = OfferStatus.Rejected;
 }
コード例 #15
0
 public Offer(Client client, Book book)
 {
     this.client = client;
     this.book   = book;
     status      = OfferStatus.Processed;
     id          = ++curId;
     returnDate  = DateTime.Now + Library.MaxRentTime;
 }
コード例 #16
0
        /// <summary>
        /// Provides human readable, short description for each status.
        /// </summary>
        public static string ShortDescription(this OfferStatus status)
        {
            if (status == OfferStatus.Null)
            {
                return("Unknown");
            }

            return(Enum.GetName(typeof(OfferStatus), status));
        }
コード例 #17
0
        public Result SendAndSaveOfferResponse(OfferStatus offerStatus, Offer offer)
        {
            _emailSenderService.SendOfferResponse(offerStatus, offer.Email);
            var contactEmail = AutoMapper.Mapper.Map <ContactEmail>(offer);

            _emailStorageService.SaveEmail(contactEmail);

            return(new Result(true, null, ""));
        }
コード例 #18
0
        public IHttpActionResult PutOfferStatus(int id, OfferStatus status)
        {
            OfferModel offerWithNewStatus = offerService.PutOfferStatus(id, status);

            if (offerWithNewStatus == null)
            {
                return(NotFound());
            }
            return(Ok(offerWithNewStatus));
        }
コード例 #19
0
 private void AddOfferStatuses(DataContext context)
 {
     foreach (var item in OfferStatusList)
     {
         var offerStatus = new OfferStatus {
             Name = item
         };
         context.OfferStatuses.Add(offerStatus);
     }
 }
コード例 #20
0
        /// <summary>
        /// Completes the offer.
        /// </summary>
        /// <param name="success">Indicates whether the offer was successful or not.</param>
        public virtual void CompleteOffer(bool success)
        {
            if (_status != OfferStatus.Offered)
            {
                throw new InvalidOperationException("Offer was already completed.");
            }

            _completedOn = DateTime.Now;
            _status      = success ? OfferStatus.Won : OfferStatus.Lost;
        }
コード例 #21
0
        public async Task <IActionResult> Create([Bind("Id,OfferStatusName")] OfferStatus offerStatus)
        {
            if (ModelState.IsValid)
            {
                _context.Add(offerStatus);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(offerStatus));
        }
コード例 #22
0
        public OfferModel PutChangeOfferStatus(int id, OfferStatus status)
        {
            List <OfferModel> offers = GetDB();
            OfferModel        offer  = offers.Find(x => x.Id == id);

            if (offer != null)
            {
                offer.OfferStatus = status;
            }

            return(offer);
        }
コード例 #23
0
 public Offer(OfferModel model)
 {
     client = Archive.Clients[model.client.card.id];
     client.Init(model.client);
     returnDate = model.returnDate;
     book       = new Book(model.book);
     status     = (OfferStatus)((int)model.status);
     if (OfferModel.curId > curId)
     {
         curId = OfferModel.curId;
     }
     id = model.id;
 }
コード例 #24
0
        private IQueryable <OfferStatus> GetAllTest()
        {
            var         list = new List <OfferStatus>();
            OfferStatus a1   = new OfferStatus {
                Id = 1
            };
            OfferStatus a2 = new OfferStatus {
                Id = 2
            };

            list.Add(a1);
            list.Add(a2);
            return(list.AsQueryable());
        }
コード例 #25
0
        public async Task <Offer> SetNewStatusAsync(int id, OfferStatus newStatus)
        {
            var offer = await GetByIdAsync(id);

            if (offer == null)
            {
                throw new EntityNotFoundException("Offer Not Found");
            }

            offer.Status = newStatus;

            UpdateOffer(offer);

            return(offer);
        }
コード例 #26
0
        public void Create2()
        {
            OfferStatus offerStatus = new OfferStatus()
            {
                Id = 1
            };
            var mock = new Mock <IRepository <OfferStatus> >();

            mock.Setup(repo => repo.Create(offerStatus));
            var factoryMock = new Mock <IRepositoryFactory>();

            factoryMock.Setup(f => f.GetRepository <OfferStatus>()).Returns(mock.Object);
            _offerStatusController = new OfferStatusController(factoryMock.Object);
            //Assert.AreEqual(offerStatus, factoryMock);
        }
コード例 #27
0
ファイル: OfferModel.cs プロジェクト: CabaVarga/ITObukaModul4
 public OfferModel(int id, string offername, string offerdescription,
                   DateTime offercreated, DateTime offerexpires, double regularprice, double actionprice,
                   string imagepath, int availableoffers, int boughtoffers, OfferStatus offerstatus)
 {
     Id               = id;
     OfferName        = offername;
     OfferDescription = offerdescription;
     OfferCreated     = offercreated;
     OfferExpires     = offerexpires;
     RegularPrice     = regularprice;
     ActionPrice      = actionprice;
     ImagePath        = imagepath;
     AvailableOffers  = availableoffers;
     BoughtOffers     = boughtoffers;
     OfferStatus      = offerstatus;
 }
コード例 #28
0
        public void Create()
        {
            var         memoryStore     = new List <OfferStatus>();
            OfferStatus offerStatusStub = new OfferStatus {
                Id = 1
            };
            var mock = new Mock <IRepository <OfferStatus> >();

            mock.Setup(repo => repo.GetAll()).Returns(memoryStore.AsQueryable());
            mock.Setup(repo => repo.Create(It.IsAny <OfferStatus>())).Returns((OfferStatus offerStatus) => {
                offerStatus.Id = 1;
                memoryStore.Add(offerStatus);
                return(offerStatus);
            });
            var factoryMock = new Mock <IRepositoryFactory>();

            factoryMock.Setup(f => f.GetRepository <OfferStatus>()).Returns(mock.Object);
            _offerStatusController = new OfferStatusController(factoryMock.Object);
            var emptyJson = _offerStatusController.GetAll();

            Assert.IsNotNull(emptyJson);
            var emptyStore = emptyJson.Value as List <OfferStatus>;

            Assert.IsNotNull(emptyStore);
            Assert.AreEqual(emptyStore.Count, 0);
            var json = _offerStatusController.Create(offerStatusStub);

            Assert.IsNotNull(json);
            var result = json.Value as OfferStatus;

            Assert.NotNull(result);
            Assert.AreEqual(result.Id, 1);
            Assert.AreEqual(result.StatusName, offerStatusStub.StatusName);
            var notEmptyJson = _offerStatusController.GetAll();

            Assert.IsNotNull(notEmptyJson);
            var notEmptyStore = notEmptyJson.Value as List <OfferStatus>;

            Assert.IsNotNull(notEmptyStore);
            Assert.AreEqual(notEmptyStore.Count, 1);
        }
コード例 #29
0
        public OfferModel PutOfferStatus(int id, OfferStatus newOfferStatus)
        {
            OfferModel offer = db.OfferModelRepository.GetByID(id);

            if (offer == null)
            {
                return(null);
            }
            offer.OfferStatus = newOfferStatus;
            if ((int)offer.OfferStatus == 4)
            {
                foreach (BillModel bill in offer.Bills)
                {
                    bill.PaymentCanceled = true;
                    db.OfferModelRepository.Update(offer);
                    db.Save();
                    return(offer);
                }
            }
            return(null);
        }
コード例 #30
0
ファイル: Offer.cs プロジェクト: patkec/Sparrow
        /// <summary>
        /// Completes the offer.
        /// </summary>
        /// <param name="success">Indicates whether the offer was successful or not.</param>
        public virtual void CompleteOffer(bool success)
        {
            if (_status != OfferStatus.Offered)
                throw new InvalidOperationException("Offer was already completed.");

            _completedOn = DateTime.Now;
            _status = success ? OfferStatus.Won : OfferStatus.Lost;
        }
コード例 #31
0
ファイル: Offer.cs プロジェクト: tanbirhossain/Bizanc.io.Core
 public override void Reset()
 {
     Status = OfferStatus.Pending;
 }