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.Data.Entity.Validation; using System.Linq; using System.Text; using System.Threading.Tasks; namespace iWareDataCore.BASE.Service { public class PlaceTypeService : CommonService { private static object Lock = new object(); private PlaceTypeService() : base(PlaceTypeDao.GetInstance()) { } private static PlaceTypeService Instance = null; /// /// 获取单例的方法 /// /// 角色服务的单例实体 public static PlaceTypeService GetInstance() { if (Instance == null) { lock (Lock) { if (Instance == null) { Instance = new PlaceTypeService(); } } } return Instance; } public override int Delete(int id, out string msg) { Delete(new List { id }, out msg); return string.IsNullOrEmpty(msg) ? id : -1; } public override int Delete(List ids, out string msg) { msg = ""; using (var dbModel = new DbModelCore()) { try { var roleUsers = dbModel.BASEPlaceTypes.Where(x => ids.Contains(x.id)).ToList(); foreach (var roleUser in roleUsers) { dbModel.BASEPlaceTypes.Remove(roleUser); } dbModel.SaveChanges(); return ids.Count; } 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(), "Delete", msg); return 0; } catch (Exception ex) { LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Delete", ex.Message); return 0; } } } } }