using iWareCommon.Common.Entity; using iWareCommon.Common.EnumType; using iWareCommon.Common.Service; using iWareCommon.Utils; using iWareDataCore.DEV.Dao; using iWareDataCore.DEV.Entity; using iWareDataCore.ORM; using iWareDataCore.Properties; using System; using System.Collections.Generic; using System.Data.Entity.Validation; using System.Linq; using System.Text; using System.Threading.Tasks; namespace iWareDataCore.DEV.Service { public class EquipmentService : CommonService { private static object Lock = new object(); private EquipmentService() : base(EquipmentDao.GetInstance()) { } private static EquipmentService Instance = null; /// /// 获取单例的方法 /// /// 单例 public static EquipmentService GetInstance() { if (Instance == null) { lock (Lock) { if (Instance == null) { Instance = new EquipmentService(); } } } return Instance; } public override int Save(EquipmentEntity t, out string msg) { msg = ""; using (DbModelCore db = new DbModelCore()) { try { var one = t.ToOrm(); db.DEVEquipments.Add(one); return db.SaveChanges(); } catch (DbEntityValidationException ex) { var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); msg = string.Join(", ", errs); LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); return -1; } catch (Exception ex) { msg = ex.HResult == (int)EDbError.记录已存在 ? EDbError.记录已存在.ToString() : ex.Message; LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); return -1; } } } public override List QueryByParam(QueryParam param, out string msg) { msg = ""; using (var db = new DbModelCore()) { var equipments = EquipmentDao.GetInstance().QueryByParam(param, db); return equipments; } } public override int Update(EquipmentEntity t, out string msg) { msg = ""; using (DbModelCore db = new DbModelCore()) { try { var one = db.DEVEquipments.First(x => x.id == t.Id); EntityPropHelper.CopyProp(t, one, EquipmentEntity.GetColumnMap()); db.SaveChanges(); return one.id; } catch (DbEntityValidationException ex) { var errs = ex.EntityValidationErrors.SelectMany(validationResult => validationResult.ValidationErrors).Select(m => m.ErrorMessage); msg = string.Join(", ", errs); LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", msg); return -1; } catch (Exception ex) { msg = ex.Message; LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Update", ex.Message); return -1; } } } public int ChangeStatus(List ids, int status, out string msg) { msg = ""; using (var dbModel = new DbModelCore()) { try { var ones = dbModel.DEVEquipments.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; } } } } }