Beispiel #1
0
        public static OrderInfo GetCalculadtionCommission(OrderInfo order)
        {
            DistributorsDao     dao             = new DistributorsDao();
            DistributorGradeDao dao2            = new DistributorGradeDao();
            DistributorsInfo    distributorInfo = dao.GetDistributorInfo(order.ReferralUserId);

            if (distributorInfo != null)
            {
                decimal  num         = 0M;
                decimal  num2        = 0M;
                decimal  num3        = 0M;
                DataView defaultView = dao2.GetAllDistributorGrade().DefaultView;
                if (distributorInfo.DistriGradeId.ToString() != "0")
                {
                    defaultView.RowFilter = " GradeId=" + distributorInfo.DistriGradeId;
                    if (defaultView.Count > 0)
                    {
                        num = decimal.Parse(defaultView[0]["FirstCommissionRise"].ToString());
                    }
                }
                if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && (distributorInfo.ReferralPath != "0"))
                {
                    string[] strArray = distributorInfo.ReferralPath.Split(new char[] { '|' });
                    if (strArray.Length == 1)
                    {
                        DistributorsInfo info2 = dao.GetDistributorInfo(int.Parse(strArray[0]));
                        if (info2.DistriGradeId.ToString() != "0")
                        {
                            defaultView.RowFilter = " GradeId=" + info2.DistriGradeId;
                            if (defaultView.Count > 0)
                            {
                                num2 = decimal.Parse(defaultView[0]["SecondCommissionRise"].ToString());
                            }
                        }
                    }
                    else
                    {
                        DistributorsInfo info3 = dao.GetDistributorInfo(int.Parse(strArray[1]));
                        if (info3.DistriGradeId.ToString() != "0")
                        {
                            defaultView.RowFilter = " GradeId=" + info3.DistriGradeId;
                            if (defaultView.Count > 0)
                            {
                                num2 = decimal.Parse(defaultView[0]["SecondCommissionRise"].ToString());
                            }
                        }
                        DistributorsInfo info4 = dao.GetDistributorInfo(int.Parse(strArray[0]));
                        if (info4.DistriGradeId.ToString() != "0")
                        {
                            defaultView.RowFilter = " GradeId=" + info4.DistriGradeId;
                            if (defaultView.Count > 0)
                            {
                                num3 = decimal.Parse(defaultView[0]["ThirdCommissionRise"].ToString());
                            }
                        }
                    }
                }
                Dictionary <string, LineItemInfo> lineItems = order.LineItems;
                LineItemInfo info5 = new LineItemInfo();
                DataView     view2 = new CategoryDao().GetCategories(order.wid).DefaultView;
                string       str   = null;
                string       str2  = null;
                string       str3  = null;
                foreach (KeyValuePair <string, LineItemInfo> pair in lineItems)
                {
                    info5 = pair.Value;
                    if (info5.Type == 0)
                    {
                        info5.ItemsCommission       = num;
                        info5.SecondItemsCommission = num2;
                        info5.ThirdItemsCommission  = num3;
                        decimal num4 = (info5.GetSubTotal() - info5.DiscountAverage) - info5.ItemAdjustedCommssion;
                        if (num4 > 0M)
                        {
                            if (info5.IsSetCommission)
                            {
                                info5.ItemsCommission       = ((info5.FirstCommission + num) / 100M) * num4;
                                info5.SecondItemsCommission = ((info5.SecondCommission + num2) / 100M) * num4;
                                info5.ThirdItemsCommission  = ((info5.ThirdCommission + num3) / 100M) * num4;
                            }
                            else
                            {
                                DataTable productCategories = new ProductDao().GetProductCategories(info5.ProductId);
                                if ((productCategories.Rows.Count > 0) && (productCategories.Rows[0][0].ToString() != "0"))
                                {
                                    view2.RowFilter = " CategoryId=" + productCategories.Rows[0][0];
                                    str             = view2[0]["FirstCommission"].ToString();
                                    str2            = view2[0]["SecondCommission"].ToString();
                                    str3            = view2[0]["ThirdCommission"].ToString();
                                    if ((!string.IsNullOrEmpty(str) && !string.IsNullOrEmpty(str2)) && !string.IsNullOrEmpty(str3))
                                    {
                                        info5.ItemsCommission       = ((decimal.Parse(str) + num) / 100M) * num4;
                                        info5.SecondItemsCommission = ((decimal.Parse(str2) + num2) / 100M) * num4;
                                        info5.ThirdItemsCommission  = ((decimal.Parse(str3) + num3) / 100M) * num4;
                                    }
                                }
                            }
                        }
                        else
                        {
                            info5.ItemsCommission       = 0M;
                            info5.SecondItemsCommission = 0M;
                            info5.ThirdItemsCommission  = 0M;
                        }
                        if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && (distributorInfo.ReferralPath != "0"))
                        {
                            if (distributorInfo.ReferralPath.Split(new char[] { '|' }).Length == 1)
                            {
                                info5.ThirdItemsCommission = 0M;
                            }
                        }
                        else
                        {
                            info5.SecondItemsCommission = 0M;
                            info5.ThirdItemsCommission  = 0M;
                        }
                    }
                }
            }
            return(order);
        }
Beispiel #2
0
        public static bool CreateDistributorByUserIds(string userids, ref string msg)
        {
            bool flag = false;

            userids = userids.Trim(new char[]
            {
                ','
            });
            string[] array = userids.Split(new char[]
            {
                ','
            });
            bool result;

            if (array.Length == 0)
            {
                msg    = "没有会员被选择!";
                result = flag;
            }
            else
            {
                DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorGradeDao().GetIsDefaultDistributorGradeInfo();
                if (isDefaultDistributorGradeInfo == null)
                {
                    msg    = "默认分销商等级未设置,无法生成分销商!";
                    result = flag;
                }
                else
                {
                    Dictionary <int, bool> existDistributorList = new DistributorsDao().GetExistDistributorList(userids);
                    List <int>             list = new List <int>();
                    string[] array2             = array;
                    for (int i = 0; i < array2.Length; i++)
                    {
                        string s   = array2[i];
                        int    num = 0;
                        if (int.TryParse(s, out num) && !existDistributorList.ContainsKey(num))
                        {
                            list.Add(num);
                        }
                    }
                    if (list.Count == 0)
                    {
                        msg    = "选择的会员已经是分销商,操作终止!";
                        result = flag;
                    }
                    else
                    {
                        int          num2           = 0;
                        SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                        foreach (int current in list)
                        {
                            int userId = current;
                            Hidistro.Entities.Members.MemberInfo member = MemberHelper.GetMember(userId);
                            int              referralUserId             = member.ReferralUserId;
                            string           referralPath     = string.Empty;
                            DistributorsInfo distributorsInfo = new DistributorsInfo();
                            distributorsInfo.DistributorGradeId = DistributorGrade.OneDistributor;
                            if (referralUserId > 0)
                            {
                                DistributorsInfo distributorInfo = new DistributorsDao().GetDistributorInfo(referralUserId);
                                if (distributorInfo != null)
                                {
                                    if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && !distributorInfo.ReferralPath.Contains("|"))
                                    {
                                        referralPath = distributorInfo.ReferralPath + "|" + distributorInfo.UserId.ToString();
                                    }
                                    else if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && distributorInfo.ReferralPath.Contains("|"))
                                    {
                                        referralPath = distributorInfo.ReferralPath.Split(new char[]
                                        {
                                            '|'
                                        })[1] + "|" + distributorInfo.UserId.ToString();
                                    }
                                    else
                                    {
                                        referralPath = distributorInfo.UserId.ToString();
                                    }
                                    if (!string.IsNullOrEmpty(distributorInfo.Logo))
                                    {
                                        distributorsInfo.Logo = distributorInfo.Logo;
                                    }
                                    if (distributorInfo.DistributorGradeId == DistributorGrade.OneDistributor)
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.TowDistributor;
                                    }
                                    else if (distributorInfo.DistributorGradeId == DistributorGrade.TowDistributor)
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.ThreeDistributor;
                                    }
                                    else
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.ThreeDistributor;
                                    }
                                }
                            }
                            if (string.IsNullOrEmpty(distributorsInfo.Logo))
                            {
                                distributorsInfo.Logo = masterSettings.DistributorLogoPic;
                            }
                            distributorsInfo.UserId           = member.UserId;
                            distributorsInfo.RequestAccount   = "";
                            distributorsInfo.StoreName        = Globals.GetStoreNameByUserIDAndName(member.UserId, member.UserName, member.OpenId, masterSettings.SiteName);
                            distributorsInfo.StoreDescription = "";
                            distributorsInfo.BackImage        = "";
                            distributorsInfo.DistriGradeId    = isDefaultDistributorGradeInfo.GradeId;
                            distributorsInfo.ReferralPath     = referralPath;
                            distributorsInfo.ParentUserId     = new int?(Convert.ToInt32(referralUserId));
                            if (new DistributorsDao().CreateDistributor(distributorsInfo))
                            {
                                num2++;
                            }
                        }
                        if (num2 > 0)
                        {
                            msg  = "成功生成" + num2.ToString() + "位分销商,请检查!";
                            flag = true;
                        }
                        else
                        {
                            msg  = "生成分销商失败!";
                            flag = false;
                        }
                        result = flag;
                    }
                }
            }
            return(result);
        }
Beispiel #3
0
        public static bool CreateDistributorByUserIds(string userids, ref string msg)
        {
            bool flag = false;

            userids = userids.Trim(new char[] { ',' });
            string[] strArray = userids.Split(new char[] { ',' });
            if (strArray.Length == 0)
            {
                msg = "没有会员被选择!";
                return(flag);
            }
            DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorGradeDao().GetIsDefaultDistributorGradeInfo();

            if (isDefaultDistributorGradeInfo == null)
            {
                msg = "默认分销商等级未设置,无法生成分销商!";
                return(flag);
            }
            Dictionary <int, bool> existDistributorList = new DistributorsDao().GetExistDistributorList(userids);
            List <int>             list = new List <int>();

            foreach (string str in strArray)
            {
                int result = 0;
                if (!(!int.TryParse(str, out result) || existDistributorList.ContainsKey(result)))
                {
                    list.Add(result);
                }
            }
            if (list.Count == 0)
            {
                msg = "选择的会员已经是分销商,操作终止!";
                return(flag);
            }
            int num2 = 0;

            foreach (int num3 in list)
            {
                int              userId         = num3;
                MemberInfo       member         = GetMember(userId);
                int              referralUserId = member.ReferralUserId;
                string           str2           = string.Empty;
                DistributorsInfo distributor    = new DistributorsInfo {
                    DistributorGradeId = DistributorGrade.OneDistributor
                };
                if (referralUserId > 0)
                {
                    DistributorsInfo distributorInfo = new DistributorsDao().GetDistributorInfo(referralUserId);
                    if (distributorInfo != null)
                    {
                        if (!(string.IsNullOrEmpty(distributorInfo.ReferralPath) || distributorInfo.ReferralPath.Contains("|")))
                        {
                            str2 = distributorInfo.ReferralPath + "|" + distributorInfo.UserId.ToString();
                        }
                        else if (!(string.IsNullOrEmpty(distributorInfo.ReferralPath) || !distributorInfo.ReferralPath.Contains("|")))
                        {
                            str2 = distributorInfo.ReferralPath.Split(new char[] { '|' })[1] + "|" + distributorInfo.UserId.ToString();
                        }
                        else
                        {
                            str2 = distributorInfo.UserId.ToString();
                        }
                        if (!string.IsNullOrEmpty(distributorInfo.Logo))
                        {
                            distributor.Logo = distributorInfo.Logo;
                        }
                        if (distributorInfo.DistributorGradeId == DistributorGrade.OneDistributor)
                        {
                            distributor.DistributorGradeId = DistributorGrade.TowDistributor;
                        }
                        else if (distributorInfo.DistributorGradeId == DistributorGrade.TowDistributor)
                        {
                            distributor.DistributorGradeId = DistributorGrade.ThreeDistributor;
                        }
                        else
                        {
                            distributor.DistributorGradeId = DistributorGrade.ThreeDistributor;
                        }
                    }
                }
                if (string.IsNullOrEmpty(distributor.Logo))
                {
                    SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                    distributor.Logo = masterSettings.DistributorLogoPic;
                }
                distributor.UserId           = member.UserId;
                distributor.RequestAccount   = "";
                distributor.StoreName        = "微小店_" + DateTime.Now.ToString("HHmmss") + "_" + member.UserName;
                distributor.StoreDescription = "系统生成的微小店,请修改描述内容";
                distributor.BackImage        = "";
                distributor.DistriGradeId    = isDefaultDistributorGradeInfo.GradeId;
                distributor.ReferralPath     = str2;
                distributor.ParentUserId     = new int?(Convert.ToInt32(referralUserId));
                if (new DistributorsDao().CreateDistributor(distributor))
                {
                    num2++;
                }
            }
            if (num2 > 0)
            {
                msg  = "成功生成" + num2.ToString() + "位分销商,请检查!";
                flag = true;
            }
            else
            {
                msg  = "生成分销商失败!";
                flag = false;
            }
            return(flag);
        }