管理【管理心得之五十二】二回报复、叁遍转账

Lind.DDD.Manager集成它

功用首要有多少个:修改单独表的拥有者和修改全部表的拥有者,如张3走了,由李肆接管,那时我们因而拥有者接口就足以很有利的完毕!

   /// <summary>
    /// 拥有者控制器
    /// </summary>
    public class OwnerController : Controller
    {
        /// <summary>
        /// 具有拥有者字段的数据表
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            return View(Lind.DDD.Utils.AssemblyHelper.GetTypeNamesByInterfaces(typeof(IOwnerBehavor)));
        }

        /// <summary>
        /// 更新指定表的拥有者字段
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Edit(string name)
        {
            ViewBag.Name = string.IsNullOrWhiteSpace(name) ? "全部表" : name;
            return View();
        }

        /// <summary>
        /// 更新表字段
        /// </summary>
        /// <param name="name"></param>
        /// <param name="val"></param>
        /// <param name="newVal"></param>
        void UpdateTable(string name, int oldVal, int newVal)
        {
            var type = AssemblyHelper.GetEntityTypeByName(name);
            Type reposType = typeof(ManagerEfRepository<>);
            var objType = reposType.MakeGenericType(type);
            object o = Activator.CreateInstance(objType);
            var entity = objType.InvokeMember("GetModel", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, null);
            var atest = (IEnumerable)entity;

            var newList = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(type));

            foreach (var item in atest)
            {
                if ((int)type.GetProperty("OwnerId").GetValue(item) == oldVal)
                {
                    var a = Convert.ChangeType(item, type);
                    type.GetProperty("OwnerId").SetValue(item, newVal);
                    newList.Add(item);
                }
            }

            objType.InvokeMember("BulkUpdate", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, new object[] { newList, "OwnerId" });
        }
        [HttpPost]
        public ActionResult Edit(string name, FormCollection collection)
        {
            try
            {
                int oldVal;
                int.TryParse(collection["oldValue"], out oldVal);
                int val;
                int.TryParse(collection["newValue"], out val);

                if (string.IsNullOrWhiteSpace(name))//全部表
                {
                    foreach (var type in AssemblyHelper.GetTypeNamesByInterfaces(typeof(IOwnerBehavor)))
                    {
                        UpdateTable(type, oldVal, val);
                    }
                }
                else
                {
                    UpdateTable(name, oldVal, val);
                }

                return RedirectToAction("Index");
            }
            catch
            {
                throw;
            }
        }


    }

Lind.DDD.Manager运营结果

管理 1

管理 2

管理 3

透过地点操作后,灵气表WebLogger里的OwnerId字段将由1变更是11,那就是面向接口的吸引力,咱们将某种特征抽象成接口,方便未来对那种特征进行合并的军事管制!

多谢各位的阅读!

 回去目录

场所重现

{甲}和{乙}是联合步入公司的同年生。

不过他们的劳作的剧情却不1样。{甲}是H帕杰罗,{乙}则是业务员。

工作上他们中间很少有混合,可是私下里吐槽就却是常有的事。

{乙}:笔者恨透这么些公司了,感觉那里对我不公道,笔者要离开那里,找1个“伯乐”去。

{甲}:好,你要离开那里自身举双臂赞成。既然集团对您这么的不公道,你就没想要报复集团吧?

{乙}:有报复的时机当然好了。

{甲}:然而你未来离开还不是机遇,你只是“小卒”罢了,你的离职给不了公司多大损失。

    
笔者提议您,从现行反革命始于借助集团多升高客户、多接单子,成为公司独当一面包车型地铁人选。然后那时候带着您的客户群突然离开那集团,可想其后果…..

{乙}:算你狠,听你的

================

大概管理层的你很难听到地点的鸣响,但自笔者报告您,那样的对话是确实存在的。

权且不论{甲}{乙}三人的念头如何,最终的后果就像是不止了您的想像。

{乙}经过了近一年的卖力,身边结识了不少忠诚的客户。

当{乙} {甲}再相会时,{甲}问道“时机到了,是离开的时候了”

{乙}回答道“总CEO找笔者谈了话,对自作者今年的奋力表示认可,并打算晋升自身做其助理一职,今后的作者不想离开了。”

 

作者解读:

壹   中华夏族民共和国有句古话“滴水之恩当涌泉相报”。

以后的不可胜贡士(例如
{乙}),在未有给客人“滴水之恩”时,就心急的期待着别人“涌泉相报”。看似有失公正,其实仅是一厢情愿。付出与回报总是对等的,只然则在时光上海大学于了我们预料,所以您要有耐心。

在那物欲横流的时日,多数人认为“时间正是金钱”、“浪费时间就是荒废机会”等等。难道你未曾理会到大家缺点和失误更加多的是一种耐心、1种沉淀。进入店铺不到三年就认为自个儿应当是老董、某领域涉猎不足5年就自封自个儿为学者。当你得不到时就起先抱怨“未有机会、未有伯乐、有失公正”等等,故认为“时间不等人”于是就跳槽到另一家、另一领域,悲催的一幕又再一次演出,周而复始、不停迭代,其浪费时间的罪魁祸首祸首不是外人而是你协调。

有耐心并无法保障你能取得想要的,但它能够大大扩大那么些概率,它不是万全法则,它也受外因所控。在尊重个人能力、尊重选才、育才、用才的团伙里会显示功用;而那么些家族集团、官僚作风、裙带关系的团协会就会收效甚微。

耐心是三个很玄的事物,细细咀嚼哦。

贰   作者来说说{甲}。

{甲}在同{乙}交流的进度,不论是行动,还是出谋划策,自始至终都以站到{乙}的立场上。{甲}是H福睿斯,在维系中{甲}一至极态并未从事商业店的规则制度、奖励和惩罚评定等开始,而是从{甲}的切身感受为切题点,甚至还建议{乙}要报复公司的此举。

因为{甲}知道,企业不是这种家族公司、裙带关系的不行组织;也坚信为公司有付出必有回报的铁则。假如那时候在{乙}抱怨、争持的心境下,高谈集团战略愿景、各项制度等等,势必会加重{甲}对卖家负面心理,不及使用1种“将计就计”的策略,使其同{乙}在同世界第一回大战营,会让{乙}更不难接受些。

{甲}在公在私一时半刻不论,他不负众望的回避了不俗冲突,巧妙地同{乙}找到三个共同点,从结果来看{甲}是打响的。

 要是贵集团多多少个像{甲}那样的H福睿斯,高离职率也不会高居不下。

 

===================================

菜鸟级 QQ管理沟通群:29538858四

微信互动(管理经验交换站):GLXDJLZ

管理 4

赶巧起来,菜鸟征集中。。。。。。

再次来到目录

实业继承它

  /// <summary>
    /// 操作日志
    /// </summary>
    [TableAttribute("WebLogger")]
    public partial class WebLogger : Lind.DDD.Domain.Entity, Lind.DDD.Domain.IOwnerBehavor
    {
        /// <summary>
        /// 操作者ID
        /// </summary>
        [DisplayName("操作者ID")]
        public int UserId { get; set; }
        /// <summary>
        /// 操作者
        /// </summary>
        [DisplayName("操作者")]
        public string UserName { get; set; }
        /// <summary>
        /// 控制器名称
        /// </summary>
        [DisplayName("控制器")]
        public string ControllerName { get; set; }
        /// <summary>
        /// Action名称
        /// </summary>
        [DisplayName("Action")]
        public string ActionName { get; set; }
        /// <summary>
        /// 操作权限
        /// </summary>
        [DisplayName("操作权限")]
        public string Authority { get; set; }
        /// <summary>
        /// 当前请求的Get和Post参数JSON串
        /// </summary>
        [DisplayName("请求参数")]
        public string RequestParams { get; set; }
        /// <summary>
        /// 功能说明
        /// </summary>
        [DisplayName("功能说明")]
        public string Description { get; set; }


        #region IOwnerBehavor 成员

        public int OwnerId
        {
            get;
            set;
        }

        #endregion
    }

拥有者接口

    /// <summary>
    /// 拥有者行为
    /// </summary>
    public interface IOwnerBehavor
    {
        /// <summary>
        /// 拥有者Id
        /// </summary>
        int OwnerId { get; set; }
    }

对此Lind.DDD架构,笔者在此以前写了好多篇章,对于它的Domain格局也介绍了无数,像在此以前的IEntity,ILogicDeleteBehavor,IModifyBehavor,IStatusBehavor和ISortBehavor都有谈得来的效益,只要实体完毕对外的接口,就有所了某种个性大概某种意义,而前天重点说一下拥有者接口,IOwnerBehavor,它首要用在管理种类的实业中,如一个职工基金表,当这么些职员和工人离职后,它对应资金财产将被开始展览转移,转移到三个新的用户身上,而这一个用户正是其1资金的新拥有者

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注