示例#1
0
 /// <summary>
 /// 会全部增加修改
 /// </summary>
 /// <param name="node"></param>
 /// <returns></returns>
 public static T_LeaveApply ToModel(this T_LeaveApplyModel node)
 {
     return(new T_LeaveApply()
     {
         Id = node.Id,
         UserId = node.UserId,
         UserName = node.UserName,
         FromDate = node.FromDate,
         FromType = node.FromType,
         EndDate = node.EndDate,
         EndType = node.EndType,
         Days = node.Days,
         CreateDate = node.CreateDate == null ? DateTime.Now : node.CreateDate,
         CreateUser = node.CreateUser,
         CreateUserId = node.CreateUserId,
         Reaon = node.Reaon,
         SetingId = node.SetingId,
         SetingName = node.SetingName,
         Status = node.Status,
         AppyId = node.AppyId,
         ApprovalId = node.ApprovalId,
         ApprovalName = node.ApprovalName,
         ApprovalReaon = node.ApprovalReaon,
         //PayrollNo = node.PayrollNo,
         Undo = node.Undo,
         IsLock = node.IsLock,
     });
 }
示例#2
0
        /// <summary>
        /// 审批
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int ApprovalData(T_LeaveApplyModel model)
        {
            int          i    = 0;
            T_LeaveApply data = this.GetById(model.Id);

            if (data != null && data.IsLock == model.IsLock)
            {
                if (data.Status == 3)
                {
                    var oldstatus = 10;
                    //变更申请
                    //如果同意
                    if (model.Status == 2)
                    {
                        //拒绝 ,变回1
                        oldstatus = 1;
                    }

                    //获得4的数据
                    T_LeaveApply olddata = this.GetById((int)data.AppyId);
                    olddata.Status = oldstatus;
                    this.Edit(olddata);
                }
                data.Status        = model.Status;
                data.ApprovalId    = model.ApprovalId;
                data.ApprovalName  = model.ApprovalName;
                data.ApprovalReaon = model.ApprovalReaon;
                i = this.Edit(data);
            }

            return(i);
        }
示例#3
0
        public static T_LeaveApplyModel DTO(this T_LeaveApply node)
        {
            if (node == null)
            {
                return(null);
            }
            var model = new T_LeaveApplyModel()
            {
                Id            = node.Id,
                UserId        = node.UserId,
                UserName      = node.UserName,
                FromDate      = node.FromDate,
                FromType      = node.FromType,
                EndDate       = node.EndDate,
                EndType       = node.EndType,
                Days          = node.Days,
                CreateDate    = node.CreateDate,
                CreateUser    = node.CreateUser,
                CreateUserId  = node.CreateUserId,
                Reaon         = node.Reaon,
                SetingId      = node.SetingId,
                SetingName    = node.SetingName,
                Status        = node.Status,
                AppyId        = node.AppyId,
                ApprovalId    = node.ApprovalId,
                ApprovalName  = node.ApprovalName,
                ApprovalReaon = node.ApprovalReaon,
                PayrollNo     = node.PayrollNo,
                Undo          = node.Undo,
                IsLock        = node.IsLock,
            };

            return(model);
        }
示例#4
0
        public int DeleteApply(T_LeaveApplyModel model)
        {
            int i = 0;
            // Expression<Func<T_LeaveApply, bool>> where = w => w.Id == model.Id && w.IsLock == model.IsLock && model.StatusList.Contains(w.Status);
            var data = dal.Filter(o => o.Id == model.Id && o.IsLock == model.IsLock && model.StatusList.Any(a => o.Status == a)).FirstOrDefault();

            if (data != null)
            {
                i = this.Delete(data.Id);
            }
            return(i);
        }
示例#5
0
        /// <summary>
        /// 变更申请过的假期
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int ChangeApply(T_LeaveApplyModel model)
        {
            T_LeaveApply newdata = new T_LeaveApply();
            int          i       = 0;
            // Expression<Func<T_LeaveApply, bool>> where = w => w.Id == model.Id && w.IsLock == model.IsLock && model.StatusList.Contains(w.Status);
            //变更前先检查还剩下几天
            List <int> statusList = new List <int>()
            {
                1, 4, 5
            };
            decimal totalday = 0;
            decimal days     = GetDays(model.UserId, model.SetingId, statusList, out totalday);
            //获得旧的数据

            var data = dal.Filter(o => o.Id == model.Id && o.IsLock == model.IsLock && model.StatusList.Any(a => o.Status == a)).FirstOrDefault();

            if (data != null)
            {
                if ((days + data.Days - model.Days) > 0)
                {
                    newdata.UserId       = data.UserId;
                    newdata.UserName     = data.UserName;
                    newdata.FromDate     = model.FromDate;
                    newdata.FromType     = model.FromType;
                    newdata.EndDate      = model.EndDate;
                    newdata.EndType      = model.EndType;
                    newdata.Days         = model.Days;
                    newdata.CreateDate   = DateTime.Now;
                    newdata.CreateUser   = model.CreateUser;
                    newdata.CreateUserId = model.CreateUserId;
                    newdata.AppyId       = model.Id;
                    newdata.SetingId     = model.SetingId;
                    newdata.SetingName   = model.SetingName;
                    newdata.Status       = 3;
                    newdata.Reaon        = model.Reaon;
                    this.Add(newdata);
                    data.Status = 4;
                    this.Edit(data);
                    i = 1;
                }
                else
                {
                    i = -1;
                    //不够请假天数
                }
            }

            return(i);
        }
示例#6
0
        public int UndoApply(T_LeaveApplyModel model)
        {
            int          i    = 0;
            T_LeaveApply data = this.GetById(model.Id);

            if (data != null && data.IsLock == model.IsLock && model.StatusList.Contains(data.Status))
            {
                if (data.Status == 1)
                {
                    data.Status = 5;
                }
                i = this.Edit(data);
            }

            return(i);
        }
示例#7
0
        /// <summary>
        /// 复杂查询
        /// </summary>
        /// <param name="model">查询对象</param>
        /// <param name="Orders">排序字典key:排序的字段,value:asc升序/desc降序</param>
        /// <param name="PageSize">每页行数,默认15</param>
        /// <param name="PageIndex">当前页码,默认100</param>
        /// <returns></returns>
        public DataGrid <T_LeaveApplyModel> Search(T_LeaveApplyModel model, Dictionary <string, string> Orders = null, int PageSize = 15, int PageIndex = 100)
        {
            Expression <Func <T_LeaveApply, bool> > where = null;                   //最终查询条件
            var lambdaList = new List <Expression <Func <T_LeaveApply, bool> > >(); //lambda查询条件集合
            int total      = 0;                                                     //总行数

            if (model.UserId != 0)                                                  //这里要注意尽量用!= 0表示全部,-1表示有问题不让他查
            {
                lambdaList.Add(c => c.UserId == model.UserId);
            }
            if (model.UserName != null)
            {
                lambdaList.Add(c => c.UserName.Contains(model.UserName));
            }
            if (model.SetingId != null && model.SetingId > 0)
            {
                lambdaList.Add(c => c.SetingId == model.SetingId);
            }
            if (model.StatusList != null && model.StatusList.Count() > 0)
            {
                lambdaList.Add(c => model.StatusList.Any(a => c.Status == a));
            }
            if (model.FromDate != null && model.FromDate.Year > 1900)
            {
                lambdaList.Add(c => c.FromDate >= model.FromDate);
            }
            if (model.EndDate != null && model.EndDate.Year > 1900)
            {
                lambdaList.Add(c => c.FromDate <= model.EndDate);
            }
            //将集合表达式树转换成Expression表达式树
            MyVisitor <T_LeaveApply, T_LeaveApply> visitor = new MyVisitor <T_LeaveApply, T_LeaveApply>();

            where = visitor.Modify(lambdaList);
            var list   = dal.Search(out total, where, Orders, PageSize, PageIndex).DTOList().ToList();
            var result = new DataGrid <T_LeaveApplyModel>()
            {
                rows  = list,
                total = total
            };

            return(result);
        }
示例#8
0
 public int DeleteData(T_LeaveApplyModel model)
 {
     return(this.Delete(model.Id));
 }
示例#9
0
 public int EditData(T_LeaveApplyModel model)
 {
     return(this.Edit(model.ToModel()));
 }
示例#10
0
 public int AddData(T_LeaveApplyModel model)
 {
     return(this.Add(model.ToModel()));
 }