public ActionResult Update(YF_FareTemplateModel model) { var result = this._shipmentService.UpdateShipment(model); if (result.IsValid) { var opera = string.Format("修改运费模板:{0},操作结果:{1}", JsonConverts.ToJson(model), result.Messages); LogPackage.InserAC_OperateLog(opera, "运费模板-修改"); return(this.RedirectToAction("Index")); } return(this.View("AddOrUpdate", model)); }
public ResultModel GetFareTemplateById(int id, int languageId) { return(this._database.RunQuery(db => { var result = new ResultModel(); //result.Data = db.YF_FareTemplate // .FindAllByFareTemplateID(id) // .LeftJoin(db.ShipmentTemplate.As("ShipmentTemplateModels"), FareTemplateID: db.YF_FareTemplate.FareTemplateID) // .WithMany(db.ShipmentTemplate) // .ToList<YF_FareTemplateModel>(); YF_FareTemplateModel fare = db.YF_FareTemplate.Get(id); fare.YF_FareTemplateAreaCountryModels = db.YF_FareTemplateAreaCountry.FindAllByFareTemplateID(id) .ToList <YF_FareTemplateAreaCountryModel>(); foreach (var YF_FareTemplateAreaCountryModel in fare.YF_FareTemplateAreaCountryModels) { IList <int> ids = new List <int>(); if (!string.IsNullOrEmpty(YF_FareTemplateAreaCountryModel.CityIds)) { YF_FareTemplateAreaCountryModel.CityIds.Split(',').ForEach(m => { try { ids.Add(Convert.ToInt32(m)); } catch { // ignored } }); if (ids.Count > 0) { dynamic lang; IList <string> citys = db.THArea .Query() .Where(db.THArea.THAreaID == ids.ToArray()) .LeftJoin(db.THArea_lang, out lang) .On(db.THArea.THAreaID == db.THArea_lang.THAreaID && db.THArea_lang.LanguageID == languageId) .Select(lang.AreaName) .ToScalarList <string>(); YF_FareTemplateAreaCountryModel.CityNames = string.Join(",", citys); } } } result.Data = fare; return result; })); }
public ResultModel UpdateShipment(YF_FareTemplateModel model) { return(this._database.RunQuery(db => { var result = new ResultModel(); db.YF_FareTemplate.Update(model); IList <YF_FareTemplateAreaCountryModel> oldShipmentTemplates = db.YF_FareTemplateAreaCountry.FindAllByFareTemplateID(model.FareTemplateID) .ToList <YF_FareTemplateAreaCountryModel>(); var updateShipmentTemplates = model.YF_FareTemplateAreaCountryModels .Where(m => m.ShipmentTemplateId != 0) .ToList(); var ids = oldShipmentTemplates .Where(m => updateShipmentTemplates.All(um => um.ShipmentTemplateId != m.ShipmentTemplateId)) .Select(m => m.ShipmentTemplateId) .ToList(); if (ids.Any()) { db.YF_FareTemplateAreaCountry.DeleteAll(db.YF_FareTemplateAreaCountry.ShipmentTemplateId == ids); } if (updateShipmentTemplates.Any()) { db.YF_FareTemplateAreaCountry.Update(updateShipmentTemplates); } var inserShips = model.YF_FareTemplateAreaCountryModels .Where(m => m.ShipmentTemplateId == 0) .ToList(); foreach (var shipmentTemplateModel in inserShips) { shipmentTemplateModel.FareTemplateID = model.FareTemplateID; } if (inserShips.Any()) { db.YF_FareTemplateAreaCountry.Insert(inserShips); } return result; })); }
public ResultModel AddShipment(YF_FareTemplateModel model) { return(this._database.RunQuery(db => { var result = new ResultModel(); var fare = db.YF_FareTemplate.Insert(model); foreach (var YF_FareTemplateAreaCountryModel in model.YF_FareTemplateAreaCountryModels) { YF_FareTemplateAreaCountryModel.FareTemplateID = fare.FareTemplateID; } if (model.YF_FareTemplateAreaCountryModels.Count > 0) { db.YF_FareTemplateAreaCountry.Insert(model.YF_FareTemplateAreaCountryModels); } return result; })); }