コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <summary>
        /// 分批次根据vehicleId获取喷漆等级
        /// </summary>
        /// <param name="vehicleIds"></param>
        /// <returns></returns>
        private IEnumerable <Tuple <string, string> > GetSprayPaintLevelByVehicleIds(IEnumerable <string> vehicleIds)
        {
            IEnumerable <Tuple <string, string> > result = null;

            try
            {
                result = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectSprayPaintLevelsByVehicleIds(conn, vehicleIds));
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message, ex);
            }
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 根据tids查询车型信息
        /// </summary>
        /// <param name="tids"></param>
        /// <returns></returns>
        private IEnumerable <VehicleInfoDetail> GetVehicleInfoDetailsByTids(IEnumerable <int> tids)
        {
            IEnumerable <VehicleInfoDetail> result = null;

            try
            {
                result = GRAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectVehicleInfoByTids(conn, tids));
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message, ex);
            }
            return(result);
        }
コード例 #4
0
        public List <PaintServiceLog> SelectPaintServiceInfo(string vehicleLevel)
        {
            var result = new List <PaintServiceLog>();

            try
            {
                result = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectPaintServiceInfo(conn, vehicleLevel));
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, ex, "SelectPaintServiceInfo");
            }
            return(result);
        }
コード例 #5
0
        public List <VehicleLevelLog> SeletePaintVehicleByInitalWord(string vehicleLevel, string initalWord)
        {
            var result = new List <VehicleLevelLog>();

            try
            {
                result = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SeletePaintVehicleByInitalWord(conn, vehicleLevel, initalWord));
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, ex, "SeletePaintVehicleByInitalWord");
            }
            return(result);
        }
コード例 #6
0
        public List <VehicleLevelModel> SelectSprayPaintVehicle()
        {
            var result      = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectVehicleLevel(conn));
            var serviceInfo = GetPaintServiceInfo();

            foreach (var item in result)
            {
                var paintService = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectPaintServiceInfo(conn, item.VehicleLevel));
                foreach (var service in paintService)
                {
                    PaintService info = new PaintService
                    {
                        VehicleLevel = item.VehicleLevel,
                        ServiceId    = service.ServiceId,
                        DisplayIndex = service.DisplayIndex,
                        ServiceName  = serviceInfo.FirstOrDefault(p => p.ServiceId.Equals(service.ServiceId))?.ServersName
                    };
                    item.PaintService.Add(info);
                }
            }
            return(result);
        }
コード例 #7
0
        /// <summary>
        ///  获取指定类型车型数据 包含不支持喷漆
        /// </summary>
        /// <returns></returns>
        private List <VehicleLevelModel> SelectSprayPaintVehicleByType(List <VehicleLevelViewModel> vehicInfo, string type)
        {
            var vehicleLevels = new List <VehicleLevelModel>();

            if (vehicInfo != null && vehicInfo.Any())
            {
                if (type == PaintVehicleLevelTypeEnum.Offline.ToString())
                {
                    vehicleLevels = Convert2VehicleLevels(vehicInfo);
                    foreach (var item in vehicleLevels)
                    {
                        item.VehicleInfo = item.VehicleInfo.Where(x =>
                                                                  string.IsNullOrEmpty(x.Type) || x.Type == type).ToList();
                    }
                }
                else
                {
                    vehicleLevels = Convert2VehicleLevels(vehicInfo, PaintVehicleLevelTypeEnum.Offline.ToString());
                }
                var serviceInfo = GetPaintServiceInfo();
                foreach (var item in vehicleLevels)
                {
                    var paintService = CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectPaintServiceInfo(conn, item.VehicleLevel));
                    foreach (var service in paintService)
                    {
                        PaintService info = new PaintService
                        {
                            VehicleLevel = item.VehicleLevel,
                            ServiceId    = service.ServiceId,
                            DisplayIndex = service.DisplayIndex,
                            ServiceName  = serviceInfo.FirstOrDefault(p => p.ServiceId.Equals(service.ServiceId))?.ServersName
                        };
                        item.PaintService.Add(info);
                    }
                }
            }

            return(vehicleLevels);
        }
コード例 #8
0
        /// <summary>
        /// 更新喷漆车型档次分类
        /// </summary>
        /// <param name="vehicleLevel"></param>
        /// <param name="vehicleIds"></param>
        /// <param name="initalWord"></param>
        /// <param name="operateUser"></param>
        /// <returns></returns>
        public bool UpdatePaintVehicleLevel(string vehicleLevel, string vehicleIds, string initalWord, string operateUser)
        {
            var result = false;

            try
            {
                var oldValue = SeletePaintVehicleByInitalWord(vehicleLevel, initalWord);
                dbScopeManagerCF.CreateTransaction(conn =>
                {
                    if (oldValue.Any())
                    {
                        var isDeleteSuccess = DalSprayPaintVehicle.DeletePaintVehicleDataByInitalWord(conn, vehicleLevel, initalWord);
                        if (isDeleteSuccess)
                        {
                            var toDelete = new List <VehicleLevelLog>();
                            if (!string.IsNullOrWhiteSpace(vehicleIds))
                            {
                                foreach (var item in oldValue)
                                {
                                    if (!vehicleIds.Split(',').Contains(item.VehicleId))
                                    {
                                        toDelete.Add(item);
                                    }
                                }
                            }
                            else
                            {
                                toDelete = oldValue;
                            }
                            if (toDelete.Any())
                            {
                                foreach (var value in toDelete)
                                {
                                    var log = new PaintVehicleOprLog
                                    {
                                        LogType      = "PaintVehicleLevelConfig",
                                        VehicleLevel = value.VehicleLevel,
                                        VehicleId    = value.VehicleId,
                                        OldValue     = JsonConvert.SerializeObject(value),
                                        NewValue     = null,
                                        Remarks      = "Delete",
                                        OperateUser  = operateUser,
                                    };
                                    InsertLog("PaintVehicle", log);
                                }
                            }
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(vehicleIds))
                    {
                        result = DalSprayPaintVehicle.AddPaintVehicleLevel(conn, vehicleLevel, vehicleIds);
                        if (result)
                        {
                            Thread.Sleep(1000);
                            var newValue = SeletePaintVehicleByInitalWord(vehicleLevel, initalWord);
                            var toAdd    = new List <VehicleLevelLog>();
                            foreach (var newData in newValue)
                            {
                                if (!oldValue.Any(p => p.VehicleId.Equals(newData.VehicleId)))
                                {
                                    toAdd.Add(newData);
                                }
                            }
                            if (toAdd.Any())
                            {
                                foreach (var value in toAdd)
                                {
                                    var log = new PaintVehicleOprLog
                                    {
                                        LogType      = "PaintVehicleLevelConfig",
                                        VehicleLevel = value.VehicleLevel,
                                        VehicleId    = value.VehicleId,
                                        OldValue     = null,
                                        NewValue     = JsonConvert.SerializeObject(value),
                                        Remarks      = "Add",
                                        OperateUser  = operateUser,
                                    };
                                    InsertLog("PaintVehicle", log);
                                }
                            }
                        }
                    }
                    else
                    {
                        result = true;
                    }
                });
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, ex, "UpdatePaintVehicleLevel");
            }
            return(result);
        }
コード例 #9
0
 public List <TreeItem> SelectVehicleInfo(string initialWord)
 {
     return(GRAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectVehicleInfo(conn, initialWord)));
 }
コード例 #10
0
        /// <summary>
        /// 更新喷漆车型服务
        /// </summary>
        /// <param name="vehicleLevel"></param>
        /// <param name="paintService"></param>
        /// <param name="operateUser"></param>
        /// <returns></returns>
        public bool UpdatePaintVehicleService(string vehicleLevel, string paintService, string operateUser)
        {
            var result            = false;
            var paintServiceModel = new List <PaintService>();

            if (!string.IsNullOrWhiteSpace(paintService))
            {
                paintServiceModel = JsonConvert.DeserializeObject <List <PaintService> >(paintService);
            }
            try
            {
                var oldValue = SelectPaintServiceInfo(vehicleLevel);
                dbScopeManagerCF.CreateTransaction(conn =>
                {
                    if (oldValue.Any())
                    {
                        var isDeleteSuccess = DalSprayPaintVehicle.DeletePaintService(conn, vehicleLevel);
                        var toDelete        = new List <PaintServiceLog>();
                        foreach (var oldData in oldValue)
                        {
                            if (!paintServiceModel.Any(p => p.ServiceId.Equals(oldData.ServiceId)))
                            {
                                toDelete.Add(oldData);
                            }
                        }
                        if (isDeleteSuccess)
                        {
                            foreach (var value in toDelete)
                            {
                                var log = new PaintVehicleOprLog
                                {
                                    LogType      = "PaintVehicleServiceConfig",
                                    VehicleLevel = value.VehicleLevel,
                                    VehicleId    = null,
                                    OldValue     = JsonConvert.SerializeObject(value),
                                    NewValue     = null,
                                    Remarks      = "Delete",
                                    OperateUser  = operateUser,
                                };
                                InsertLog("PaintVehicle", log);
                            }
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(paintService) && paintServiceModel.Any())
                    {
                        foreach (var service in paintServiceModel)
                        {
                            result = DalSprayPaintVehicle.AddPaintVehicleServiceConfig(conn, service);
                        }
                        if (result)
                        {
                            Thread.Sleep(1000);
                            var newValue = SelectPaintServiceInfo(vehicleLevel);
                            var toAdd    = new List <PaintServiceLog>();
                            foreach (var newData in newValue)
                            {
                                if (!oldValue.Any(p => p.ServiceId.Equals(newData.ServiceId)))
                                {
                                    toAdd.Add(newData);
                                }
                            }
                            foreach (var value in toAdd)
                            {
                                var log = new PaintVehicleOprLog
                                {
                                    LogType      = "PaintVehicleServiceConfig",
                                    VehicleLevel = value.VehicleLevel,
                                    VehicleId    = null,
                                    OldValue     = null,
                                    NewValue     = JsonConvert.SerializeObject(value),
                                    Remarks      = "Add",
                                    OperateUser  = operateUser,
                                };
                                InsertLog("PaintVehicle", log);
                            }
                        }
                    }
                    else
                    {
                        result = true;
                    }
                });
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, ex, "UpdatePaintVehicleService");
            }
            return(result);
        }
コード例 #11
0
 /// <summary>
 /// 获取指定首字母开头的车型档次,未指定则获取全部
 /// </summary>
 /// <param name="initalWord"></param>
 /// <returns></returns>
 private List <VehicleLevelViewModel> GetVehicleLevels(string initalWord = "")
 => CFAlwaysOnReadDbScopeManager.Execute(conn => DalSprayPaintVehicle.SelectVehicleLevel(conn, initalWord));
コード例 #12
0
        /// <summary>
        /// 更新喷漆车型档次分类
        /// </summary>
        /// <param name="vehicleLevel"></param>
        /// <param name="vehicleIds"></param>
        /// <param name="initalWord"></param>
        /// <param name="operateUser"></param>
        /// <returns></returns>
        public bool UpdatePaintVehicleLevel(string vehicleLevel, string vehicleIds, string initalWord, string type, string operateUser)
        {
            var result = false;

            try
            {
                var oldValue = SeletePaintVehicleByInitalWord(vehicleLevel, initalWord, type);
                var isValiad = type == PaintVehicleLevelTypeEnum.Offline.ToString() &&
                               dbScopeManagerCF.Execute(conn => DalSprayPaintVehicle.IsRepeatPaintVehicleLevelConfig(conn, vehicleIds, type));
                var isDeleteSuccess = false;
                var isAddSuccess    = false;

                if (isValiad)
                {
                    result = false;
                }
                else
                {
                    dbScopeManagerCF.CreateTransaction(conn =>
                    {
                        if (type == PaintVehicleLevelTypeEnum.Online.ToString())
                        {
                            //删除线下占用的车型喷漆
                            DalSprayPaintVehicle.DeletePaintVehicleDataByType(conn, vehicleIds, PaintVehicleLevelTypeEnum.Offline.ToString());
                        }
                        if (oldValue.Any())
                        {
                            isDeleteSuccess = DalSprayPaintVehicle.DeletePaintVehicleDataByInitalWord(conn, vehicleLevel, initalWord, type);
                        }
                        if (!string.IsNullOrWhiteSpace(vehicleIds))
                        {
                            result       = DalSprayPaintVehicle.AddPaintVehicleLevel(conn, vehicleLevel, vehicleIds, type);
                            isAddSuccess = result;
                        }
                        else
                        {
                            result = true;
                        }
                    });
                }

                if (isDeleteSuccess)
                {
                    var toValue = new List <VehicleLevelLog>();
                    if (!string.IsNullOrWhiteSpace(vehicleIds))
                    {
                        foreach (var item in oldValue)
                        {
                            if (!vehicleIds.Split(',').Contains(item.VehicleId))
                            {
                                toValue.Add(item);
                            }
                        }
                    }
                    else
                    {
                        toValue = oldValue;
                    }
                    SavePaintVehicleLevelLog(toValue, "Delete", vehicleIds, operateUser);
                }
                if (isAddSuccess)
                {
                    Thread.Sleep(1000);
                    var toValue  = new List <VehicleLevelLog>();
                    var newValue = SeletePaintVehicleByInitalWord(vehicleLevel, initalWord, type);
                    foreach (var newData in newValue)
                    {
                        {
                            if (!oldValue.Any(p => p.VehicleId.Equals(newData.VehicleId)))
                            {
                                toValue.Add(newData);
                            }
                        }
                    }
                    SavePaintVehicleLevelLog(newValue, "Add", vehicleIds, operateUser);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("UpdatePaintVehicleLevel", ex);
            }
            return(result);
        }