Esempio n. 1
0
        /// <summary>
        /// Get item
        /// </summary>
        /// <param name="model">Role Model</param>
        /// <returns>RoleModel</returns>
        public RoleModel GetItemByID(RoleModel model)
        {
            RoleModel _return = new RoleModel()
            {
                ID = Guid.NewGuid(), Insert = model.Insert
            };

            try
            {
                using (var _context = new TDHEntities())
                {
                    var _lFunc = _context.PROC_SYS_FUNCTION_List(this.SessionID, model.CreateBy).ToList();
                    foreach (var item in _lFunc)
                    {
                        _return.Detail.Add(new RoleDetailModel()
                        {
                            FunctionCode = item.code,
                            FunctionName = item.name,
                            View         = item.view,
                            Add          = item.add,
                            Edit         = item.edit,
                            Delete       = item.delete
                        });
                    }

                    var _md = _context.PROC_SYS_ROLE_ById(model.ID, this.SessionID, model.CreateBy).FirstOrDefault();
                    if (_md != null)
                    {
                        _return.ID          = (Guid)_md.id;
                        _return.Name        = _md.name;
                        _return.Description = _md.description;
                        _return.Publish     = _md.publish;
                        //
                        var _lPers = _context.PROC_SYS_ROLE_DETAIL_ByRoleId(_md.id, this.SessionID, model.CreateBy).ToList();
                        foreach (var item in _lPers)
                        {
                            var _tmp = _return.Detail.FirstOrDefault(m => m.FunctionCode == item.function_code);
                            if (_tmp != null)
                            {
                                _tmp.Add    = item.add;
                                _tmp.View   = item.view;
                                _tmp.Edit   = item.edit;
                                _tmp.Delete = item.delete;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, model.CreateBy, ex);
            }
            return(_return);
        }