コード例 #1
0
        private ShippingSettings SampleShippingSettings()
        {
            RateGroup rateUSPS = new RateGroup();

            rateUSPS.ApplicableShippingLabels = new List <string>();
            rateUSPS.SingleValue                   = new Value();
            rateUSPS.SingleValue.FlatRate          = new Price();
            rateUSPS.SingleValue.FlatRate.Value    = "5.00";
            rateUSPS.SingleValue.FlatRate.Currency = "USD";

            Service serviceUSPS = new Service();

            serviceUSPS.Name            = "USPS";
            serviceUSPS.Currency        = "USD";
            serviceUSPS.DeliveryCountry = "US";
            serviceUSPS.DeliveryTime    = new DeliveryTime();
            serviceUSPS.DeliveryTime.MinTransitTimeInDays = 3;
            serviceUSPS.DeliveryTime.MaxTransitTimeInDays = 7;
            serviceUSPS.RateGroups = new List <RateGroup>();
            serviceUSPS.RateGroups.Add(rateUSPS);
            serviceUSPS.Active = true;

            ShippingSettings settings = new ShippingSettings();

            settings.PostalCodeGroups = new List <PostalCodeGroup>();
            settings.Services         = new List <Service>();
            settings.Services.Add(serviceUSPS);
            return(settings);
        }
コード例 #2
0
        public static RateGroup LoadFromJsonString(string rateGroupJson)
        {
            var result = new RateGroup();

            // Setup all days of the week
            var allDayOfWeeks = Enum.GetValues(typeof(IsoDayOfWeek)).Cast <IsoDayOfWeek>().ToList();

            allDayOfWeeks.ForEach(day => result.DayRateRanges[day] = new List <TimeRangeRate>());

            var rawResult = JsonConvert.DeserializeObject <RawRateGroups>(rateGroupJson);

            foreach (var listedRange in rawResult.Rates)
            {
                var dayOfWeeks = TimeHelpers.DaysFromStringList(listedRange.Days);
                var times      = listedRange.Times.Split('-');
                var beginTime  = int.Parse(times[0]);
                var endTime    = int.Parse(times[1]);

                foreach (var dayOfWeek in dayOfWeeks)
                {
                    result.DayRateRanges[dayOfWeek].Add(new TimeRangeRate(beginTime, endTime, listedRange.Price));
                }
            }

            return(result);
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            RateGroup rateGroup = db.RateGroups.Find(id);

            db.RateGroups.Remove(rateGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
 public ActionResult Edit([Bind(Include = "Id,GroupName")] RateGroup rateGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rateGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(rateGroup));
 }
コード例 #5
0
        public ActionResult Create([Bind(Include = "Id,GroupName")] RateGroup rateGroup)
        {
            if (ModelState.IsValid)
            {
                db.RateGroups.Add(rateGroup);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(rateGroup));
        }
コード例 #6
0
        // GET: RateGroups/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RateGroup rateGroup = db.RateGroups.Find(id);

            if (rateGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(rateGroup));
        }
コード例 #7
0
 public void AddGroup(RateGroup group)
 {
     RateGroups[group.GroupId] = group;
 }