Example #1
0
 /// <summary>
 /// 更新退回到的步骤{退回到的步骤}对象(即:一条记录
 /// </summary>
 public int Update(InstanceStepReturnstep instanceStepReturnstep)
 {
     using (var dbContext = UnitOfWork.Get(Unity.ContainerName))
     {
         return(new InstanceStepReturnstepRepository(dbContext).Update(instanceStepReturnstep));
     }
 }
Example #2
0
        protected R <string> SaveNextStep(DealStepDTO dto, InstanceFlow AInstanceFlow, InstanceStepDTO AInstanceStep)
        {
            R <string> vResMsg = new R <string>();

            vResMsg.Code = 1;
            //如果是空,则以正确方式结束
            if (string.IsNullOrWhiteSpace(dto.NextStepSeq))
            {
                return(vResMsg);
            }

            //如果不是(1通过,2退回),则以正确方式结束
            if (!new int[] { 1, 2 }.Contains(dto.Status))
            {
                return(vResMsg);
            }

            //根据步骤序号取得步骤ID
            var vList = from TemplateStep vItem in AInstanceFlow.TemplateSteps
                        where vItem.Seq.ToString().Equals(dto.NextStepSeq)
                        select vItem.Fid;

            if (!vList.Any())
            {
                return(vResMsg);
            }

            string vID = vList.FirstOrDefault();

            //通过
            if (dto.Status == 1)
            {
                //检查是否已加入到列表
                var vObj = (from InstanceStepFixstep vItem in AInstanceStep.InstanceStep.InstanceStepFixsteps
                            where vItem.SelectStepId.Equals(vID)
                            select vItem).FirstOrDefault();

                if (vObj == null)
                {
                    //删除步骤下已有的指定下一步骤信息
                    vResMsg = RemoveNextStep(AInstanceStep);
                    if (vResMsg.Code == 1)
                    {
                        return(vResMsg);
                    }

                    InstanceStepFixstep vEntity = new InstanceStepFixstep();
                    vEntity.Fid            = Guid.NewGuid().ToString();
                    vEntity.InstanceStepId = AInstanceStep.InstanceStep.Fid;
                    vEntity.SelectStepId   = vID;
                    vEntity.Creator        = dto.UserCode;
                    vEntity.CreateDate     = DateTime.Now;
                    vEntity.Editor         = vEntity.Creator;
                    vEntity.EditDate       = vEntity.CreateDate;

                    // vEntity.SetMultiple(false);
                    //vResMsg = vEntity.Insert();
                    var result = _instanceStepFixstepService.Add(vEntity);
                    if (result > 0)
                    {
                        vResMsg.Code = 0;
                        AInstanceStep.InstanceStep.InstanceStepFixsteps.Add(vEntity);
                    }

                    else
                    {
                        vResMsg.Msg = string.Format("流程实例步骤:{0}增加出错", vEntity.InstanceStepId);
                    }
                }
            }
            else//退回
            {
                //检查是否已加入到列表
                var vObj = (from InstanceStepReturnstep vItem in AInstanceStep.InstanceStep.InstanceStepReturnsteps
                            where vItem.SelectStepId.Equals(vID)
                            select vItem).FirstOrDefault();

                if (vObj == null)
                {
                    //删除步骤下已有的退回步骤信息
                    vResMsg = RemoveReturnStep(AInstanceStep);
                    if (vResMsg.Code == 1)
                    {
                        return(vResMsg);
                    }

                    InstanceStepReturnstep vEntity = new InstanceStepReturnstep();
                    vEntity.Fid            = Guid.NewGuid().ToString();
                    vEntity.InstanceStepId = AInstanceStep.InstanceStep.Fid;
                    vEntity.SelectStepId   = vID;
                    vEntity.Creator        = dto.UserCode;
                    vEntity.CreateDate     = DateTime.Now;
                    vEntity.Editor         = vEntity.Creator;
                    vEntity.EditDate       = vEntity.CreateDate;

                    //vEntity.SetMultiple(false);
                    //vResMsg = vEntity.Insert();
                    var result = _instanceStepReturnstepService.Add(vEntity);
                    if (result > 0)
                    {
                        vResMsg.Code = 0;
                        AInstanceStep.InstanceStep.InstanceStepReturnsteps.Add(vEntity);
                    }
                    else
                    {
                        vResMsg.Msg = string.Format("流程实例步骤:{0}退回出错", vEntity.InstanceStepId);
                    }
                }
            }

            return(vResMsg);
        }
 /// <summary>
 /// 更新退回到的步骤{退回到的步骤}对象(即:一条记录
 /// </summary>
 public int Update(InstanceStepReturnstep instanceStepReturnstep)
 {
     return(Update <InstanceStepReturnstep>(instanceStepReturnstep));
 }
 /// <summary>
 /// 添加退回到的步骤{退回到的步骤}对象(即:一条记录
 /// </summary>
 public long Add(InstanceStepReturnstep instanceStepReturnstep)
 {
     return(Add <InstanceStepReturnstep>(instanceStepReturnstep));
 }