Ejemplo n.º 1
0
 public object AddRates(RatesModel rate)
 {
     rate.CreatedDate = DateTime.Now;
     rate.IsActive    = true;
     cManager.AddRates(rate);
     return(Ok());
 }
        private async Task <ReturnModel> GetValues(RatesModel response)
        {
            List <double> _rates = new List <double>();
            double        min = Double.MaxValue;
            double        max = 0;
            DateTime      dateOnMax = DateTime.UnixEpoch, dateOnMin = DateTime.UnixEpoch;

            foreach (var r in response.Rates)
            {
                if (r.Value.Values.First() > max)
                {
                    max       = r.Value.Values.First();
                    dateOnMax = r.Key;
                }
                else if (r.Value.Values.First() < min)
                {
                    min       = r.Value.Values.First();
                    dateOnMin = r.Key;
                }
                _rates.Add(r.Value.Values.First());
            }

            var result = new ReturnModel(_rates.Average(), min, max, dateOnMin, dateOnMax);

            return(result);
        }
Ejemplo n.º 3
0
        public bool AddRates(RatesModel rates)
        {
            var      config = new MapperConfiguration(cfg => cfg.CreateMap <RatesModel, RateData>());
            IMapper  mapper = config.CreateMapper();
            RateData rate   = mapper.Map <RatesModel, RateData>(rates);

            return(manageCRepository.AddRates(rate));
        }
        public void RemoveRates_Success()
        {
            _ratesViewModel.SelectedRates = _ratesViewModel.RatesCollection.FirstOrDefault(e => e.Id.Equals(2));
            _ratesViewModel.RemoveRates.Execute(new object());
            RatesModel rates = _ratesViewModel.RatesCollection.FirstOrDefault(e => e.Id.Equals(2));

            Assert.AreEqual(null, rates);
        }
        public void FindRates_WithId1()
        {
            RatesModel rates = _ratesViewModel.RatesCollection.FirstOrDefault(e => e.Id.Equals(1));

            Assert.AreEqual(rates.Id, 1);
            Assert.AreEqual(rates.ShirtId, 1);
            Assert.AreEqual(rates.ServiceId, 1);
            Assert.AreEqual(rates.Price, 2000);
            Assert.AreEqual(rates.Unit, "Kg");
        }
        public void UpdateRates_Success()
        {
            RatesModel rates = _ratesViewModel.RatesCollection.FirstOrDefault(e => e.Id.Equals(3));

            rates.Id    = 3;
            rates.Price = 5500;
            rates.Unit  = "Gram";
            Assert.AreEqual(rates.Id, 3);
            Assert.AreEqual(rates.Price, 5500);
            Assert.AreEqual(rates.Unit, "Gram");
        }
        public async Task <IActionResult> GetDateRate(string date)
        {
            ResponseModel response = await _service.GetDateRates(date);

            if (response == null)
            {
                return(NotFound());
            }

            RatesModel result = Mapper.Map <RatesModel>(response);

            return(Ok(result.DeserRates));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets the rates for a specified postal code destination and package dimensions asynchronous.
        /// </summary>
        /// <param name="model">The rates model.</param>
        /// <param name="token">The cancellation token.</param>
        /// <returns>A task of <see cref="RatesResponse"/></returns>
        public async Task <RatesResponse> GetRatesAsync(RatesModel model, CancellationToken token)
        {
            var data = new RatesRequest
            {
                Token         = _token,
                PostalCode    = model.PostalCode,
                DeclaredValue = model.DeclaredValue.ToString(CultureInfo.InvariantCulture),
                Height        = model.Dimensions.Height.ToString(CultureInfo.InvariantCulture),
                Length        = model.Dimensions.Length.ToString(CultureInfo.InvariantCulture),
                Weight        = model.Dimensions.Weight.ToString(CultureInfo.InvariantCulture),
                Width         = model.Dimensions.Width.ToString(CultureInfo.InvariantCulture)
            };

            return(await _service.Post <RatesResponse, RatesRequest>(data, token).ConfigureAwait(_configureAwait));
        }
        public void AddRates_Success()
        {
            _ratesViewModel.Id      = 4;
            _ratesViewModel.Shirt   = _ratesViewModel.ShirtCollection.FirstOrDefault(e => e.Id.Equals(2));
            _ratesViewModel.Service = _ratesViewModel.ServiceCollection.FirstOrDefault(e => e.Id.Equals(1));
            _ratesViewModel.Price   = 4500;
            _ratesViewModel.Unit    = "Gram";
            _ratesViewModel.AddRates.Execute(new object());
            RatesModel rates = _ratesViewModel.RatesCollection.FirstOrDefault(e => e.Id.Equals(4));

            Assert.AreEqual(rates.Id, 4);
            Assert.AreEqual(rates.ShirtId, 2);
            Assert.AreEqual(rates.ServiceId, 1);
            Assert.AreEqual(rates.Price, 4500);
            Assert.AreEqual(rates.Unit, "Gram");
        }
Ejemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idRate"></param>
        /// <returns></returns>
        public RatesModel GetRatesById(int idRate)
        {
            var rate = new RatesModel();

            try
            {
                using (SqlConnection con = new SqlConnection(exchangeRatesConection))
                {
                    using (SqlCommand cmd = new SqlCommand("dbo.GetRatesById", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add(new SqlParameter("@rId", idRate));

                        con.Open();
                        using (SqlDataReader rdr = cmd.ExecuteReader())
                        {
                            while (rdr.Read())
                            {
                                int      id          = Convert.ToInt32(rdr["rId"]);
                                string   name        = rdr["rName"].ToString();
                                decimal  rateVal     = Convert.ToDecimal(rdr["rRate"]);
                                string   description = rdr["rDescription"].ToString();
                                DateTime date        = Convert.ToDateTime(rdr["rDate"]);

                                rate.Id          = id;
                                rate.Name        = name;
                                rate.Rate        = rateVal;
                                rate.Description = description;
                                rate.Date        = date;
                            }
                        }

                        con.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return(rate);
        }
Ejemplo n.º 11
0
        public ActionResult Rates(int noteid, RatesModel rt)
        {
            Rating r = new Rating();

            using (projectEntities1 db = new projectEntities1())
            {
                NoteDetail nm = db.NoteDetails.Where(u => u.Id == noteid).FirstOrDefault();
                {
                    r.Date        = DateTime.Now;
                    r.Description = rt.comment;
                    r.BuyerId     = 10;
                    r.NoteId      = noteid;
                    r.Rate        = Convert.ToInt32(Request.Form["rate"]);
                    db.Ratings.Add(r);
                    db.SaveChanges();
                    return(View());
                }
            }
        }
        private RatesModel GetRateValue(List <RatesModel> ratesJSON, string currency, bool isEur, List <string> verifyCurrency = null)
        {
            foreach (RatesModel rate in ratesJSON)
            {
                if (rate.From == currency)
                {
                    if (isEur && rate.To == "EUR")
                    {
                        convertRate = rate;
                    }

                    if (!isEur && verifyCurrency.IndexOf(rate.To) == -1)
                    {
                        convertRate = rate;
                    }
                }
            }

            return(convertRate);
        }
Ejemplo n.º 13
0
        public AddTransactionViewModel(IUnitOfWork unitOfWork)
        {
            TransactionModel.unitOfWork = unitOfWork;
            RatesModel.unitOfWork       = unitOfWork;
            _transaction             = new TransactionModel();
            _transaction.IsNewObject = true;
            _transactionDetail       = new TransactionDetailModel();
            _rates           = new RatesModel();
            _ratesCollection = RatesModel.GetAllData();

            #region Initialize Commands
            AddTransaction = new DelegatingCommand((o) => {
                TransactionModel.AddItem(_transaction);
                Transaction = new TransactionModel();
                Transaction.TransactionDetails = new ObservableCollection <TransactionDetailModel>();
                Transaction.IsNewObject        = true;
            });
            AddItemTransaction    = new DelegatingCommand((o) => ToolbarButtonMethod(new AddItemTransactionAction(this)));
            RemoveItemTransaction = new DelegatingCommand((o) => ToolbarButtonMethod(new RemoveItemTransactionAction(this)));
            #endregion
        }
Ejemplo n.º 14
0
        public static InverseRatesModel Inverse(RatesModel rates)
        {
            double?inverseBid = null;

            if (rates.Bid > double.Epsilon)
            {
                inverseBid = (1 / rates.Bid).TruncateDecimalPlaces(BtcAccuracy);
            }

            double?inverseAsk = null;

            if (rates.Ask > double.Epsilon)
            {
                inverseAsk = (1 / rates.Ask).TruncateDecimalPlaces(BtcAccuracy);
            }

            return(new InverseRatesModel
            {
                Ask = inverseBid,
                Bid = inverseAsk
            });
        }
Ejemplo n.º 15
0
        public async Task GetRatesAsync()
        {
            var client = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");

            var ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1
                }
            };

            var source = new CancellationTokenSource(new TimeSpan(0, 5, 0));
            var rates  = await client.GetRatesAsync(ratesModel, source.Token);

            Assert.IsFalse(string.IsNullOrWhiteSpace(rates.PostalCode));
            //Assert.IsTrue(rates.ShippingServices.Any());
        }
Ejemplo n.º 16
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                var client  = new RestClient("https://api.ratesapi.io/api");
                var request = new RestRequest("latest", DataFormat.Json);

                var response = client.Get(request);
                if (response.IsSuccessful == true)
                {
                    RatesModel rates = JsonConvert.DeserializeObject <RatesModel>(response.Content);

                    StringBuilder myStringBuilder = new StringBuilder($"{DateTime.Now.ToString()} US: {rates.rates.USD} Great Britain: {rates.rates.GBP}");

                    System.IO.TextWriter tw;
                    tw = new StreamWriter(Path.Combine(_options.OutputFolder, "Rates.txt"), true);
                    tw.WriteLine(myStringBuilder);
                    tw.Close();
                }

                await Task.Delay(30000, stoppingToken);
            }
        }
Ejemplo n.º 17
0
        public void GetRates()
        {
            var client = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");

            var ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1
                }
            };

            var rates = client.GetRates(ratesModel);

            Assert.IsNull(rates.Error);
            Assert.IsFalse(string.IsNullOrWhiteSpace(rates.PostalCode));
            //Assert.IsTrue(rates.ShippingServices.Any());
        }
Ejemplo n.º 18
0
        public RatesViewModel(IUnitOfWork unitOfWork)
        {
            RatesModel.unitOfWork   = unitOfWork;
            ServiceModel.unitOfWork = unitOfWork;
            ShirtModel.unitOfWork   = unitOfWork;

            _rates             = new RatesModel();
            _rates.IsNewObject = true;
            _service           = new ServiceModel();
            _shirt             = new ShirtModel();
            _selectedRates     = new RatesModel();
            _ratesCollection   = RatesModel.GetAllData();
            _serviceCollection = ServiceModel.GetAllData();
            _shirtCollection   = ShirtModel.GetAllData();

            #region Initialize Commands
            AddRates = new DelegatingCommand((o) => {
                RatesModel.AddItem(_rates);
                _rates             = new RatesModel();
                _rates.IsNewObject = true;
            });
            RemoveRates = new DelegatingCommand((o) => RatesModel.RemoveItem(_selectedRates));
            #endregion
        }
Ejemplo n.º 19
0
        private static IEnumerable <RatesModel> ParseResultsForm(Microsoft.AspNetCore.Http.IFormCollection form)
        {
            var ret = new List <RatesModel>();

            IEnumerable <String> RatesToSave = form["item.Id"].ToString().Split(',');

            foreach (string r in RatesToSave)
            {
                int id;

                if (int.TryParse(r, out id))
                {
                    RatesModel rm = new RatesModel()
                    {
                        Id = id
                    };

                    if (!String.IsNullOrEmpty(form["rate100_" + id.ToString()]))
                    {
                        decimal val;

                        if (Decimal.TryParse(form["rate100_" + id.ToString()], out val))
                        {
                            rm.Rate100 = val;
                        }
                    }

                    if (!String.IsNullOrEmpty(form["rate600_" + id.ToString()]))
                    {
                        decimal val;

                        if (Decimal.TryParse(form["rate600_" + id.ToString()], out val))
                        {
                            rm.Rate600 = val;
                        }
                    }

                    if (!String.IsNullOrEmpty(form["rate1200_" + id.ToString()]))
                    {
                        decimal val;

                        if (Decimal.TryParse(form["rate1200_" + id.ToString()], out val))
                        {
                            rm.Rate1200 = val;
                        }
                    }

                    if (!String.IsNullOrEmpty(form["rate1700_" + id.ToString()]))
                    {
                        decimal val;

                        if (Decimal.TryParse(form["rate1700_" + id.ToString()], out val))
                        {
                            rm.Rate1700 = val;
                        }
                    }

                    if (!String.IsNullOrEmpty(form["rate5000_" + id.ToString()]))
                    {
                        decimal val;

                        if (Decimal.TryParse(form["rate5000_" + id.ToString()], out val))
                        {
                            rm.Rate5000 = val;
                        }
                    }

                    ret.Add(rm);
                }
            }

            return(ret);
        }
Ejemplo n.º 20
0
        public RatesModel GetRates()
        {
            var lResult         = new RatesModel();
            var lLogMsg         = string.Empty;
            var lRatesContainer = new RatesModel();
            var pContext        = System.Web.HttpContext.Current;

            // Get BookID, VersionID & Year from Cookie
            var lCookieData = CookieManagement.GetCookie(pContext);

            var newParentADType = new RateParentAdType();
            var lParentAdTypeID = 0;
            var lRateTypeID     = 0;
            var lAdTypeID       = 0;
            var lTierID         = -1;

            var isTierOpen     = false;
            var isAdOpen       = false;
            var isRateOpen     = false;
            var isParentAdOpen = false;

            var newRateRateType    = new RateRateType();
            var newRateAdType      = new RateAdType();
            var newRateTier        = new RateTier();
            var newRateEditionType = new RateEditionType();
            var recordCount        = 0;

            try
            {
                using (Loreal_DEVEntities6 db = new Loreal_DEVEntities6())
                {
                    //var lRatesData = db.GetRates("2017", 8, 1)
                    var lRatesData = db.GetRates(lCookieData.Year, lCookieData.BookID, lCookieData.VersionID)
                                     .ToList();

                    var recordTotal = lRatesData.Count;

                    lRatesContainer.PublisherName = lCookieData.Publisher;
                    lRatesContainer.BookName      = lCookieData.Book;
                    lRatesContainer.Year          = lCookieData.Year;
                    lRatesContainer.VersionID     = lCookieData.VersionID;

                    foreach (var rateItem in lRatesData)
                    {
                        recordCount++;

                        // Add class member values for new record.

                        // ParentAdType
                        if (lParentAdTypeID != rateItem.ParentAdTypeID)
                        {
                            lParentAdTypeID = Convert.ToInt32(rateItem.ParentAdTypeID);

                            /* Ready to add the populated ParentAdType to RatesModel RateParentAdTypes collection or is this the first one?
                             * Reset vars for new new ParentADType */
                            lRateTypeID = 0;
                            lAdTypeID   = 0;
                            lTierID     = -1;

                            if (isTierOpen)
                            {
                                newRateAdType.RateTiers.Add(newRateTier);
                                isTierOpen = false;
                            }

                            if (isAdOpen)
                            {
                                newRateRateType.RateAdTypes.Add(newRateAdType);
                                isAdOpen = false;
                            }
                            if (isRateOpen)
                            {
                                newParentADType.RateRateTypes.Add(newRateRateType);
                                isRateOpen = false;
                            }

                            // Make this specific to the parent
                            if (isParentAdOpen)
                            {
                                lRatesContainer.RateParentAdTypes.Add(newParentADType);
                                isParentAdOpen = false;
                            }

                            // Now add the new populated ParentADType to the Rates container
                            if (lParentAdTypeID != 0)
                            {
                                newParentADType = new RateParentAdType
                                {
                                    ParentAdTypeID = lParentAdTypeID,
                                    ParentAdType   = rateItem.ParentAdType
                                };
                                if (rateItem.AdvertorialEarnedPercentDiscount != null)
                                {
                                    newParentADType.AdvertorialEarnedPercentDiscount = rateItem.AdvertorialEarnedPercentDiscount;
                                }
                                if (rateItem.BleedOpenPercentPremium != null)
                                {
                                    newParentADType.BleedOpenPercentPremium = rateItem.BleedOpenPercentPremium;
                                }
                                if (rateItem.BleedEarnedPercentPremium != null)
                                {
                                    newParentADType.BleedEarnedPercentPremium = rateItem.BleedEarnedPercentPremium;
                                }
                                if (rateItem.Cover2OpenPercentPremium != null)
                                {
                                    newParentADType.Cover2OpenPercentPremium = rateItem.Cover2OpenPercentPremium;
                                }
                                if (rateItem.Cover2EarnedPercentPremium != null)
                                {
                                    newParentADType.Cover2EarnedPercentPremium = rateItem.Cover2EarnedPercentPremium;
                                }
                                if (rateItem.Cover3OpenPercentPremium != null)
                                {
                                    newParentADType.Cover3OpenPercentPremium = rateItem.Cover3OpenPercentPremium;
                                }
                                if (rateItem.Cover3EarnedPercentPremium != null)
                                {
                                    newParentADType.Cover3EarnedPercentPremium = rateItem.Cover3EarnedPercentPremium;
                                }
                                if (rateItem.Cover4OpenPercentPremium != null)
                                {
                                    newParentADType.Cover4OpenPercentPremium = rateItem.Cover4OpenPercentPremium;
                                }
                                if (rateItem.Cover4EarnedPercentPremium != null)
                                {
                                    newParentADType.Cover4EarnedPercentPremium = rateItem.Cover4EarnedPercentPremium;
                                }
                                if (rateItem.FracHalfPageOpenPercentPremium != null)
                                {
                                    newParentADType.FracHalfPageOpenPercentPremium = rateItem.FracHalfPageOpenPercentPremium;
                                }
                                if (rateItem.FracHalfPageEarnedPercentPremium != null)
                                {
                                    newParentADType.FracHalfPageEarnedPercentPremium = rateItem.FracHalfPageEarnedPercentPremium;
                                }
                                if (rateItem.FracThirdPageOpenPercentPremium != null)
                                {
                                    newParentADType.FracThirdPageOpenPercentPremium = rateItem.FracThirdPageOpenPercentPremium;
                                }
                                if (rateItem.FracThirdPageEarnedPercentPremium != null)
                                {
                                    newParentADType.FracThirdPageEarnedPercentPremium = rateItem.FracThirdPageEarnedPercentPremium;
                                }
                                if (rateItem.FracThirdRunOppFBPOpenPercentPremium != null)
                                {
                                    newParentADType.FracThirdRunOppFBPOpenPercentPremium = rateItem.FracThirdRunOppFBPOpenPercentPremium;
                                }
                                if (rateItem.FracThirdRunOppFBPEarnedPercentPremium != null)
                                {
                                    newParentADType.FracThirdRunOppFBPEarnedPercentPremium = rateItem.FracThirdRunOppFBPEarnedPercentPremium;
                                }
                                if (rateItem.SpreadC2P1EarnedPercentDiscount != null)
                                {
                                    newParentADType.SpreadC2P1EarnedPercentDiscount = rateItem.SpreadC2P1EarnedPercentDiscount;
                                }
                                if (rateItem.SpreadROBEarnedPercentDiscount != null)
                                {
                                    newParentADType.SpreadROBEarnedPercentDiscount = rateItem.SpreadROBEarnedPercentDiscount;
                                }
                                if (rateItem.FifthColorMetallicOpenDollarPremium != null)
                                {
                                    newParentADType.FifthColorMetallicOpenDollarPremium = rateItem.FifthColorMetallicOpenDollarPremium;
                                }
                                if (rateItem.FifthColorMetallicEarnedDollarPremium != null)
                                {
                                    newParentADType.FifthColorMetallicEarnedDollarPremium = rateItem.FifthColorMetallicEarnedDollarPremium;
                                }
                                if (rateItem.FifthColorMatchOpenDollarPremium != null)
                                {
                                    newParentADType.FifthColorMatchOpenDollarPremium = rateItem.FifthColorMatchOpenDollarPremium;
                                }
                                if (rateItem.FifthColorMatchEarnedDollarPremium != null)
                                {
                                    newParentADType.FifthColorMatchEarnedDollarPremium = rateItem.FifthColorMatchEarnedDollarPremium;
                                }
                                if (rateItem.FifthColorPMSOpenDollarPremium != null)
                                {
                                    newParentADType.FifthColorPMSOpenDollarPremium = rateItem.FifthColorPMSOpenDollarPremium;
                                }
                                if (rateItem.FifthColorPMSEarnedDollarPremium != null)
                                {
                                    newParentADType.FifthColorPMSEarnedDollarPremium = rateItem.FifthColorPMSEarnedDollarPremium;
                                }
                                isParentAdOpen = true;
                            }
                        }
                        // RateType
                        if (lRateTypeID != rateItem.RateTypeID)
                        {
                            lRateTypeID = Convert.ToInt32(rateItem.RateTypeID);

                            if (isTierOpen)
                            {
                                newRateAdType.RateTiers.Add(newRateTier);
                                isTierOpen = false;
                            }

                            if (isAdOpen)
                            {
                                newRateRateType.RateAdTypes.Add(newRateAdType);
                                isAdOpen = false;
                            }

                            if (isRateOpen)
                            {
                                newParentADType.RateRateTypes.Add(newRateRateType);
                                isRateOpen = false;
                            }

                            lAdTypeID = 0;
                            lTierID   = -1;
                            if (lRateTypeID != 0)
                            {
                                newRateRateType = new RateRateType
                                {
                                    RateTypeName = rateItem.RateType,
                                    RateTypeID   = lRateTypeID
                                };
                                isRateOpen = true;
                            }
                        }

                        // AdType
                        if (lAdTypeID != rateItem.AdTypeID)
                        {
                            lAdTypeID = Convert.ToInt32(rateItem.AdTypeID);

                            if (isTierOpen)
                            {
                                newRateAdType.RateTiers.Add(newRateTier);
                                isTierOpen = false;
                            }
                            lTierID = -1;

                            if (isAdOpen)
                            {
                                newRateRateType.RateAdTypes.Add(newRateAdType);
                                isAdOpen = false;
                            }

                            if (lAdTypeID != 0)
                            {
                                newRateAdType = new RateAdType
                                {
                                    AdType   = rateItem.AdType,
                                    AdTypeID = lAdTypeID
                                };
                                if (rateItem.PublisherAgreement != null)
                                {
                                    newRateAdType.PublisherAgreement = rateItem.PublisherAgreement;
                                }
                                isAdOpen = true;
                            }
                        }

                        // Tier
                        if (lTierID != rateItem.TierID)
                        {
                            lTierID = Convert.ToInt32(rateItem.TierID);

                            if (isTierOpen)
                            {
                                newRateAdType.RateTiers.Add(newRateTier);
                                isTierOpen = false;
                            }

                            newRateTier = new RateTier
                            {
                                Tier      = rateItem.Tier,
                                TierRange = rateItem.TierRange,
                                TierID    = lTierID
                            };
                            isTierOpen = true;
                        }

                        // EditionType
                        newRateEditionType = new RateEditionType();
                        // Only add a class member if the record has a value.  Otherwise, leave out to preserve NULL.
                        if (rateItem.EditionTypeID != null)
                        {
                            newRateEditionType.EditionTypeID = Convert.ToInt32(rateItem.EditionTypeID);
                        }
                        if (!String.IsNullOrEmpty(rateItem.EditionType))
                        {
                            newRateEditionType.EditionTypeName = rateItem.EditionType;
                        }
                        if (rateItem.Rate != null)
                        {
                            newRateEditionType.Rate = Convert.ToDecimal(rateItem.Rate);
                        }
                        if (rateItem.CPM != null)
                        {
                            newRateEditionType.CPM = Convert.ToDecimal(rateItem.CPM);
                        }
                        if (rateItem.RateBaseCirculationGuarantee != null)
                        {
                            newRateEditionType.RateBaseCirculationGuarantee = Convert.ToDecimal(rateItem.RateBaseCirculationGuarantee / 1000.00); // For display
                        }
                        if (rateItem.AveragePrintRun != null)
                        {
                            newRateEditionType.AveragePrintRun = Convert.ToDecimal(rateItem.AveragePrintRun / 1000.00); // For display
                        }
                        if (rateItem.OpenProductionCost != null)
                        {
                            newRateEditionType.OpenProductionCost = Convert.ToInt32(rateItem.OpenProductionCost);
                        }
                        if (rateItem.EarnedProductionCost != null)
                        {
                            newRateEditionType.EarnedProductionCost = Convert.ToInt32(rateItem.EarnedProductionCost);
                        }
                        if (rateItem.EarnedNEP != null)
                        {
                            newRateEditionType.EarnedNEP = Convert.ToDecimal(rateItem.EarnedNEP);
                        }

                        newRateTier.RateEditionTypes.Add(newRateEditionType);

                        if (recordCount == recordTotal)
                        {
                            newRateAdType.RateTiers.Add(newRateTier);
                            newRateRateType.RateAdTypes.Add(newRateAdType);
                            newParentADType.RateRateTypes.Add(newRateRateType);
                            lRatesContainer.RateParentAdTypes.Add(newParentADType);
                        }
                    }

                    if (lRatesContainer.RateParentAdTypes.Any())
                    {
                        lResult = lRatesContainer;
                    }

                    return(lResult);
                }
            }
            catch (Exception ex)
            {
                var lReturnMessage = String.Format("Error in Repository GetRates method.  BookID: {0}.", lCookieData.BookID);
                lLogMsg = String.Format(lReturnMessage + "ERROR MESSAGE: {0}. INNER EXCEPTION: {1}  SOURCE: {2}. STACKTRACE: {3}.", ex.Message, ex.InnerException, ex.Source, ex.StackTrace);

                if (ex.InnerException != null)
                {
                    if (((System.Data.SqlClient.SqlException)ex.InnerException).Procedure != null)
                    {
                        var lSQLError = String.Format("SQL ERROR INFORMATION: PROCEDURE: {0}.  LINE NUMBER: {1}.", ((System.Data.SqlClient.SqlException)ex.InnerException).Procedure, ((System.Data.SqlClient.SqlException)ex.InnerException).LineNumber);
                        lLogMsg = lSQLError + lLogMsg;
                    }
                }
                logger.Error(lLogMsg);
                throw new Exception(lReturnMessage);
            }
        }
Ejemplo n.º 21
0
        public void FullFlowValidation()
        {
            var          client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            const string customerId = "182AC0ECDE0CA08A8B729733EBE8197D";
            var          rnd        = new Random();
            var          ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1.3
                }
            };
            var orderModel = new OrderModel
            {
                CustomerId     = customerId,
                Vehicle        = Vehicle.CAR,
                Observation    = "Full flow validation test",
                Scheduling     = DateTime.Now,
                PartnerOrderId = "1234567890",
                Sender         = new Sender
                {
                    Address = new Address
                    {
                        Number       = "527",
                        PostalCode   = "03137020",
                        Neighborhood = "Vila Prudente",
                        City         = "São Paulo",
                        State        = "SP",
                        Street       = "Rua Itanháem",
                        Country      = "BR"
                    },
                    FullName = "Editora Inovação"
                },
                Items = new[]
                {
                    new Item
                    {
                        Id          = rnd.Next(10000, 99999),
                        Dimensions  = ratesModel.Dimensions,
                        Observation = "Teste",
                        Recipient   = new Recipient
                        {
                            Address = new Address
                            {
                                PostalCode   = "22041080",
                                Number       = "110",
                                Neighborhood = "Copacabana",
                                City         = "Rio de Janeiro",
                                State        = "RJ",
                                Street       = "Rua Anita Garibaild",
                                Country      = "BR"
                            },
                            FullName = "Vitrine do Artesanato",
                            Email    = "",
                            Phone    = "+551133822031",
                            Document = "05944298000101"
                        },
                        PartnerItemId = "12345",
                        Invoice       = new Invoice
                        {
                            Id  = "606620",
                            Key = "35170805944298000101550010006066201623434877"
                        },
                        Skus = new[]
                        {
                            new Sku
                            {
                                Description = "Caneta Acrilpen",
                                Ean         = "7891153044392",
                                Price       = new decimal(4.47),
                                Quantity    = 2,
                                SkuId       = "3583"
                            },
                            new Sku
                            {
                                Description = "Tecido algodão crú sem risco",
                                Ean         = string.Empty,
                                Price       = new decimal(15.43),
                                Quantity    = 2,
                                SkuId       = "7522"
                            }
                        }
                    }
                }
            };
            var order = client.CreateOrderCollectRequest(orderModel);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
        }
Ejemplo n.º 22
0
 /// <summary>
 /// Gets the rates for a specified postal code destination and package dimensions.
 /// </summary>
 /// <param name="model">The rates model.</param>
 /// <returns><see cref="RatesResponse"/></returns>
 public RatesResponse GetRates(RatesModel model)
 {
     return(GetRatesAsync(model, CancellationToken.None).Result);
 }