示例#1
0
 public void Handle(ShoppingCartAddedProduct e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCartItems.SingleOrDefault(i => i.ProductId == e.ProductId && i.ShoppingCartId == e.Id);
         if (temp != null)
         {
             temp.Quantity   = e.Quantity;
             temp.UnitPrice  = e.UnitPrice;
             temp.TotalPrice = e.TotalPrice;
         }
         else
         {
             db.ShoppingCartItems.Add(new ShoppingCartItem()
             {
                 ShoppingCartId = e.Id,
                 CreatedDate    = e.CreatedDate,
                 Quantity       = e.Quantity,
                 ProductId      = e.ProductId,
                 UnitPrice      = e.UnitPrice,
                 TotalPrice     = e.TotalPrice,
             });
         }
         db.SaveChanges();
     }
 }
示例#2
0
        public DomainPaymentTransaction(Guid id, Guid paymentMethodId, string orderCode, long amount
                                        , string ipAddress, Guid languageId, string siteDomainUrl)
        {
            DateTime createdDate = DateTime.Now;

            PaymentMethod pm;
            Language      lang = null;

            using (var db = new CoreEcommerceDbContext())
            {
                pm   = db.PaymentMethods.SingleOrDefault(i => i.Id == paymentMethodId);
                lang = db.Languages.SingleOrDefault(i => i.Id == languageId);
            }

            var type = AssemblyExtesions.FindType(pm.AssemblyType);

            if (type == null)
            {
                throw new Exception("Can not load assembly " + pm.AssemblyType);
            }

            var amountByCurrencyCode = (long)(amount * lang.CurrencyExchangeRate);

            var p = Activator.CreateInstance(type) as IPaymentMethod;

            var urlRedirect = p.GetRedirectUrl(pm, id, orderCode, amountByCurrencyCode, ipAddress, languageId, siteDomainUrl);

            ApplyChange(new PaymentTransactionCreated(id, orderCode, amountByCurrencyCode, paymentMethodId, createdDate, urlRedirect, ipAddress));
        }
示例#3
0
        public JsonResult ListResult(Guid id,
                                     int?skip, int?take, string sortField, string orderBy)
        {
            List <FeShoppingCartPage.Item> rows;
            List <ContentLanguage>         contentLangs;

            using (var db = new CoreEcommerceDbContext())
            {
                rows = db.ShoppingCartItems.Join(db.Products, ci => ci.ProductId, p => p.Id, (ci, p) => new { Ci = ci, P = p })
                       .Where(i => i.Ci.ShoppingCartId == id)
                       .Select(i => new FeShoppingCartPage.Item()
                {
                    ProductCode        = i.P.ProductCode,
                    ProductId          = i.P.Id,
                    Quantity           = i.Ci.Quantity,
                    TotalPrice         = i.Ci.TotalPrice,
                    UnitPrice          = i.Ci.UnitPrice,
                    ProductPromotionId = i.Ci.ProductPromotionId
                })
                       .ToList();
                var ids = rows.Select(i => i.ProductId).ToList();
                ids.AddRange(rows.Select(i => i.ProductPromotionId).ToList());
                contentLangs = db.ContentLanguages.Where(i => ids.Contains(i.Id)).ToList();
            }
            foreach (var item in rows)
            {
                item.Title                = contentLangs.GetValue(item.ProductId, "Title");
                item.UrlImage             = contentLangs.GetValue(item.ProductId, "UrlImage");
                item.SeoUrlFriendly       = contentLangs.GetValue(item.ProductId, "SeoUrlFriendly");
                item.PromotionDescription = contentLangs.GetValue(item.ProductPromotionId, "Description");
            }
            var total = rows.Count;

            return(Json(new { total, rows, success = true }, JsonRequestBehavior.AllowGet));
        }
        public static double CalculateDistance(Guid shoppingCartId, string address, double latitude, double longitude)
        {
            List <Distance>             distances   = new List <Distance>();
            ShoppingCartShippingAddress cartAddress = new ShoppingCartShippingAddress();

            cartAddress.Address          = address;
            cartAddress.AddressLatitude  = latitude;
            cartAddress.AddressLongitude = longitude;

            using (var db = new CoreEcommerceDbContext())
            {
                distances = db.ShoppingCartItems.Where(i => i.ShoppingCartId == shoppingCartId)
                            .Join(db.RelationShips, ci => ci.ProductId, r => r.FromId, (ci, r) => new { Ci = ci, R = r })
                            .Join(db.Suppliers, m => m.R.ToId, s => s.Id, (m, s) => new { S = s })
                            .Select(i => new Distance()
                {
                    SupplierLat = i.S.AddressLatitude,
                    SupplierLng = i.S.AddressLongitude
                }).ToList();
            }

            foreach (var ds in distances)
            {
                ds.CartLat      = cartAddress.AddressLatitude;
                ds.CartLng      = cartAddress.AddressLongitude;
                ds.DistanceInKm =
                    GeoExtensions.GetDistanceFromLatLonInKm(ds.CartLat, ds.CartLng, ds.SupplierLat, ds.SupplierLng);
            }
            if (distances.Count == 0)
            {
                return(0);
            }
            return(Math.Round(distances.Max(i => i.DistanceInKm), 2));
        }
        public ActionResult OrderListItem(string orderCode)
        {
            List <MonitorOrderItem> rows;
            List <ContentLanguage>  contentLangs;

            using (var db = new CoreEcommerceDbContext())
            {
                rows = db.ShoppingCartItems.Join(db.Products, ci => ci.ProductId, p => p.Id, (ci, p) => new { Ci = ci, P = p })
                       .Join(db.ShoppingCarts, m => m.Ci.ShoppingCartId, o => o.Id, (m, o) => new{ m.Ci, m.P, O = o })
                       .Where(m => m.O.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase))
                       .Select(i => new MonitorOrderItem()
                {
                    ProductCode = i.P.ProductCode,
                    ProductId   = i.P.Id,
                    Quantity    = i.Ci.Quantity
                })
                       .ToList();
                var ids = rows.Select(i => i.ProductId).ToList();
                contentLangs = db.ContentLanguages.Where(i => ids.Contains(i.Id)).ToList();
            }
            foreach (var item in rows)
            {
                item.Title    = contentLangs.GetValue(item.ProductId, "Title");
                item.UrlImage = contentLangs.GetValue(item.ProductId, "UrlImage");
            }
            //var total = rows.Count;

            return(View(rows));
        }
        public JsonResult QueryDr(string orderCode)
        {
            PaymentTransaction pt;
            PaymentMethod      pm;

            using (var db = new CoreEcommerceDbContext())
            {
                pt = db.PaymentTransactions
                     .SingleOrDefault(i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase));
                pm = db.PaymentMethods.SingleOrDefault(i => i.Id == pt.PaymentMethodId);
            }

            if (pt == null || pm == null)
            {
                return(Json(new { Ok = true, Data = new { Id = pt.Id }, Message = "Not found" }, JsonRequestBehavior.AllowGet));
            }

            var type = AssemblyExtesions.FindType(pm.AssemblyType);

            if (type == null)
            {
                throw new Exception("Can not load assembly " + pm.AssemblyType);
            }
            var p = Activator.CreateInstance(type) as IPaymentMethod;

            var result = p.QueryDr(pt.Id);

            return(Json(new
            {
                Ok = result == Enums.ShoppingCartPayStatus.PaymentSuccess,
                Data = new { Id = pt.Id, Status = result }
                ,
                Message = result.ToString()
            }, JsonRequestBehavior.AllowGet));
        }
示例#7
0
        public void UpdateSeo(string seokeywords, string seoDesscription, Guid languageId, string seoUrlFiendly = "")
        {
            var id = Guid.Parse(Id);

            if (string.IsNullOrEmpty(seoUrlFiendly))
            {
                List <ContentLanguage> contentLanguages;
                using (var db = new CoreEcommerceDbContext())
                {
                    contentLanguages = db.ContentLanguages.Where(i => i.Id == id).ToList();
                }
                var title = contentLanguages.GetValue(id, languageId, "Title");
                seoUrlFiendly = title.ToUrlSegment();
            }

            if (ExistedSeoUrlFiendly(seoUrlFiendly, id))
            {
                throw new Exception("Existed seo url friendly");
            }

            seoUrlFiendly = RefindSeoUrlFiendly(seoUrlFiendly, id);

            ApplyChange(new UrlFriendlyCreated(seoUrlFiendly, "Product", id, "Product", "Detail"));
            ApplyChange(new ContentLanguageUpdated(id, languageId, "SeoUrlFriendly", seoUrlFiendly, "Product"));

            ApplyChange(new ContentLanguageUpdated(id, languageId, "SeoKeywords", seokeywords, "Product"));
            ApplyChange(new ContentLanguageUpdated(id, languageId, "SeoDescription", seoDesscription, "Product"));
        }
示例#8
0
        private static List <Product> ResultNoKeywords(List <Guid> categoryIds, out List <ContentLanguage> contentLanguages,
                                                       Expression <Func <Product, bool> > productPredicate, int xskip, int xtake, out long total)
        {
            var isSearchWithCategory = categoryIds.Count > 0;

            using (var db = new CoreEcommerceDbContext())
            {
                var tempNoKeywords = db.Products.AsQueryable();

                if (isSearchWithCategory)
                {
                    tempNoKeywords = tempNoKeywords.Join(db.RelationShips, p => p.Id, rs => rs.ToId,
                                                         (p, rs) => new { P = p, Rs = rs })
                                     .Where(m => categoryIds.Contains(m.Rs.FromId)).Select(i => i.P).Distinct();
                }

                var queryable = tempNoKeywords.Where(productPredicate);
                total = queryable.LongCount();
                var resultNoKeywords = queryable
                                       .OrderBy(i => i.CreatedDate)
                                       .Skip(xskip)
                                       .Take(xtake)
                                       .ToList();

                var ids = resultNoKeywords.Select(i => i.Id).ToList();

                contentLanguages = db.ContentLanguages.Where(i => ids.Contains(i.Id)).ToList();

                return(resultNoKeywords);
            }
        }
示例#9
0
        public static long CalculateValue(Guid shoppingCartId, string voucherCode, long amount, Guid?userId)
        {
            VoucherCode   code;
            VoucherMethod method = null;

            using (var db = new CoreEcommerceDbContext())
            {
                code = db.VoucherCodes.SingleOrDefault(
                    i => i.Code.Equals(voucherCode, StringComparison.OrdinalIgnoreCase));
                if (code != null)
                {
                    method = db.VoucherMethods.SingleOrDefault(i => i.Id == code.VoucherMethodId);
                }
            }
            if (method == null || string.IsNullOrEmpty(method.AssemblyType))
            {
                return(0);
            }

            var type = AssemblyExtesions.FindType(method.AssemblyType);

            if (type == null)
            {
                throw new Exception("Can not load assembly " + method.AssemblyType);
            }

            var vm = Activator.CreateInstance(type) as IVoucherCodeMethod;

            return(vm.CalculateValue(shoppingCartId, amount, code, userId));
        }
示例#10
0
        public static string GenerateCode()
        {
            var counter = 0;
            var now     = DateTime.Now.ToString("yyMM");

            while (true)
            {
                if (counter > 1000)
                {
                    throw new Exception("Limited can not generate more");
                }

                var code = (now + StringExtensions.RandomString(5)).ToUpper();

                using (var db = new CoreEcommerceDbContext())
                {
                    var existed =
                        db.VoucherCodes.FirstOrDefault(i => i.Code.Equals(code, StringComparison.OrdinalIgnoreCase));
                    if (existed == null)
                    {
                        return(code);
                    }
                    else
                    {
                        counter++;
                        Thread.Sleep(1);
                    }
                }
            }
        }
        public static long ShippingCost(Guid shoppingCartId, Guid shippingMethodId, string address, double latitude, double longitude)
        {
            ShippingMethod methodInfo;

            using (var db = new CoreEcommerceDbContext())
            {
                methodInfo = db.ShippingMethods.SingleOrDefault(i => i.Id == shippingMethodId);
            }
            if (methodInfo == null || string.IsNullOrEmpty(methodInfo.AssemblyType))
            {
                return(0);
            }

            var type = AssemblyExtesions.FindType(methodInfo.AssemblyType);

            if (type == null)
            {
                throw new Exception("Can not load assembly " + methodInfo.AssemblyType);
            }

            var method = Activator.CreateInstance(type) as IShippingMethod;

            var result = method.CalculateCost(shoppingCartId, methodInfo, address, latitude, longitude);

            return(result);
        }
示例#12
0
 public void Handle(PaymentTransactionFailed e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.PaymentTransactions.SingleOrDefault(i => i.Id == e.Id);
         temp.Status = (short)Enums.ShoppingCartPayStatus.PaymentFail;
         db.SaveChanges();
     }
 }
示例#13
0
 public void Handle(ShoppingCartRemovedAllProduct e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCartItems.Where(i => i.ShoppingCartId == e.Id);
         db.ShoppingCartItems.RemoveRange(temp);
         db.SaveChanges();
     }
 }
示例#14
0
        public JsonResult ListAuditLog(string keywords,
                                       int?skip, int?take, string sortField, string orderBy)
        {
            var  xtake = 10;
            var  xskip = 0;
            long total = 0;

            if (skip != null)
            {
                xskip = skip.Value;
            }
            if (take != null)
            {
                xtake = take.Value;
            }
            if (string.IsNullOrEmpty(sortField))
            {
                sortField = nameof(FeAuditLog.CreatedDate);
            }
            if (string.IsNullOrEmpty(orderBy))
            {
                orderBy = "desc";
            }

            List <FeAuditLog> rows = new List <FeAuditLog>();

            Func <FeAuditLog, bool> predicate = m => true;

            if (!string.IsNullOrEmpty(keywords))
            {
                predicate = m => m.CommandType.Contains(keywords) || m.CommandData.Contains(keywords) ||
                            m.Username.Contains(keywords) || m.Email.Contains(keywords) || m.Phone.Contains(keywords);
            }

            using (var db = new CoreEcommerceDbContext())
            {
                var query = db.AuditLogs.Join(db.Users, a => a.UserId, u => u.Id, (a, u) => new { A = a, U = u })
                            .Select(m => new FeAuditLog()
                {
                    Id          = m.A.AlId,
                    CreatedDate = m.A.CreatedDate,
                    Username    = m.U.Username,
                    Phone       = m.U.Phone,
                    Email       = m.U.Email,
                    UserId      = m.U.Id,
                    CommandType = m.A.CommandType,
                    CommandData = m.A.CommandData
                }).Where(predicate);

                total = query.LongCount();

                rows = query.OrderByDescending(i => i.CreatedDate).Skip(xskip).Take(xtake).ToList();
            }

            return(Json(new { total, rows, success = true }, JsonRequestBehavior.AllowGet));
        }
示例#15
0
        public void Delete(Guid id)
        {
            using (var db = new CoreEcommerceDbContext())
            {
                var temp = db.Suppliers.SingleOrDefault(i => i.Id == id);
                db.Suppliers.Remove(temp);

                db.SaveChanges();
            }
        }
        public JsonResult ConfrimPrint(Guid orderId)
        {
            ShoppingCart cart;

            using (var db = new CoreEcommerceDbContext())
            {
                cart = db.ShoppingCarts.SingleOrDefault(i => i.Id == orderId);
            }
            MemoryMessageBuss.PushCommand(new PackAndPrintShoppingCart(orderId, cart.OrderCode, CurrentUserId, DateTime.Now));
            return(Json(new { Ok = true, Data = new { Id = orderId }, Message = "Success" }, JsonRequestBehavior.AllowGet));
        }
示例#17
0
        private bool ExistedSeoUrlFiendly(string seoUrlFiendly, Guid id)
        {
            using (var db = new CoreEcommerceDbContext())
            {
                var existedSeoUrl =
                    db.ContentLanguages.Any(i => i.Id != id &&
                                            i.ColumnValue.Equals(seoUrlFiendly, StringComparison.OrdinalIgnoreCase));

                return(existedSeoUrl);
            }
        }
        public ActionResult Detail(string orderCode)
        {
            ShoppingCart order;

            using (var db = new CoreEcommerceDbContext())
            {
                order = db.ShoppingCarts.SingleOrDefault(
                    i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase));
            }
            return(View(order));
        }
        public ActionResult Detail(Guid orderId)
        {
            ShoppingCart           cart;
            PaymentTransaction     payTrans;
            List <ContentLanguage> contentLanguages;
            var model = new FeOrderPaymentPage();

            using (var db = new CoreEcommerceDbContext())
            {
                cart = db.ShoppingCarts.SingleOrDefault(i => i.Id == orderId);

                var cartPaymentMethodId  = cart.PaymentMethodId;
                var cartShippingMethodId = cart.ShippingMethodId;

                model.Payment = db.PaymentMethods.Select(i => new FeShoppingCartCheckoutPage.FeIdAndDescription()
                {
                    Id = i.Id, Name = i.Name
                })
                                .SingleOrDefault(i => i.Id == cartPaymentMethodId) ?? new FeShoppingCartCheckoutPage.FeIdAndDescription();
                model.Shipping = db.ShippingMethods.Select(i => new FeShoppingCartCheckoutPage.FeIdAndDescription()
                {
                    Id = i.Id, Name = i.Name
                })
                                 .SingleOrDefault(i => i.Id == cartShippingMethodId) ?? new FeShoppingCartCheckoutPage.FeIdAndDescription();

                model.Address = db.ShoppingCartShippingAddresses
                                .Where(i => i.ShoppingCartId == cart.Id).OrderByDescending(i => i.CreatedDate).FirstOrDefault()
                                ?? new ShoppingCartShippingAddress();

                model.OrderPromotion = db.OrderPromotions.Join(db.ShoppingCarts, pp => pp.Id, sc => sc.OrderPromotionId,
                                                               (pp, sc) => new { Pp = pp, Sc = sc })
                                       .Select(m => new FeOrderPromotion()
                {
                    Id               = m.Pp.Id,
                    CreatedDate      = m.Pp.CreatedDate,
                    Actived          = m.Pp.Actived,
                    AmountToDiscount = m.Pp.AmountToDiscount,
                    DiscountAmount   = m.Pp.DiscountAmount,
                    FreeShip         = m.Pp.FreeShip,
                }).FirstOrDefault();
                model.OrderPromotion = model.OrderPromotion ?? new FeOrderPromotion();

                contentLanguages = db.ContentLanguages
                                   .Where(i => i.Id == cartPaymentMethodId || i.Id == cartShippingMethodId || i.Id == model.OrderPromotion.Id).ToList();
            }
            model.Order = cart;
            model.OrderPromotion.Description = contentLanguages.GetValue(model.OrderPromotion.Id, "Description");

            model.Shipping.Description       = contentLanguages.GetValue(model.Shipping.Id, "Description");
            model.Payment.Description        = contentLanguages.GetValue(model.Payment.Id, "Description");
            model.OrderPromotion.Description = contentLanguages.GetValue(model.OrderPromotion.Id, "Description");

            return(View(model));
        }
示例#20
0
        public JsonResult CheckVoucherCode(string voucherCode)
        {
            if (string.IsNullOrEmpty(voucherCode))
            {
                return(Json(new
                {
                    Ok = false,
                    Data = new { VoucherValue = 0, Description = "voucher code required" },
                    Message = "voucher code required"
                }, JsonRequestBehavior.AllowGet));
            }
            var id = GetShoppingCartId();

            var currentUserId = UserSessionContext.CurrentUserId();

            MemoryMessageBuss.PushCommand(new CheckVoucherCodeForShoppingCart(id, voucherCode, currentUserId));
            ShoppingCart           cart;
            string                 description = string.Empty;
            List <ContentLanguage> contentLanguages;

            using (var db = new CoreEcommerceDbContext())
            {
                cart = db.ShoppingCarts.SingleOrDefault(i => i.Id == id);
                var voucher =
                    db.VoucherCodes.SingleOrDefault(
                        i => i.Code.Equals(voucherCode, StringComparison.OrdinalIgnoreCase));
                if (voucher == null)
                {
                    return(Json(new
                    {
                        Ok = false,
                        Data = new
                        {
                            VoucherValue = 0,
                            Description = "voucher code was not exist"
                        },
                        Message = "voucher code was not exist"
                    }, JsonRequestBehavior.AllowGet));
                }
                contentLanguages = db.ContentLanguages.Where(i => i.Id == voucher.Id || i.Id == voucher.VoucherMethodId)
                                   .ToList();
            }
            description = string.Join("<br>", contentLanguages.Where(i => i.ColumnName.Equals("Description")).Select(i => i.ColumnValue).ToList());
            return(Json(new
            {
                Ok = true,
                Data = new
                {
                    VoucherValue = cart.VoucherValue,
                    Description = description
                },
                Message = "Success"
            }, JsonRequestBehavior.AllowGet));
        }
示例#21
0
 public void Handle(ProductPriceChanged e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.Products.SingleOrDefault(i => i.Id == e.Id);
         if (temp != null)
         {
             temp.Price = e.Price;
         }
         db.SaveChanges();
     }
 }
        public JsonResult ShipSuccess(string orderCode, string note)
        {
            ShoppingCart cart;

            using (var db = new CoreEcommerceDbContext())
            {
                cart = db.ShoppingCarts.SingleOrDefault(i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase));
            }

            MemoryMessageBuss.PushCommand(new UpdateShippingStatusForShoppingCart(cart.Id, Enums.ShoppingCartShipStatus.ShippingSuccess, note, CurrentUserId, DateTime.Now));
            return(Json(new { Ok = true, Data = new { Id = cart.Id }, Message = "Success" }, JsonRequestBehavior.AllowGet));
        }
示例#23
0
 public void Handle(VoucherCodeDeleted e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var vc = db.VoucherCodes.SingleOrDefault(i => i.Id == e.Id);
         if (vc != null)
         {
             db.VoucherCodes.Remove(vc);
             db.SaveChanges();
         }
     }
 }
示例#24
0
 public void Handle(ShoppingCartUpdatedShipStatus e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCarts.SingleOrDefault(i => i.Id == e.Id);
         if (temp != null)
         {
             temp.ShippingStatus = e.ShipStatus;
             db.SaveChanges();
         }
     }
 }
        public void Handle(PaymentTransactionFailed e)
        {
            ShoppingCart cart;

            using (var db = new CoreEcommerceDbContext())
            {
                var trans = db.PaymentTransactions.SingleOrDefault(i => i.Id == e.Id);
                cart = db.ShoppingCarts.SingleOrDefault(
                    i => i.OrderCode.Equals(trans.OrderCode, StringComparison.OrdinalIgnoreCase));
            }
            MemoryMessageBuss.PushCommand(new UpdatePaymentStatusForShoppingCart(cart.Id, Enums.ShoppingCartPayStatus.PaymentFail));
        }
示例#26
0
 public void Handle(ShoppingCartClosedOrder e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCarts.SingleOrDefault(i => i.Id == e.Id);
         if (temp != null)
         {
             temp.Status = (short)Enums.ShoppingCartStatus.OrderClosed;
             db.SaveChanges();
         }
     }
 }
示例#27
0
 public void Handle(ShoppingCartPromotionCalulatedForOrderShipping e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCarts.SingleOrDefault(i => i.Id == e.ShoppingCartId);
         if (temp != null)
         {
             temp.OrderPromotionId = e.OrderPromotionId;
             db.SaveChanges();
         }
     }
 }
示例#28
0
 public void Handle(ShoppingCartReceivingTimeUpdated e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCarts.SingleOrDefault(i => i.Id == e.Id);
         if (temp != null)
         {
             temp.ReceivingTime = e.ReceivingTime;
             db.SaveChanges();
         }
     }
 }
示例#29
0
 public void Handle(ProductBoughtByCustomer e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.Products.SingleOrDefault(i => i.Id == e.ProductId);
         if (temp != null)
         {
             temp.Quantity = e.Quantity;
         }
         db.SaveChanges();
     }
 }
示例#30
0
 public void Handle(ShoppingCartLabelPackedAndPrinted e)
 {
     using (var db = new CoreEcommerceDbContext())
     {
         var temp = db.ShoppingCarts.SingleOrDefault(i => i.Id == e.Id);
         if (temp != null)
         {
             temp.PackingStatus = (short)Enums.ShoppingCartPackingStatus.PackingDone;
             db.SaveChanges();
         }
     }
 }