public bool Add(OrderModifyModel entity) { using (var repository = _sourceFactory.CreateRepository <Order, int>()) { return(repository.Add(new Order { OrderDate = entity.OrderDate, OrderNumber = entity.OrderNumber, OrderAmount = entity.OrderAmount, OrderTypeId = entity.OrderTypeId, UserId = entity.UserId })); }; }
private OrderModifyModel CreateOrderForUser(int user_id, Cart cart) { OrderModifyModel newOrder = new OrderModifyModel (DateTime.Now.Date, GenerateOrderNumber(DateTime.Now.Date), user_id , 1, cart.Lines.Sum(s => s.Quantity * s.Product.Price)); newOrder.OrderDetail = cart.Lines.Select(line => new OrderDetailModifyModel( line.Product.Id, line.Quantity, line.Product.Price, line.Quantity * line.Product.Price)).ToList(); return(newOrder); }
public ViewResult Checkout(Cart cart, UserViewModel user) { UserViewModel addOrChangeUser = null; OrderModifyModel newOrder = null; if (HttpContext.User.Identity.IsAuthenticated) { addOrChangeUser = _userViewService.ViewAll().FirstOrDefault(c => c.UserEmail == HttpContext.User.Identity.Name); newOrder = CreateOrderForUser(addOrChangeUser.Id, cart); } else { if (ModelState.IsValid) { // check if user exist addOrChangeUser = _userViewService.ViewAll().FirstOrDefault(c => c.UserEmail == user.UserEmail); if (addOrChangeUser != null) { //if user found update adress _userModifyService.Update (addOrChangeUser.Id, new UserModifyModel(user.UserEmail, user.UserPassword, user.UserName, user.UserCountry, user.UserAddress, user.UserRoleId) ); } else { // if user not exist add new user user.UserRoleId = 3; _userModifyService.Add(new UserModifyModel(user.UserEmail, user.UserPassword, user.UserName, user.UserCountry, user.UserAddress, user.UserRoleId)); addOrChangeUser = _userViewService.ViewAll().FirstOrDefault(c => c.UserEmail == user.UserEmail); } newOrder = CreateOrderForUser(addOrChangeUser.Id, cart); } } if (HttpContext.User.Identity.IsAuthenticated || ModelState.IsValid) { _orderModifyService.Add(newOrder); //addOrChangeUser newOrder.User = new UserModifyModel(addOrChangeUser.UserEmail, addOrChangeUser.UserPassword, addOrChangeUser.UserName, addOrChangeUser.UserCountry, addOrChangeUser.UserAddress, addOrChangeUser.UserRoleId) ?? new UserModifyModel(); cart.Clear(); } return(View(newOrder)); }
public bool Update(int id, OrderModifyModel entity) { using (var repository = _sourceFactory.CreateRepository <Order, int>()) { var order = repository.GetSingle(id); if (order == null) { throw new NotFoundException(); } order.OrderDate = entity.OrderDate; order.OrderNumber = entity.OrderNumber; order.OrderAmount = entity.OrderAmount; order.OrderTypeId = entity.OrderTypeId; order.UserId = entity.UserId; return(repository.Update(order)); } }