Example #1
0
        protected void GetSalesAgent(IOffer offer, XElement input, string tagName = "sales-agent")
        {
            XElement sa = GetFirstElement(input, tagName);

            RoleEnum saRole = GetRole(sa);
            string   name   = GetText(sa, "name");
            string   phone  = GetText(sa, "phone");

            MyEntityContext ctx   = Application.Context;
            IAgent          agent = ctx.Agents.Where(x => x.Name == name &&
                                                     x.Phone == phone).FirstOrDefault();
            string op = "Got";

            if (agent == null)
            {
                agent       = ctx.Agents.Create();
                agent.GUID  = GetGUID();
                agent.Name  = name;
                agent.Phone = phone;
                agent.Role  = saRole;
                ctx.Add(agent);
                ctx.SaveChanges();
                op = "Added";
            }

            /*
             * Console.WriteLine(string.Format("{3} agent: {0}:{1}:{2}",
             *                              agent.Name, agent.Phone,
             *                              agent.Role,
             *                              op));
             */
            offer.Agent = agent;
        }
Example #2
0
        private void ApplyOffer(Product item, IList <IOffer> offers, int offerId)
        {
            IOffer openOffer = offers.FirstOrDefault(o => o.Id == offerId && !o.OfferSatisfied);

            if (openOffer == null)
            {
                if (offerId == 1)
                {
                    openOffer = new Offer1();
                }
                else
                {
                    openOffer = new Offer2();
                }

                openOffer.ProductsInOffer.Add(item);
                openOffer.CheckOfferConditions();
                offers.Add(openOffer);
            }
            else
            {
                openOffer.ProductsInOffer.Add(item);
                openOffer.CheckOfferConditions();
            }
        }
 private void ResolveDepedencies()
 {
     m_offer         = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
     m_CustGroup     = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.ICustomerGroups>();
     m_CustCondition = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.ICustomerGroupCondition>();
     m_OAWService    = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
 }
 public ComissionController(IApproved iApproved, IAspNetUser users, IOffer dbOffer, IStatusController iStatusControlle)
 {
     db                 = iApproved;
     _users             = users;
     _dbOffer           = dbOffer;
     _iStatusController = iStatusControlle;
 }
Example #5
0
        public void UpdateOffer(IOffer offer, List <IProduct> products = null, DateTime?dateCreated = null, DateTime?dateValid = null, List <ITransport> transports = null, double?price = null, double?transportPrice = null)
        {
            if (products != null)
            {
                offer.Products = products;
            }

            if (dateCreated != null)
            {
                offer.DateCreated = (DateTime)dateCreated;
            }

            if (dateValid != null)
            {
                offer.DateValid = (DateTime)dateValid;
            }

            if (transports != null)
            {
                offer.AvailableTransports = transports;
            }

            if (price != null)
            {
                offer.OfferPrice = (double)price;
            }

            if (transportPrice != null)
            {
                offer.TransportPrice = (double)transportPrice;
            }
        }
Example #6
0
        protected void GetSalesAgent(IOffer offer, XElement input, string tagName = "sales-agent")
        {
            XElement sa = GetFirstElement(input, tagName);

            RoleEnum saRole = GetRole(sa);
            string   name   = GetText(sa, "name");
            string   phone  = GetText(sa, "phone");

            MyEntityContext ctx   = Application.Context;
            IAgent          agent = ctx.Agents.Where(x => x.Name == name &&
                                                     x.Phone == phone).FirstOrDefault();

            if (agent == null)
            {
                agent       = ctx.Agents.Create();
                agent.GUID  = GetGUID();
                agent.Name  = name;
                agent.Phone = phone;
                agent.Role  = saRole;
                ctx.Add(agent);
                ctx.SaveChanges();
            }
            offer.Agent = agent;

            // FIXME: Implement
        }
        public void TestTimesTheOfferMustApply()
        {
            OfferRedeemer offerRedeeemer = new OfferRedeemer();
            IBasket       myBasket       = createBasket(7, 2); // 7 milks and 2 lettuces
            IOffer        offer          = buy2MilksGet20percentOffOffer();

            Assert.AreEqual(3, offerRedeeemer.timesTheOfferMustApply(myBasket, offer), "The offer in this test should 3 times");
        }
        public void TestΙsEnoughProductsInBasketForOfferToApply()
        {
            OfferRedeemer offerRedeeemer = new OfferRedeemer();
            IBasket       myBasket       = createBasket(4, 2); // 4 milks and 2 lettuces
            IOffer        offer          = buy2MilksGet20percentOffOffer();

            Assert.IsTrue(offerRedeeemer.isEnoughProductsInBasketForOfferToApply(myBasket, offer));
        }
Example #9
0
 private void ResolveDependencies()
 {
     m_PassThroughRewards = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IPassThroughRewards>();
     m_Offer         = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
     m_SVProgram     = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IStoredValueProgramService>();
     m_PointsProgram = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IPointsProgramService>();
     m_OAWService    = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
 }
 void SendTick(IOffer offer)
 {
     if (OnTick != null)
     {
         TickEventArgs args = new TickEventArgs(offer.Instrument, offer.Time, offer.Bid, offer.Ask, offer.Volume);
         OnTick(this, args);
     }
 }
Example #11
0
 private void ResolveDepedencies()
 {
     m_TCProgramCondition = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.ITrackableCouponConditionService>();
     m_Offer       = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
     m_TCProgram   = CurrentRequest.Resolver.Resolve <ITrackableCouponProgramService>();
     m_ActivityLog = CurrentRequest.Resolver.Resolve <IActivityLogService>();
     m_OAWService  = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
 }
Example #12
0
 public void AddOffer(IOffer offer)
 {
     if (offer == null)
     {
         throw new ArgumentNullException();
     }
     this.offers.Add(offer);
 }
Example #13
0
 private void ResolveDepedencies()
 {
     m_StoredValueCondition = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IStoredValueCondition>();
     m_Offer = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
     m_StoredValueProgram = CurrentRequest.Resolver.Resolve <IStoredValueProgramService>();
     m_dbAccess           = CMS.AMS.CurrentRequest.Resolver.Resolve <IDBAccess>();
     m_OAWService         = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
 }
Example #14
0
 public OfferController(IOffer iOffer, ITypeOfOffer iTypeOfOffer, IProblem iProblem, IStatus iStatus, IDirection iDirection, IAspNetUser users)
 {
     db            = iOffer;
     _iTypeOfOffer = iTypeOfOffer;
     _iProblem     = iProblem;
     _iStatus      = iStatus;
     _iDirection   = iDirection;
     _users        = users;
 }
        public void AddOffer(IOffer offer)
        {
            if (offer == null)
            {
                throw new ArgumentNullException();
            }

            _currentOffers.Add(offer);
        }
        public void TestApplyOfferToBasket()
        {
            OfferRedeemer offerRedeeemer = new OfferRedeemer();
            IBasket       myBasket       = createBasketWithUniqueProducts(); // 5 unique milks and 2 vegetables
            IOffer        offer          = buy2MilksGet20percentOffOffer();
            IBasket       updatedBasket  = offerRedeeemer.applyOfferAndGetBasket(myBasket, offer);

            Assert.AreEqual(new decimal(178), updatedBasket.getGrandTotal(), "The total should be 2*24 + 3*30 + 2*20 = 178");
        }
 /// <summary>
 /// Resolve all required dependencies.
 /// </summary>
 private void ResolveDependencies()
 {
     m_Offer      = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
     m_Commondata = CurrentRequest.Resolver.Resolve <CMS.AMS.Common>();
     m_Commondata.Open_LogixRT();
     m_LocalizationService           = CurrentRequest.Resolver.Resolve <ILocalizationService>();
     m_ProximityMessageRewardService = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IProximityMessageRewardService>();
     m_OAWService = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
     m_CommonInc  = CurrentRequest.Resolver.Resolve <Copient.CommonInc>();
 }
 private void ResolveDepedencies()
 {
     CurrentRequest.Resolver.AppName = "UEoffer-rew-pref.aspx";
     m_Offer            = CurrentRequest.Resolver.Resolve <IOffer>();
     m_Preference       = CurrentRequest.Resolver.Resolve <IPreferenceService>();
     m_PreferenceReward = CurrentRequest.Resolver.Resolve <IPreferenceRewardService>();
     m_ActivityLog      = CurrentRequest.Resolver.Resolve <IActivityLogService>();
     m_dbAccess         = CurrentRequest.Resolver.Resolve <CMS.DB.IDBAccess>();
     m_OAWService       = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
 }
 // The following helper methods should be private but it has been marked as public to facilitate unit testing
 public IBasket getUpdatedBasketAfterApplyingOffer(IBasket basket, IOffer offer)
 {
     if (isEnoughProductsInBasketForOfferToApply(basket, offer))
     {
         // find how many times the offer should apply
         // apply the offer by reducing the price of any item the offer is applicable for
         return(applyOfferAndGetBasket(basket, offer));
     }
     return(basket);
 }
Example #20
0
 public Transaction(IClient customer, IOffer offer, ITransactionType transactionType, double price, double discount, DateTime date, int rating)
 {
     this.customer        = customer;
     this.offer           = offer;
     this.transactionType = transactionType;
     this.price           = price;
     this.discount        = discount;
     this.date            = date;
     this.rating          = rating;
     ID = Guid.NewGuid();
 }
Example #21
0
        public void GetTransportCost_ValidateCost_Successful()
        {
            IOffer     offer     = manager.GetLowestOffer();
            ITransport transport = offer.AvailableTransports.ElementAt(0);

            manager.GetTransportCost(offer, transport);

            var expected = transport.TransportCoefficient * offer.OfferPrice;

            Assert.AreEqual(expected, offer.TransportPrice);
        }
Example #22
0
 private void ResolveDependencies()
 {
     CurrentRequest.Resolver.AppName = "UEoffer-rew-tc.aspx";
     m_TCProgram   = CurrentRequest.Resolver.Resolve <ITrackableCouponProgramService>();
     m_OAWService  = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();
     m_CRService   = CurrentRequest.Resolver.Resolve <ICouponRewardService>();
     m_ActivityLog = CurrentRequest.Resolver.Resolve <IActivityLogService>();
     m_Offer       = CurrentRequest.Resolver.Resolve <IOffer>();
     m_Commondata  = CurrentRequest.Resolver.Resolve <CMS.AMS.Common>();
     m_CommonInc   = CurrentRequest.Resolver.Resolve <CommonInc>();
 }
Example #23
0
        public void GivenProductWithAssociatedOffer_WhenGetOfferCalled_ThenReturnsExpectedFunc()
        {
            // Arrange
            IOffer productWithOffer = CreateProductWithAssociatedOffer();

            // Act
            var offerProduct = productWithOffer.GetOffer();

            // Assert
            Assert.That(offerProduct, Is.InstanceOf(typeof(Func <IProduct, uint, IProduct>)));
        }
 public void ProcessOffer(IOffer offer, IBooking booking, IBookingOffer bookingOffer)
 {
     if (offer.MinSpend < booking.BookingTotal())
     {
         bookingOffer.Value            = offer.Value;
         bookingOffer.OfferCode        = offer.OfferCode;
         bookingOffer.OfferDescription = offer.OfferDescription;
         bookingOffer.OfferID          = offer.OfferId;
         booking.AddBookingOffer(bookingOffer);
     }
 }
Example #25
0
 public OfferResponse(IOffer <TTarget, TProduct> offer, Guid publisherId, object publisher,
                      string response, string category, object information)
 {
     Id          = Guid.NewGuid();
     Offer       = offer;
     PublisherId = publisherId;
     Publisher   = publisher;
     Response    = response;
     Category    = category;
     Information = information;
 }
Example #26
0
        public void UpdateOffer(IOffer offer, double?price, List <IProduct> products, List <ITransport> transports, IClient client)
        {
            if (offer == null)
            {
                throw new ArgumentNullException();
            }

            //offer.Price = price;
            offer.ListOfProducts   = products;
            offer.ListOfTransports = transports;
            offer.Client           = client;
        }
        public static IOffer CreateOffer(OfferType type)
        {
            IOffer offer = null;

            switch (type)
            {
            case OfferType.Rent: offer = new RentOffer(); break;

            case OfferType.Sale: offer = new SaleOffer(); break;
            }

            return(offer);
        }
Example #28
0
 public void Initialize(IOffer offer)
 {
     _offer = offer;
     purchaseButton.onClick.AddListener(() => _offer.Purchase((success) =>
     {
         if (success)
         {
             OnOfferWasPurchased?.Invoke(this, EventArgs.Empty);
         }
     }));
     _purchaseButtonLayout.Product = _offer.Product;
     gameObject.SetActive(true);
 }
    private void ResolveDependencies()
    {
        m_InstantWinService   = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IInstantWinConditionService>();
        m_Offer               = CurrentRequest.Resolver.Resolve <CMS.AMS.Contract.IOffer>();
        m_Commondata          = CurrentRequest.Resolver.Resolve <CMS.AMS.Common>();
        m_CommonInc           = CurrentRequest.Resolver.Resolve <CommonInc>();
        m_CacheData           = CurrentRequest.Resolver.Resolve <CacheData>();
        m_LocalizationService = CurrentRequest.Resolver.Resolve <ILocalizationService>();
        m_ActivityLogService  = CurrentRequest.Resolver.Resolve <IActivityLogService>();
        m_OAWService          = CurrentRequest.Resolver.Resolve <IOfferApprovalWorkflowService>();

        m_Commondata = new CMS.AMS.Common(Environment.MachineName, "UEOffer_con_UEInstantWin.aspx");
        LanguageID   = CurrentUser.AdminUser.LanguageID;
        m_Commondata.Open_LogixRT();
    }
Example #30
0
    private List <CMS.AMS.Models.Offer> GetAttachedOffersByID(Int32 pID)
    {
        offerService = CurrentRequest.Resolver.Resolve <IOffer>();
        AMSResult <List <CMS.AMS.Models.Offer> > offerResObj = offerService.GetofferByTrackableProgramID(pID);

        if (offerResObj.ResultType != AMSResultType.Success)
        {
            DisplayError(offerResObj.GetLocalizedMessage <List <CMS.AMS.Models.Offer> >(LanguageID));
            return(null);
        }
        else
        {
            return((List <CMS.AMS.Models.Offer>)offerResObj.Result);
        }
    }
        public int timesTheOfferMustApply(IBasket basket, IOffer offer)
        {
            // get number of relevant products
            int numberOfApplicableProducts = 0;

            foreach (var product in basket.Products)
            {
                if (product.GetType() == (offer.ProductForWhichOfferIsApplicable))
                {
                    numberOfApplicableProducts++;
                }
            }
            //return the div of the following
            return(numberOfApplicableProducts / offer.NumberOfItemsForOfferToBeApplicable);
        }
Example #32
0
 public void Publish(IOffer offer)
 {
     _EventAggregator.Publish(offer);
 }
 public void Setup()
 {
     offer = new MilkOffer();
 }
 public void Setup()
 {
     offer = new BreadOffer();
 }
 private void AddOffer(IOffer offer)
 {
     this.Offers.Add(offer);
 }