예제 #1
0
        public bool SaveInfo(Models.ShippingArea model, List <Models.ShippingAreaFee> feeList, bool insert = true)
        {
            using (var dbContext = new LogisticsDbContext())
            {
                if (insert)
                {
                    model.CreateTime     = DateTime.Now;
                    model.LastUpdateTime = DateTime.Now;
                    model.Status         = Models.ShippingAreaStatus.Normal;
                    dbContext.ShippingAreas.Add(model);
                }
                else
                {
                    model.LastUpdateTime = DateTime.Now;
                    dbContext.ShippingAreas.Attach(model);
                    dbContext.Entry(model).State = EntityState.Modified;

                    //批量删除区域费用
                    _currencyService.DeleteByConditon <Models.ShippingAreaFee>(d => d.ShippingAreaId == model.Id);
                }


                foreach (var feeInfo in feeList)
                {
                    dbContext.ShippingAreasFees.Add(feeInfo);
                }

                var result = dbContext.SaveChanges() > 0;
                if (result)
                {
                    Logger.Operation($"编辑配送区域-{model.Name}:{model.Id}", LogisticsModule.Instance);
                }
                return(result);
            }
        }
        public async Task <bool> Add(DistributionCreateInput input)
        {
            bool respose = false;

            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    //增加配送单
                    var entity = Mapper.Map(input).ToANew <Distribution>();
                    var res    = _context.Distributions.Add(entity);

                    //修改订单状态
                    var order = _orderRepository.GetById(input.OrderId);
                    order.OrderStatus = 2;
                    _context.Orders.Update(order);

                    transaction.Commit();
                    respose = _context.SaveChanges() > 0 ? true : false;
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    respose = false;
                }
            }


            return(await Task.FromResult(respose));
        }
예제 #3
0
 public void SetDefault(Guid shippingId)
 {
     using (var dbContext = new LogisticsDbContext())
     {
         var defaultList =
             dbContext.Shippings.Where(me => me.IsDefault || me.Id.Equals(shippingId)).ToList();
         foreach (Shipping shipping in defaultList)
         {
             shipping.IsDefault = shipping.Id.Equals(shippingId)? true:false;
         }
         dbContext.SaveChanges();
     }
 }
예제 #4
0
 public bool Create(Models.ShippingArea model)
 {
     using (var dbContext = new LogisticsDbContext())
     {
         model.Id             = KeyGenerator.GetGuidKey();
         model.CreateTime     = DateTime.Now;
         model.LastUpdateTime = DateTime.Now;
         model.Status         = Models.ShippingAreaStatus.Normal;
         dbContext.ShippingAreas.Add(model);
         var result = dbContext.SaveChanges() > 0;
         if (result)
         {
             Logger.Operation($"创建配送区域-{model.Name}:{model.Id}", LogisticsModule.Instance);
         }
         return(result);
     }
 }
예제 #5
0
        public async Task <bool> Add(OrderCreateInput input)
        {
            bool respose = false;

            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var count = _Repository.GetAll().Where(a => a.CreationTime.ToString("yyyyMMdd")
                                                           == DateTime.Now.ToString("yyyyMMdd")).Count();

                    var entity = Mapper.Map(input).ToANew <Order>();
                    entity.OrderNo = DateTime.Now.ToString("yyyyMMdd") + string.Format("{0:D6}", count + 1);

                    var res = _context.Orders.Add(entity);
                    //foreach (var item in input.DetailList)
                    //{

                    //    var detail = Mapper.Map(item).ToANew<OrderDetail>();
                    //    detail.Id = res.Entity.Id;
                    //    _context.OrderDetails.Add(detail);
                    //}

                    transaction.Commit();
                    respose = _context.SaveChanges() > 0 ? true : false;
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    respose = false;
                }
            }


            return(await Task.FromResult(respose));
        }