Beispiel #1
0
 /// <summary>
 /// 审批功能
 /// </summary>
 /// <param name="xiangmu"></param>
 /// <returns></returns>
 public bool IsPass(XiangMu xiangmu)
 {
     return(true);
 }
Beispiel #2
0
 public SingleResult <bool> ShenPi(XiangMu xiangmu)
 {
     return(null);
 }
Beispiel #3
0
        /// <summary>
        /// 保存申请
        /// </summary>
        /// <returns></returns>
        public bool SaveXiangMu(XiangMu xiangmu, XiangMuFangAn xmfa)
        {
            if (xiangmu.Id == Guid.Empty)//新增
            {
                #region 新增项目
                xiangmu.Id         = Guid.NewGuid();
                xiangmu.CreateDate = xiangmu.LastUpdateDate = DateTime.Now;
                //xiang.ShenQingRenId = xuesheng.ShenQingRenId;
                //xiang.ShenQingRenName = xuesheng.ShenQingRenName;
                //xiang.ShenQingRenBuMenId = xuesheng.ShenQingRenBuMenId;//学生 填写老师的部门
                //xiang.ShenQingRenBuMenMingCheng = xuesheng.ShenQingRenBuMenMingCheng;
                #endregion

                #region 新增方案
                //xmfa.Id = Guid.NewGuid();
                xmfa.XiangMuId  = xiangmu.Id;
                xmfa.CreateDate = xmfa.LastUpdateDate = DateTime.Now;
                #endregion

                _dbContext.XiangMu.Add(xiangmu);
                _dbContext.XiangMuFangAn.Add(xmfa);
            }
            else//编辑
            {
                if (_dbContext.XiangMu.Any(p => p.Id == xiangmu.Id))
                {
                    #region 编辑申请表
                    var single = _dbContext.XiangMu.SingleOrDefault(p => p.Id == xiangmu.Id);
                    single.XiangMuMingCheng = xiangmu.XiangMuMingCheng;
                    single.XiangMuLeiXing   = xiangmu.XiangMuLeiXing;
                    single.LiXiangLeiXing   = xiangmu.LiXiangLeiXing;
                    //single.ShenQingRenId = xiangmu.ShenQingRenId;
                    //single.ShenQingRenName = xiangmu.ShenQingRenName;
                    //single.ShenQingRenBuMenId = xiangmu.ShenQingRenBuMenId;//学生 填写老师的部门
                    //single.ShenQingRenBuMenMingCheng = xiangmu.ShenQingRenBuMenMingCheng;
                    single.XingBie               = xiangmu.XingBie;
                    single.MinZu                 = xiangmu.MinZu;
                    single.ChuShengNianYue       = xiangmu.ChuShengNianYue;
                    single.YanJiuLeiXing         = xiangmu.YanJiuLeiXing;
                    single.ShouKeKeMu            = xiangmu.ShouKeKeMu;
                    single.ShouKeDuiXiang        = xiangmu.ShouKeDuiXiang;
                    single.SuoShuQuDui           = xiangmu.SuoShuQuDui;
                    single.XueShengLianXiDianHua = xiangmu.XueShengLianXiDianHua;
                    single.ZhiDaoLaoShi          = xiangmu.ZhiDaoLaoShi;
                    single.YanJiuLeiXing         = xiangmu.YanJiuLeiXing;
                    single.XingZhengZhiWu        = xiangmu.XingZhengZhiWu;
                    single.JiaoGuanZhiWu         = xiangmu.JiaoGuanZhiWu;
                    single.ZhunJiZhiWu           = xiangmu.ZhunJiZhiWu;
                    single.ZuiHouXueLi           = xiangmu.ZuiHouXueLi;
                    single.LianXiDianHua         = xiangmu.LianXiDianHua;
                    single.KeTiZuChengYuanRenSu  = xiangmu.KeTiZuChengYuanRenSu;
                    single.YuQiChengGuoLeiXing   = xiangmu.YuQiChengGuoLeiXing;
                    single.CreateDate            = xiangmu.CreateDate;
                    single.LastUpdateDate        = DateTime.Now;
                    single.StartDateTime         = xiangmu.StartDateTime;
                    single.EndDateTime           = xiangmu.EndDateTime;
                    single.YanQiDate             = xiangmu.YanQiDate;
                    single.JingFeiZongE          = xiangmu.JingFeiZongE;
                    single.Status                = xiangmu.Status;
                    //后续会有AutoMapper来做对象映射
                    //xiang.LastUpdateDate = xuesheng.LastUpdateDate;
                    #endregion

                    #region 编辑项目方案
                    var fangan = _dbContext.XiangMuFangAn.SingleOrDefault(x => x.XiangMuId == xiangmu.Id);
                    fangan.ZuiZhongChengGuo = xmfa.ZuiZhongChengGuo;
                    fangan.XiangMuChengGuo  = xmfa.XiangMuChengGuo;
                    fangan.XiangMuXuanTi    = xmfa.XiangMuXuanTi;
                    fangan.XiangMuFangAn1   = xmfa.XiangMuFangAn1;
                    fangan.YanJiuJiChu      = xmfa.YanJiuJiChu;
                    fangan.LastUpdateDate   = DateTime.Now;
                    #endregion
                }
            }
            return(_dbContext.SaveChanges() > 0);
        }
Beispiel #4
0
        public SingleResult <bool> SaveXiangMu(XiangMuDto entity)
        {
            SingleResult <bool> singleResult = new SingleResult <bool>();
            XiangMu             instance     = new XiangMu();
            var cUser = _fapContext.CurrentUser;

            try
            {
                if (_dbContext.XiangMu.Any(p => p.Id == entity.Id))
                {
                    instance = _dbContext.XiangMu.Find(entity.Id);
                }
                else
                {
                    entity.Id                        = Guid.NewGuid();
                    entity.CreateDate                = entity.LastUpdateDate = DateTime.Now;
                    entity.Status                    = (int)XiangMuZhuangTaiName.提交;
                    entity.ShenQingRenId             = cUser.Id;
                    entity.ShenQingRenBuMenMingCheng = cUser.Name;
                    entity.ShenQingRenBuMenId        = OrgHelper.GetBuMenId(cUser);
                    entity.ShenQingRenBuMenMingCheng = OrgHelper.GetBuMenMingCheng(cUser);
                    entity.IsYanQi                   = false;
                    _dbContext.XiangMu.Add(instance);
                }
                _mapper.Map(entity, instance, typeof(XiangMuDto), typeof(XiangMu));

                //添加外键信息
                //方案
                if (entity.XiangMuFangAn != null)
                {
                    if (_dbContext.XiangMuFangAn.Any(p => p.XiangMuId == entity.Id))
                    {
                        var fangAnInstance = _dbContext.XiangMuFangAn.Find(entity.Id);
                        entity.XiangMuFangAn.LastUpdateDate = DateTime.Now;
                        _mapper.Map(entity.XiangMuFangAn, fangAnInstance, typeof(XiangMuFangAn), typeof(XiangMuFangAn));
                    }
                    else
                    {
                        entity.XiangMuFangAn.XiangMuId  = entity.Id;
                        entity.XiangMuFangAn.CreateDate = entity.XiangMuFangAn.LastUpdateDate = DateTime.Now;
                        _dbContext.XiangMuFangAn.Add(entity.XiangMuFangAn);
                    }
                }
                //成员
                if (entity.XiangMuZuYuans != null)
                {
                    //将除去做过删除操作的元素
                    var zyIds    = entity.XiangMuZuYuans.Select(p => p.Id);
                    var delRange = _dbContext.XiangMuZuYuan.Where(p => p.XiangMuId == entity.Id && !zyIds.Contains(p.Id));
                    _dbContext.XiangMuZuYuan.RemoveRange(delRange);

                    entity.KeTiZuChengYuanRenSu = entity.XiangMuZuYuans.Count();
                    foreach (var zy in entity.XiangMuZuYuans)
                    {
                        if (_dbContext.XiangMuZuYuan.Any(p => p.Id == zy.Id))
                        {
                            var zyInstance = _dbContext.XiangMuZuYuan.Find(zy.Id);
                            zy.LastUpdateDate = DateTime.Now;
                            _mapper.Map(zy, zyInstance, typeof(XiangMuZuYuan), typeof(XiangMuZuYuan));
                        }
                        else
                        {
                            zy.XiangMuId  = entity.Id;
                            zy.CreateDate = zy.LastUpdateDate = DateTime.Now;
                            _dbContext.XiangMuZuYuan.Add(zy);
                        }
                    }
                }
                //经费
                if (entity.JingFeis != null)
                {
                    //将除去做过删除操作的元素
                    var jfIds    = entity.JingFeis.Select(p => p.Id);
                    var delRange = _dbContext.JingFei.Where(p => p.XiangMuId == entity.Id && !jfIds.Contains(p.Id));
                    _dbContext.JingFei.RemoveRange(delRange);
                    foreach (var jf in entity.JingFeis)
                    {
                        if (_dbContext.JingFei.Any(p => p.Id == jf.Id))
                        {
                            var jfInstance = _dbContext.JingFei.Find(jf.Id);
                            jf.LastUpdateDate = DateTime.Now;
                            _mapper.Map(jf, jfInstance, typeof(JingFei), typeof(JingFei));
                        }
                        else
                        {
                            jf.XiangMuId  = entity.Id;
                            jf.CreateDate = jf.LastUpdateDate = DateTime.Now;
                            _dbContext.JingFei.Add(jf);
                        }
                    }
                }
                _dbContext.SaveChanges();
                singleResult.Result = true;
            }
            catch (Exception ex)
            {
                _loggerService.LogException(_fapContext.CurrentUser, null, "", ex);
                singleResult.Error = new Error("系统未知错误");
            }
            return(singleResult);
        }