示例#1
0
        public async Task<IActionResult> PutPricingDetails([FromRoute] int id, [FromBody] PricingDetails pricingDetails)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != pricingDetails.Id)
            {
                return BadRequest();
            }

            _context.Entry(pricingDetails).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PricingDetailsExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return NoContent();
        }
示例#2
0
        public static PricingDetails Map(string isbnNumber, XDocument document, PricingDetails pricingDetails = null)
        {
            if (pricingDetails == null)
            {
                pricingDetails = new PricingDetails {
                    IsbnNumber = isbnNumber
                };
            }

            try
            {
                string json = JsonConvert.SerializeXNode(document.Descendants("return").FirstOrDefault());

                var jObject = JObject.Parse(json);

                decimal price = jObject["return"]["listPrice"].Value <decimal>();

                string symbol = jObject["return"]["currency"]["symbol"].Value <string>();

                pricingDetails.CurrencyDetails.Add(new PricingCurrencyDetails
                {
                    Currency = symbol,
                    Value    = price,
                });
            }
            catch (Exception)
            {
            }

            return(pricingDetails);
        }
示例#3
0
        protected void ImportClick(object sender, EventArgs e)
        {
            string[] isbnNumbers = LoadIsbnNumbers().ToArray();

            WipePriceDatabase();

            var collection = PriceHarvestRepository.MongoCollection();

            foreach (string isbnNumber in isbnNumbers)
            {
                var pricingService = new PricingService(new ConsoleLog());

                var pricingDetails = new PricingDetails()
                {
                    IsbnNumber = isbnNumber
                };

                foreach (Currency currency in pricingService.Currencies)
                {
                    var price = pricingService.FindPriceByIsbn(isbnNumber, currency);

                    PricingMapper.Map(isbnNumber, price, pricingDetails);
                }

                collection.Insert(pricingDetails);
            }
        }
示例#4
0
        public void GetApproverEmail(string ValuationID = "")
        {
            PricingDetails Pricedetails = new PricingDetails();

            if (ValuationID == "")
            {
                ValuationID = HttpContext.Current.Session["ValuationID"].ToString();
            }

            Pricedetails.ValuationID = ValuationID;
            Pricedetails.UserID      = HttpContext.Current.Session["UserID"].ToString();
            //Uri urlTemplate = new Uri(ConfigurationManager.AppSettings["ServerAddress"].ToString() + ":5012");
            Uri urlTemplate = new Uri(ConfigurationManager.AppSettings["ServerAddress"].ToString() + "/GetApproverMailDetails");
            //Uri urlTemplate = new Uri("http://localhost" + ":3000/GetApproverMailDetails");
            //PricingDetailsSave
            var client = new HttpClient();

            client.BaseAddress = urlTemplate;
            client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
            client.Timeout = TimeSpan.FromMilliseconds(600000);
            JavaScriptSerializer js     = new JavaScriptSerializer();
            string        strjson       = js.Serialize(Pricedetails);
            StringContent htpcontent    = new StringContent(strjson, Encoding.UTF8, "application/json");
            var           response      = client.PostAsync("", htpcontent).Result;
            string        resultContent = response.Content.ReadAsStringAsync().Result.ToString();

            EmailDetails EmailDet = js.Deserialize <EmailDetails>(resultContent);

            txtsenderEmail.Value  = EmailDet.ApproverEmail.ToString();
            txtemailContent.Value = EmailDet.EmailContent.ToString();
            txtsubjectEmail.Value = EmailDet.Subject.ToString();
        }
示例#5
0
        private static PricingCurrencyDetails SelectCurrency(PricingDetails pricingDetails, string currency)
        {
            var result = pricingDetails.CurrencyDetails.FirstOrDefault(a => a.Currency == currency);

            if (result == null)
            {
                result = pricingDetails.CurrencyDetails.FirstOrDefault(a => a.Currency == "&pound;");
            }

            return(result);
        }
示例#6
0
        public async Task<IActionResult> PostPricingDetails([FromBody] PricingDetails pricingDetails)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            _context.PricingDetails.Add(pricingDetails);
            await _context.SaveChangesAsync();

            return CreatedAtAction("GetPricingDetails", new { id = pricingDetails.Id }, pricingDetails);
        }
        public async Task CreateAsync(PricingDetails pricingDetails)
        {
            GetSessions();

            if (ViewBag.Email == null)
            {
                ExpiredSession();
            }

            if (ModelState.IsValid)
            {
                _context.Add(pricingDetails);
                await _context.SaveChangesAsync();

                //return RedirectToAction("Index", "Pricings");
            }
            //return View(pricingDetails);
        }
        public List <PricingDetails> GetPricingInfo()
        {
            var newVmDetails = new List <PricingDetails>();

            var url = "https://azure.microsoft.com/api/v2/pricing/virtual-machines-base/calculator/?culture=en-us&discount=mosp";

            using (var client = new HttpClient())
            {
                var response = client.GetStringAsync(url).Result;

                var vm = JsonConvert.DeserializeObject <VirtualMachines>(response);

                foreach (var item in vm.Offers)
                {
                    var newVm = new PricingDetails
                    {
                        Cores           = item.Value.Cores,
                        DiskSize        = item.Value.DiskSize,
                        IsVcpu          = item.Value.IsVcpu,
                        Ram             = item.Value.Ram,
                        Series          = item.Value.Series,
                        VirtualMachines = item.Key.ToString(),
                    };

                    var valuesList = new List <Zones>();
                    foreach (var value in item.Value.Prices)
                    {
                        var eachValue = new Zones
                        {
                            Value    = Convert.ToDouble(value.Value.VmValue),
                            ZoneName = value.Key.ToString()
                        };
                        valuesList.Add(eachValue);
                    }
                    newVm.Zone = valuesList;
                    newVmDetails.Add(newVm);
                }
            }

            return(newVmDetails);
        }
        public async Task EditAsync(int id, PricingDetails pricingDetails)
        {
            GetSessions();

            if (ViewBag.Email == null)
            {
                ExpiredSession();
            }

            /*if (id != pricingDetails.Id)
             * {
             *  return NotFound();
             * }*/

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(pricingDetails);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PricingDetailsExists(pricingDetails.Id))
                    {
                        //return NotFound();
                    }
                    else
                    {
                        throw;
                    }
                }

                //return RedirectToAction(nameof(Index), "Pricings");
            }

            //return View(pricingDetails);
        }