Exemplo n.º 1
0
        /// <summary>
        /// 添加时处理模型的CreateTime、CreateUserId、CreateUserName。更新时处理UpdateTime...
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="model">待处理的model</param>
        /// <param name="emp">操作者员工</param>
        /// <param name="dic">返回的字典</param>
        /// <param name="opt">返回的操作者对象</param>
        public void AddBaseInfo <T>(T model, Employee emp, out Dictionary <string, object> dic, out Service.Models.View.OpertionUser opt)
        {
            dic = new Dictionary <string, object>();
            opt = new Service.Models.View.OpertionUser();
            var propertys = typeof(T).GetProperties();
            var idpro     = propertys.FirstOrDefault(x => x.Name == "KID");
            int kid       = 0;

            if (idpro != null)
            {
                kid = idpro.GetValue(model).Toint();
            }
            if (kid > 0)
            {
                if (propertys.Count(p => p.Name == "UpdateTime") > 0)
                {
                    dic.Add("UpdateTime", DateTime.Now);
                }
                if (propertys.Count(p => p.Name == "UpdateUserId") > 0)
                {
                    dic.Add("UpdateUserId", emp?.KID);
                }
                if (propertys.Count(p => p.Name == "UpdateUserName") > 0)
                {
                    dic.Add("UpdateUserName", emp?.UserName);
                }
            }
            else
            {
                if (propertys.Count(p => p.Name == "CreateTime") > 0)
                {
                    dic.Add("CreateTime", DateTime.Now);
                }
                if (propertys.Count(p => p.Name == "CreateUserId") > 0)
                {
                    dic.Add("CreateUserId", emp?.KID);
                }
                if (propertys.Count(p => p.Name == "CreateUserName") > 0)
                {
                    dic.Add("CreateUserName", emp?.UserName);
                }
            }
            opt.UserId       = emp?.KID.ToString();
            opt.UserName     = emp?.UserName;
            opt.UserClientIp = GetIP();
        }
        public ActionResult AddOrEditPost(Employee model)
        {
            var res = new Result();

            try
            {
                var emp = EmployeeInfo?.Model;
                var dic = new Dictionary <string, object>();
                var opt = new Service.Models.View.OpertionUser();
                AddBaseInfo <Employee>(model, emp, out dic, out opt);
                if (model.KID > 0)
                {
                    dic.Add(nameof(Employee.UserName), model.UserName);
                    dic.Add(nameof(Employee.UserNikeName), model.UserNikeName);
                    dic.Add(nameof(Employee.UserPassword), model.UserPassword);
                    res = BlogHelper.UpdateByWhere_Employee(dic, new Dictionary <string, object>()
                    {
                        { nameof(Employee.KID), model.KID }
                    }, opt);
                }
                else
                {
                    dic.Add(nameof(Employee.UserName), model.UserName);
                    dic.Add(nameof(Employee.UserNikeName), model.UserNikeName);
                    dic.Add(nameof(Employee.UserAcount), model.UserAcount);
                    dic.Add(nameof(Employee.IsAdmin), 1);
                    dic.Add(nameof(Employee.UserPassword), model.UserPassword);
                    res = BlogHelper.Adds_Employee(new List <Dictionary <string, object> >()
                    {
                        dic
                    }, opt);
                }
            }
            catch (Exception ex)
            {
                res.IsSucceed = false;
                res.Message   = ex.Message;
            }
            return(MyJson(res));
        }