Esempio n. 1
0
 public ToolCategoryDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 2
0
 public ToolStateDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 3
0
        public Result <bool> EditTool(Tool tool)
        {
            Result <bool> rlt = new Result <bool>();

            using (ToolMgtEntities Db = ContextFactory.GetContext())
            {
                try
                {
                    var old = Db.Tools.FirstOrDefault(p => p.Barcode == tool.Barcode && p.Id != tool.Id);
                    if (old != null)
                    {
                        rlt.HasError = true;
                        rlt.Msg      = "工具条码重复!";
                        return(rlt);
                    }
                    if (!string.IsNullOrEmpty(tool.RFID))
                    {
                        old = Db.Tools.FirstOrDefault(p => p.RFID == tool.RFID && p.Id != tool.Id);
                        if (old != null)
                        {
                            rlt.HasError = true;
                            rlt.Msg      = "工具RFID重复!";
                            return(rlt);
                        }
                    }

                    #region 处理工具包
                    if (tool.IsPkg)
                    {
                        //判断重复使用的子工具
                        if (tool.PkgItems != null && tool.PkgItems.Count > 0)
                        {
                            foreach (var chld in tool.PkgItems)
                            {
                                var exist = Db.ToolPkgItems.FirstOrDefault(p => p.ChildrenId == chld.ChildrenId);
                                if (exist != null && exist.ParentId != tool.Id)
                                {
                                    rlt.HasError = true;
                                    rlt.Msg      = $"Id为【{ chld.ChildrenId }】的工具,已被其他工具包使用!";
                                    return(rlt);
                                }
                            }
                        }
                    }
                    Db.ToolPkgItems.RemoveRange(Db.ToolPkgItems.Where(p => p.ParentId == tool.Id)); //删除旧的子工具
                    if (tool.PkgItems != null && tool.PkgItems.Count > 0)                           //重新加入子工具
                    {
                        Db.ToolPkgItems.AddRange(tool.PkgItems);
                    }
                    #endregion

                    tool.ToolState    = Db.ToolStates.FirstOrDefault(p => p.Id == tool.StateId);
                    tool.ToolCategory = Db.ToolCategories.FirstOrDefault(p => p.Id == tool.CategoryId);
                    var oldEntity = Db.Entry(tool);
                    oldEntity.State = System.Data.Entity.EntityState.Modified;
                    Db.SaveChanges();
                }
                catch (Exception ex)
                {
                    LogUtil.WriteLog(ex);
                    rlt.HasError = true;
                    rlt.Msg      = ex.Message;
                }
            }
            return(rlt);
        }
Esempio n. 4
0
 public ToolPkgItemDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 5
0
        public Result <bool> AddTool(Tool tool)
        {
            Result <bool> rlt = new Result <bool>();

            using (ToolMgtEntities Db = ContextFactory.GetContext())
            {
                try
                {
                    var old = Db.Tools.FirstOrDefault(p => p.Barcode == tool.Barcode);
                    if (old != null)
                    {
                        rlt.HasError = true;
                        rlt.Msg      = "工具条码重复!";
                        return(rlt);
                    }
                    if (!string.IsNullOrEmpty(tool.RFID))
                    {
                        old = Db.Tools.FirstOrDefault(p => p.RFID == tool.RFID);
                        if (old != null)
                        {
                            rlt.HasError = true;
                            rlt.Msg      = "工具RFID重复!";
                            return(rlt);
                        }
                    }
                    if (tool.IsPkg)
                    {
                        //判断重复使用的子工具
                        if (tool.PkgItems != null && tool.PkgItems.Count > 0)
                        {
                            foreach (var chld in tool.PkgItems)
                            {
                                var exist = Db.ToolPkgItems.FirstOrDefault(p => p.ChildrenId == chld.ChildrenId);
                                if (exist != null)
                                {
                                    rlt.HasError = true;
                                    rlt.Msg      = $"Id为【{ chld.ChildrenId }】的工具,已被其他工具包使用!";
                                    return(rlt);
                                }
                            }
                        }
                    }

                    Db.Tools.Add(tool);
                    Db.SaveChanges();//保存后才会得到工具包Id

                    if (tool.PkgItems != null && tool.PkgItems.Count > 0)
                    {
                        tool.PkgItems.ForEach(p => p.ParentId = tool.Id);//设置工具包Id
                        Db.ToolPkgItems.AddRange(tool.PkgItems);
                        Db.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    LogUtil.WriteLog(ex);
                    rlt.HasError = true;
                    rlt.Msg      = ex.Message;
                }
            }
            return(rlt);
        }
Esempio n. 6
0
 public ToolRepairDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 7
0
 public RoleDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 8
0
 public ToolPurchaseDao()
 {
     Db = ContextFactory.GetContext();
 }
Esempio n. 9
0
 public UserDao()
 {
     Db = ContextFactory.GetContext();
 }