Example #1
0
        /// <summary>
        /// 保存相应的审核资料
        /// </summary>
        public ResultDTO SaveDistributionIdentitySet(Guid drId, List <DistributionIdentitySetFullDTO> distributionIdentitySetFullDtos)
        {
            var result = new ResultDTO {
                isSuccess = true
            };
            int i = 0;

            foreach (var d in distributionIdentitySetFullDtos)
            {
                var dis = new DistributionIdentitySet
                {
                    Id           = Guid.NewGuid(),
                    SubTime      = DateTime.Now,
                    ModifiedOn   = DateTime.Now,
                    SubId        = ContextDTO.LoginUserID,
                    ModifiedId   = ContextDTO.LoginUserID,
                    Name         = d.Name,
                    IsRequired   = d.IsRequired,
                    RuleId       = drId,
                    ValueType    = d.ValueType,
                    IsDel        = false,
                    NameCategory = i,
                    EntityState  = EntityState.Added
                };
                ContextFactory.CurrentThreadContext.SaveObject(dis);
                i++;
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 验证用户编辑的时候 时候后台规则有变化
        /// </summary>
        /// <returns></returns>
        public bool CheckIsChange(Guid appId, Guid userId)
        {
            bool isChange = false;
            List <DistributionIdentitySetFullDTO> vDbIdentitySets =
                (from dis in DistributionIdentitySet.ObjectSet()
                 join di in DistributionIdentity.ObjectSet() on dis.Id equals di.IdentitySetId
                 where dis.RuleId == appId && di.SubId == userId
                 orderby dis.NameCategory
                 select new DistributionIdentitySetFullDTO
            {
                Id = dis.Id,
                SubTime = dis.SubTime,
                ModifiedOn = dis.ModifiedOn,
                SubId = dis.SubId,
                ModifiedId = dis.ModifiedId,
                Name = dis.Name,
                IsRequired = dis.IsRequired,
                RuleId = dis.RuleId,
                ValueType = (ApplyInfoTypeEnum)dis.ValueType.Value,
                IsDel = dis.IsDel,
                NameCategory = dis.NameCategory,
                Value = di.Value
            }).ToList();

            List <DistributionIdentitySetFullDTO> dbIdentitySets =
                (from dis in DistributionIdentitySet.ObjectSet()
                 where dis.RuleId == appId && !dis.IsDel
                 orderby dis.NameCategory
                 select new DistributionIdentitySetFullDTO
            {
                Id = dis.Id,
                SubTime = dis.SubTime,
                ModifiedOn = dis.ModifiedOn,
                SubId = dis.SubId,
                ModifiedId = dis.ModifiedId,
                Name = dis.Name,
                IsRequired = dis.IsRequired,
                RuleId = dis.RuleId,
                ValueType = (ApplyInfoTypeEnum)dis.ValueType.Value,
                IsDel = dis.IsDel,
                NameCategory = dis.NameCategory,
                Value = ""
            }).ToList();

            if (vDbIdentitySets.Count != dbIdentitySets.Count)
            {
                isChange = true;
            }
            else
            {
                //字段名字或者字段类型 做变更
                if (vDbIdentitySets.Where((t, i) => t.Name != dbIdentitySets[i].Name || t.ValueType != dbIdentitySets[i].ValueType).Any())
                {
                    isChange = true;
                }
            }
            return(isChange);
        }
Example #3
0
        /// <summary>
        /// 获取分销商申请设置 后台
        /// </summary>
        /// <returns></returns>
        public DistributRuleFullDTO GetDistributRuleFullExt(DistributionSearchDTO search)
        {
            DistributRuleFullDTO distributRuleFullDto = new DistributRuleFullDTO();

            try
            {
                var temp = (from dr in DistributionRule.ObjectSet()
                            where dr.Id == search.AppId
                            select new DistributRuleFullDTO

                {
                    Id = dr.Id,
                    SubTime = dr.SubTime,
                    ModifiedOn = dr.ModifiedOn,
                    SubId = dr.SubId,
                    ModifiedId = dr.ModifiedId,
                    HasCondition = dr.HasCondition,
                    NeedIdentity = dr.NeedIdentity,
                    OrderTimeLimit = dr.OrderTimeLimit,
                    OrderAmountLimit = dr.OrderAmountLimit,
                    HasCustomComs = dr.HasCustomComs,
                    Title = dr.Title,
                    TiApprovalType = (ApprovalTypeEnum)dr.ApprovalType.Value,
                    StartCalcState = (DistributeApplyStateEnum)dr.StartCalcState.Value,
                    RuleDesc = dr.RuleDesc
                });
                distributRuleFullDto = temp.FirstOrDefault();
                if (distributRuleFullDto != null)
                {
                    List <DistributionIdentitySetFullDTO> vDbIdentitySets =
                        (from dis in DistributionIdentitySet.ObjectSet()
                         where dis.RuleId == search.AppId && !dis.IsDel
                         orderby dis.NameCategory
                         select new DistributionIdentitySetFullDTO
                    {
                        Id = dis.Id,
                        SubTime = dis.SubTime,
                        ModifiedOn = dis.ModifiedOn,
                        SubId = dis.SubId,
                        ModifiedId = dis.ModifiedId,
                        Name = dis.Name,
                        IsRequired = dis.IsRequired,
                        RuleId = dis.RuleId,
                        ValueType = (ApplyInfoTypeEnum)dis.ValueType.Value,
                        IsDel = dis.IsDel,
                        NameCategory = dis.NameCategory,
                    }).ToList();
                    distributRuleFullDto.DbIdentitySets = vDbIdentitySets;
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.ToString());
            }
            return(distributRuleFullDto);
        }
Example #4
0
        /// <summary>
        /// 查询 分销商申请资料设置 的身份设置
        /// </summary>
        /// <param name="ruleId"></param>
        /// <returns></returns>
        public List <DistributionIdentitySetDTO> GetDistributionIdentitySetsExt(Guid ruleId)
        {
            var setEntities = DistributionIdentitySet.ObjectSet()
                              .Where(t => t.RuleId == ruleId)
                              .OrderBy(x => x.NameCategory)
                              .ToList();
            var setDtos = setEntities.Select(x => x.ToEntityData()).ToList();

            return(setDtos);
        }
Example #5
0
        /// <summary>
        /// 删除相关的设置以及资料
        /// </summary>
        /// <param name="drId"></param>
        /// <returns></returns>
        public ResultDTO DeleteDistributionRule(Guid drId)
        {
            var result = new ResultDTO {
                isSuccess = true
            };
            var dis = DistributionIdentitySet.ObjectSet().Where(t => t.RuleId == drId);

            foreach (var d in dis)
            {
                d.IsDel       = true;
                d.EntityState = EntityState.Modified;
                ContextFactory.CurrentThreadContext.SaveObject(d);
            }

            var dr = DistributionRule.ObjectSet().FirstOrDefault(t => t.Id == drId);

            if (dr != null)
            {
                dr.EntityState = EntityState.Deleted;
                ContextFactory.CurrentThreadContext.SaveObject(dr);
            }
            return(result);
        }
Example #6
0
        /// <summary>
        /// 添加或编辑申请成为分销商资料
        /// </summary>
        /// <param name="userCode"></param>
        /// <param name="userId"></param>
        /// <param name="ruleId"></param>
        /// <param name="distributApplyFullDto"></param>
        /// <returns></returns>
        public ResultDTO AddDistributionIdentityInfoExt(string userCode, string userId, string ruleId, DistributApplyFullDTO distributApplyFullDto)
        {
            var result = new ResultDTO {
                isSuccess = false
            };

            try
            {
                if (string.IsNullOrEmpty(userId) || (string.IsNullOrEmpty(ruleId) || distributApplyFullDto == null))
                {
                    result.Message = "参数不能为空";
                    return(result);
                }

                var drId = Guid.NewGuid();
                var distributionApply = DistributionApply.ObjectSet().FirstOrDefault(t => t.RuleId == new Guid(ruleId) && t.UserId == new Guid(userId));
                //新增
                if (distributionApply == null)
                {
                    var         dr    = DistributionRule.ObjectSet().FirstOrDefault(t => t.Id == new Guid(ruleId));
                    List <Guid> users = new List <Guid> {
                        new Guid(userId)
                    };
                    var user = CBCSV.Instance.GetUserInfoWithAccountList(users)[0];

                    var da = new DistributionApply()
                    {
                        Id          = drId,
                        SubTime     = distributApplyFullDto.ModifiedOn = DateTime.Now,
                        HasIdentity = dr != null && dr.NeedIdentity,
                        RuleId      = new Guid(ruleId),
                        UserId      = new Guid(userId),
                        UserCode    = userCode,
                        UserName    = user.Name,
                        PicturePath = user.HeadIcon,
                        Remarks     = "",
                        ParentId    = distributApplyFullDto.ParentId,
                        State       = DistributeApplyStateEnum.Other,
                        EntityState = EntityState.Added
                    };
                    ContextFactory.CurrentThreadContext.SaveObject(da);
                }
                //修改
                else
                {
                    drId = distributionApply.Id;
                }

                //先删除相关审核内容
                var distributionIdentityList = DistributionIdentity.ObjectSet().Where(t => t.RuleId == new Guid(ruleId) && t.SubId == new Guid(userId));
                foreach (var distributionIdentity in distributionIdentityList)
                {
                    distributionIdentity.EntityState = EntityState.Deleted;
                    ContextFactory.CurrentThreadContext.SaveObject(distributionIdentity);
                }
                if (distributApplyFullDto.DistributionIdentityFullDtos != null)
                {
                    if (distributionApply != null)
                    {
                        distributionApply.State      = !distributApplyFullDto.IsModified ? DistributeApplyStateEnum.PendingAudit : DistributeApplyStateEnum.AuditAgain;
                        distributionApply.ModifiedOn = DateTime.Now;
                        ContextFactory.CurrentThreadContext.SaveObject(distributionApply);
                    }

                    ResultDTO resultDto = SaveDistributionIdentity(drId, new Guid(ruleId), distributApplyFullDto.DistributionIdentityFullDtos);
                    if (resultDto.isSuccess == false)
                    {
                        result.Message = "保存申请信息失败";
                        return(result);
                    }
                }
                else
                {
                    //添加不同用户的审核资料
                    var distributionIdentitySetList = DistributionIdentitySet.ObjectSet().Where(t => t.RuleId == new Guid(ruleId) && !t.IsDel);
                    var i = 0;
                    foreach (var distributionIdentitySet in distributionIdentitySetList)
                    {
                        var di = new DistributionIdentity
                        {
                            Id            = Guid.NewGuid(),
                            SubTime       = DateTime.Now,
                            ModifiedOn    = DateTime.Now,
                            SubId         = ContextDTO.LoginUserID,
                            ModifiedId    = ContextDTO.LoginUserID,
                            Name          = distributionIdentitySet.Name,
                            IdentitySetId = distributionIdentitySet.Id,
                            RuleId        = new Guid(ruleId),
                            ApplyId       = drId,
                            ValueType     = distributionIdentitySet.ValueType,
                            Value         = "",
                            NameCategory  = i,
                            EntityState   = EntityState.Added
                        };
                        ContextFactory.CurrentThreadContext.SaveObject(di);
                        i++;
                    }
                }

                int esActivityCount = ContextFactory.CurrentThreadContext.SaveChanges();
                if (esActivityCount > 0)
                {
                    result.isSuccess = true;
                    result.Message   = Convert.ToString(drId);
                }
                else
                {
                    result.Message = "添加失败";
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogHelper.Error("AddDistributionIdentityInfoExt异常,异常信息:", ex);

                result.isSuccess = false;
                result.Message   = "出现异常";
                return(result);
            }
        }