Example #1
0
        /// <summary>
        /// 配置活动配送方式配送费,配送时间
        /// </summary>
        /// <returns></returns>
        void SetPicking(ActivityModel input, ConglomerationActivity conglomerationActivity)
        {
            if (conglomerationActivity.Id != 0)
            {
                var oldConglomerationActivityPickingSetting = db.ConglomerationActivityPickingSetting.Where(m => m.ConglomerationActivityId.Equals(conglomerationActivity.Id) && !m.IsDel);
                if (oldConglomerationActivityPickingSetting.Count() != 0)
                {
                    foreach (var ConglomerationActivityPickingSettingItem in oldConglomerationActivityPickingSetting)
                    {
                        ConglomerationActivityPickingSettingItem.IsDel = true;
                    }
                    db.SaveChanges();
                }
            }
            conglomerationActivity.DeliveryTakeTheirBeginTimeHM = input.DeliveryTakeTheirBeginTimeHM;
            conglomerationActivity.DeliveryTakeTheirBeginTimeMD = input.DeliveryTakeTheirBeginTimeMD;
            conglomerationActivity.DeliveryTakeTheirEndTimeHM   = input.DeliveryTakeTheirEndTimeHM;
            conglomerationActivity.DeliveryTakeTheirEndTimeMD   = input.DeliveryTakeTheirEndTimeMD;
            conglomerationActivity.ActivityDeliveryFee          = (int)input.ActivityDeliveryFee;

            List <ConglomerationActivityPickingSetting> addList = new List <ConglomerationActivityPickingSetting>();

            foreach (var type in input.Type.Distinct())
            {
                ConglomerationActivityPickingSetting conglomerationActivityPickingSetting = new ConglomerationActivityPickingSetting()
                {
                    ConglomerationActivityId = input.ConglomerationActivityId,
                    Type       = (ConsignmentType)type,
                    CreateTime = DateTime.Now
                };
                switch (conglomerationActivityPickingSetting.Type)
                {
                case ConsignmentType.快递:
                    conglomerationActivityPickingSetting.PickingSettingName = "快递";
                    break;

                case ConsignmentType.自提:
                    conglomerationActivityPickingSetting.PickingSettingName = "自提";
                    break;
                }

                addList.Add(conglomerationActivityPickingSetting);
            }

            db.ConglomerationActivityPickingSetting.AddRange(addList);
            db.SaveChanges();
        }
Example #2
0
        /// <summary>
        /// 快递配置(配送)
        /// </summary>
        /// <param name="db"></param>
        /// <param name="conglomerationOrder"></param>
        /// <returns></returns>
        private ConglomerationOrder TakeOutSetting(ShopDbContext db, ConglomerationOrder conglomerationOrder, ShopConglomerationOrderDto shopConglomerationOrderDto, ConglomerationActivity conglomerationActivity)
        {
            if (conglomerationOrder.Type.Equals(ConsignmentType.快递))
            {
                ConglomerationExpress conglomerationExpress = new ConglomerationExpress();
                conglomerationExpress.CreateTime                = DateTime.Now;
                conglomerationExpress.Delivery                  = conglomerationOrder.Delivery.Value;
                conglomerationExpress.ExpressSingle             = "未发货";
                conglomerationExpress.MemberAddressId           = shopConglomerationOrderDto.MemberAddressId;
                conglomerationExpress.ShopConglomerationOrderId = conglomerationOrder.Id;
                var memberAddress = db.Query <MemberAddress>()
                                    .FirstOrDefault(m => !m.IsDel && m.Id.Equals(conglomerationExpress.MemberAddressId));
                if (memberAddress == null)
                {
                    throw new Exception("请先设置配送地址");
                }
                conglomerationExpress.Address             = $"{ memberAddress.Province}{ memberAddress.City}{ memberAddress.Area}{ memberAddress.Detail}";
                conglomerationExpress.Phone               = memberAddress.Phone;
                conglomerationExpress.Name                = memberAddress.Name;
                conglomerationExpress.Sex                 = memberAddress.Sex;
                conglomerationExpress.ActivityDeliveryFee = conglomerationActivity.ActivityDeliveryFee;
                conglomerationExpress = db.ConglomerationExpress.Add(conglomerationExpress).Entity;
                db.SaveChanges();
                conglomerationOrder.ConglomerationExpressId = conglomerationExpress.Id;
            }

            return(conglomerationOrder);
        }