using iWareCommon.Common.Service; using iWareCommon.Utils; using iWareDataCore.BASE.Dao; using iWareDataCore.BASE.Entity; using iWareDataCore.ORM; using iWareDataCore.Properties; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace iWareDataCore.BASE.Service { public class MaterialService : CommonService { private static object Lock = new object(); private MaterialService() : base(MaterialDao.GetInstance()) { } private static MaterialService Instance = null; /// /// 获取单例的方法 /// /// 角色服务的单例实体 public static MaterialService GetInstance() { if (Instance == null) { lock (Lock) { if (Instance == null) { Instance = new MaterialService(); } } } return Instance; } /// /// 批量修改物料状态 /// /// 需要修改的物料id列表 /// 状态:1为启用,0为锁定 /// 异常错误消息 /// 修改的物料数量 public int ChangeStatus(List ids, int status, out string msg) { msg = ""; using (var dbModel = new DbModelCore()) { try { var ones = dbModel.BASEMaterials.Where(x => ids.Contains(x.id)).ToList(); foreach (var one in ones) { one.status = status; } dbModel.SaveChanges(); return ones.Count; } catch (Exception ex) { msg = ex.Message; LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ChangeStatus", ex.Message); return -1; } } } /// /// 获取指定字符串开头的物料信息表 /// added by Dongwenwu /// /// 指定字符串 /// 返回的最大条数 /// 异常错误消息 /// 订单号列表 public List GetCodes(string term, int size, out string msg) { using (var dbModel = new DbModelCore()) { try { msg = ""; if (string.IsNullOrEmpty(term)) { return new List(); } var materials = dbModel.BASEMaterials.Select(x => new { x.id, x.code }).OrderByDescending(x => x.id).Where(x => x.code.StartsWith(term)).Skip(0).Take(size).ToList(); return materials.Select(x => x.code).Distinct().ToList(); } catch (Exception ex) { msg = ex.Message; LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetCodes", ex.Message); return new List(); } } } } }