public static CarrierRateVm GetCarrierRateInfo(int carrRateId) { CarrierRateVm carrRateVm = new CarrierRateVm(); if (carrRateId == 0) { return(carrRateVm); } EasyFreightEntities db = new EasyFreightEntities(); CarrierRate carrRateDb = db.CarrierRates.Include("CarrierRateTransits").Where(x => x.CarrierRateId == carrRateId).FirstOrDefault(); Mapper.CreateMap <CarrierRate, CarrierRateVm>().IgnoreAllNonExisting(); Mapper.Map(carrRateDb, carrRateVm); carrRateVm.TransitPortId = carrRateDb.CarrierRateTransits.Select(x => x.TransitPortId).ToArray(); return(carrRateVm); }
/// <summary> /// Will set isValid to false .. will not be deleted /// </summary> /// <param name="carrRateId"></param> /// <returns></returns> public static string Delete(int carrRateId) { string isDeleted = "true"; EasyFreightEntities db = new EasyFreightEntities(); CarrierRate carrRateDb = db.CarrierRates.Where(x => x.CarrierRateId == carrRateId).FirstOrDefault(); carrRateDb.IsValid = false; try { db.SaveChanges(); } catch (Exception ex) { isDeleted = "false" + ex.Message; } return(isDeleted); }
public void TestLowestRate() { var lowestUSPS = new CarrierRate { Rate = 1.0, Carrier = "USPS", Service = "ParcelSelect" }; var highestUSPS = new CarrierRate { Rate = 10.0, Carrier = "USPS", Service = "Priority" }; var lowestUPS = new CarrierRate { Rate = 2.0, Carrier = "UPS", Service = "ParcelSelect" }; var highestUPS = new CarrierRate { Rate = 20.0, Carrier = "UPS", Service = "Priority" }; var shipment = new Shipment { Rates = new List <CarrierRate> { highestUSPS, lowestUSPS, highestUPS, lowestUPS } }; var rate = shipment.LowestRate(); Assert.AreEqual(rate, lowestUSPS); rate = shipment.LowestRate(new[] { "UPS" }); Assert.AreEqual(rate, lowestUPS); rate = shipment.LowestRate(includeServices: new[] { "Priority" }); Assert.AreEqual(rate, highestUSPS); rate = shipment.LowestRate(excludeCarriers: new[] { "USPS" }); Assert.AreEqual(rate, lowestUPS); rate = shipment.LowestRate(excludeServices: new[] { "ParcelSelect" }); Assert.AreEqual(rate, highestUSPS); rate = shipment.LowestRate(new[] { "FedEx" }); Assert.IsNull(rate); }
public static string AddEditCarrierRate(CarrierRateVm carrRateVm) { string isSaved = "true"; bool isSameActive = CheckIfActiveRate(carrRateVm); if (isSameActive) { return("false. Another rate is active with same data"); } EasyFreightEntities db = new EasyFreightEntities(); CarrierRate carrRateDb; int carrRateVmId = carrRateVm.CarrierRateId; if (carrRateVmId == 0) { carrRateDb = new CarrierRate(); } else { carrRateDb = db.CarrierRates.Include("CarrierRateTransits").Where(x => x.CarrierRateId == carrRateVmId).FirstOrDefault(); } Mapper.CreateMap <CarrierRateVm, CarrierRate>().IgnoreAllNonExisting(); Mapper.Map(carrRateVm, carrRateDb); var transitList = carrRateDb.CarrierRateTransits.ToList(); //Delete all transit and insert it again if (carrRateDb.CarrierRateTransits.Count > 0) { foreach (var item in transitList) { carrRateDb.CarrierRateTransits.Remove(item); } } if (carrRateVm.TransitPortId != null) { CarrierRateTransit carrTransit; foreach (var item in carrRateVm.TransitPortId) { carrTransit = new CarrierRateTransit(); carrTransit.CarrierRateId = carrRateVm.CarrierRateId; carrTransit.TransitPortId = item; carrRateDb.CarrierRateTransits.Add(carrTransit); } } if (carrRateVmId == 0) { db.CarrierRates.Add(carrRateDb); } try { db.SaveChanges(); } catch (DbEntityValidationException e) { isSaved = "false " + e.Message; } catch (Exception e) { isSaved = "false " + e.Message; } return(isSaved); }