/// <summary> /// 当前等级和类型的车型档次配置 /// </summary> /// <param name="type"></param> /// <param name="vehicleLevel"></param> /// <returns></returns> public VehicleLevelModel SelectSprayPaintVehicleByLevel(string type, string vehicleLevel) { var result = new VehicleLevelModel(); try { var configs = GRAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectSprayPaintVehicleByLevel(conn, type, vehicleLevel)); if (configs != null && configs.Any()) { result = Convert2VehicleLevels(configs).FirstOrDefault(s => s.VehicleLevel.Equals(vehicleLevel)); var serviceInfo = GetPaintServiceInfo(); var paintService = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectPaintServiceInfo(conn, result.VehicleLevel)); foreach (var service in paintService) { PaintService info = new PaintService { VehicleLevel = result.VehicleLevel, ServiceId = service.ServiceId, DisplayIndex = service.DisplayIndex, ServiceName = serviceInfo.FirstOrDefault(p => p.ServiceId.Equals(service.ServiceId))?.ServersName }; result.PaintService.Add(info); } } } catch (Exception ex) { Logger.Error("SelectSprayPaintVehicleByLevel", ex); } return(result); }
public static List <VehicleLevelModel> SelectVehicleLevel(SqlConnection conn) { List <VehicleLevelModel> result = new List <VehicleLevelModel>(); var sql = @"SELECT vt.ProductID AS VehicleId , sc.VehicleLevel , vt.Vehicle AS VehicleSeries FROM Configuration..PaintVehicleLevelConfig AS sc ( NOLOCK ) RIGHT JOIN Gungnir..tbl_Vehicle_Type AS vt ( NOLOCK ) ON sc.VehicleId = vt.ProductID COLLATE Chinese_PRC_CI_AS ORDER BY sc.VehicleLevel ASC"; var dt = SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql); if (dt == null || dt.Rows.Count == 0) { return(result); } foreach (DataRow dr in dt.Rows) { var vehicle = new VehicleInfo { VehicleId = dr["VehicleId"].ToString(), VehicleSeries = dr["VehicleSeries"].ToString() }; if (string.IsNullOrWhiteSpace(dr["VehicleLevel"].ToString())) { if (result.FirstOrDefault(p => p.VehicleLevel.Equals("不支持喷漆")) != null) { result.FirstOrDefault(p => p.VehicleLevel.Equals("不支持喷漆")).VehicleInfo.Add(vehicle); } else { var item = new VehicleLevelModel { VehicleLevel = "不支持喷漆" }; item.VehicleInfo.Add(vehicle); result.Add(item); } } else { if (result.Count(p => p.VehicleLevel.Equals(dr["VehicleLevel"].ToString())) > 0) { result.FirstOrDefault(p => p.VehicleLevel.Equals(dr["VehicleLevel"].ToString())).VehicleInfo.Add(vehicle); } else { var item = new VehicleLevelModel { VehicleLevel = dr["VehicleLevel"].ToString() }; item.VehicleInfo.Add(vehicle); result.Add(item); } } } return(result); }
/// <summary> /// 包装指定类型车型数据 /// </summary> /// <param name="types">需要包含的类型</param> /// <param name="type">需要被分进不支持的类型</param> /// <returns></returns> private List <VehicleLevelModel> Convert2VehicleLevels (List <VehicleLevelViewModel> vehicleLevels, string type = "") { List <VehicleLevelModel> result = new List <VehicleLevelModel>(); if (vehicleLevels != null) { foreach (var item in vehicleLevels) { var VehicleInfo = new VehicleInfo() { Type = item.Type, VehicleId = item.VehicleId, VehicleSeries = item.VehicleSeries }; if (string.IsNullOrEmpty(item.VehicleLevel) || item.Type == type) { if (result.Count(x => x.VehicleLevel == "不支持喷漆") > 0) { result.FirstOrDefault(x => x.VehicleLevel == "不支持喷漆").VehicleInfo.Add(VehicleInfo); } else { var resultItem = new VehicleLevelModel() { PaintService = new List <PaintService>(), VehicleLevel = "不支持喷漆", VehicleInfo = new List <VehicleInfo> { VehicleInfo } }; result.Add(resultItem); } } else { if (result.Count(x => x.VehicleLevel == item.VehicleLevel) > 0) { result.FirstOrDefault(x => x.VehicleLevel == item.VehicleLevel).VehicleInfo.Add(VehicleInfo); } else { var resultItem = new VehicleLevelModel() { PaintService = new List <PaintService>(), VehicleLevel = item.VehicleLevel, VehicleInfo = new List <VehicleInfo> { VehicleInfo } }; result.Add(resultItem); } } } } return(result); }
/// <summary> /// 修改喷漆车型档次分类 /// </summary> /// <param name="vehicleLevel"></param> /// <param name="type"></param> /// <returns></returns> public ActionResult EditSprayPaintVehicle(string vehicleLevel, string type) { if (string.IsNullOrWhiteSpace(vehicleLevel)) { vehicleLevel = "A类"; } if (string.IsNullOrWhiteSpace(type)) { type = PaintVehicleLevelTypeEnum.Online.ToString(); } var manager = new SprayPaintVehicleManager(); ViewBag.VehicleLevel = vehicleLevel; ViewBag.ServiceInfo = manager.GetPaintServiceInfo(); var model = new VehicleLevelModel(); ViewBag.type = type; model = manager.SelectSprayPaintVehicleByLevel(type, vehicleLevel); return(View(model)); }