public ActionResult PaymentSuccess(Shippingdetail shippingDetails) { int memberid = Convert.ToInt32(User.FindFirstValue(ClaimTypes.Sid)); IEnumerable <Tbl_Cart> carts = null; carts = Cart_repository.GetListByParameter(j => j.MemberId == memberid); foreach (var item in carts) { Tbl_ShippingDetails sd = new Tbl_ShippingDetails(); sd.ProductId = item.ProductId; sd.AmountPaid = prod_repository.GetByParameter(i => i.ProductId == item.ProductId).PriceSale; sd.MemberId = item.MemberId; sd.RecieverName = shippingDetails.RecieverName; sd.Mobile = shippingDetails.Mobile; sd.AddressLine = shippingDetails.Adress; sd.City = shippingDetails.City; sd.State = shippingDetails.State; sd.Country = shippingDetails.Country; sd.ZipCode = shippingDetails.ZipCode; sd.OrderId = Guid.NewGuid().ToString(); sd.PaymentType = shippingDetails.PaymentType; sd.OrderDate = shippingDetails.OrderDate; Shippingrepository.Insert(sd); Cart_repository.RemovebyWhereClause(i => i.MemberId == memberid && i.ProductId == item.ProductId); //prod_repository.UpdateByWhereClause(i => i.ProductId==item.ProductId, (j => j. = 3)); } return(RedirectToAction("Orders")); }
public ActionResult ShippingDetails(Tbl_ShippingDetails tbl, HttpPostedFileBase file) { if (ModelState.IsValid) { _unitOfWork.GetRepositoryInstance <Tbl_ShippingDetails>().Add(tbl); return(RedirectToAction("ShippingDetails")); } return(View(tbl)); }
/// <summary> /// Payment Success /// </summary> /// <param name="shippingDetails"></param> /// <returns></returns> public ActionResult PaymentSuccess(ShippingDetails shippingDetails) { Tbl_ShippingDetails sd = new Tbl_ShippingDetails(); sd.MemberId = memberId; sd.AddressLine = shippingDetails.Address; sd.City = shippingDetails.City; sd.State = shippingDetails.State; sd.Country = shippingDetails.Country; sd.ZipCode = shippingDetails.ZipCode; sd.OrderId = Guid.NewGuid().ToString(); sd.AmountPaid = shippingDetails.TotalPrice; sd.PaymentType = shippingDetails.PaymentType; _unitOfWork.GetRepositoryInstance <Tbl_ShippingDetails>().Add(sd); _unitOfWork.GetRepositoryInstance <Tbl_Cart>().UpdateByWhereClause(i => i.MemberId == memberId && i.CartStatusId == 1, (j => j.CartStatusId = 3)); _unitOfWork.SaveChanges(); if (!string.IsNullOrEmpty(Request["CartIds"])) { int[] cartIdsToUpdate = Request["CartIds"].Split(',').Select(Int32.Parse).ToArray(); _unitOfWork.GetRepositoryInstance <Tbl_Cart>().UpdateByWhereClause(i => cartIdsToUpdate.Contains(i.CartId), (j => j.ShippingDetailId = sd.ShippingDetailId)); _unitOfWork.SaveChanges(); } return(View(sd)); }
public ActionResult CreateOrder(CreateOrderViewModel orderViewModel) { if (orderViewModel != null && ModelState.IsValid) { dbMyOnlineShoppingEntities db = new dbMyOnlineShoppingEntities(); var mem = _unitOfWork.GetRepositoryInstance <Tbl_Members>().GetAllRecords(); var maxMemberId = 0; foreach (var item in mem) { if (item.MemberId > maxMemberId) { maxMemberId = item.MemberId + 1; } } Tbl_Members person = new Tbl_Members(); person.FristName = orderViewModel.Member.FristName; person.LastName = orderViewModel.Member.LastName; person.MemberId = maxMemberId; person.CreatedOn = DateTime.Now; person.EmailId = orderViewModel.Member.EmailId; person.IsActive = true; person.IsDelete = false; person.Password = "******"; person.ModifiedOn = DateTime.Now; _unitOfWork.GetRepositoryInstance <Tbl_Members>().Add(person); var shippingDet = _unitOfWork.GetRepositoryInstance <Tbl_ShippingDetails>().GetAllRecords(); var maxShipId = 0; foreach (var item in shippingDet) { if (item.ShippingDetailId > maxShipId) { maxShipId = item.ShippingDetailId + 1; } } var orders = _unitOfWork.GetRepositoryInstance <Tbl_Orders>().GetAllRecords(); var maxOrderId = 0; foreach (var item in orders) { if (item.OrderId > maxOrderId) { maxOrderId = item.OrderId + 1; } } Tbl_ShippingDetails shippingDetails = new Tbl_ShippingDetails(); shippingDetails.ShippingDetailId = maxShipId; shippingDetails.Adress = orderViewModel.ShippingDetails.Adress; shippingDetails.City = orderViewModel.ShippingDetails.City; shippingDetails.ZipCode = orderViewModel.ShippingDetails.ZipCode; shippingDetails.Country = orderViewModel.ShippingDetails.Country; shippingDetails.State = orderViewModel.ShippingDetails.State; shippingDetails.MemberId = maxMemberId; string AmountPaid = Session["SesTotal"].ToString(); shippingDetails.AmountPaid = Decimal.Parse(AmountPaid); orderViewModel.ShippingDetails.AmountPaid = shippingDetails.AmountPaid; shippingDetails.PaymentType = "Cash"; _unitOfWork.GetRepositoryInstance <Tbl_ShippingDetails>().Add(shippingDetails); Tbl_Orders order = new Tbl_Orders(); order.MemberId = person.MemberId; order.OrderStatus = "First Step"; order.ShippingDetailsId = shippingDetails.ShippingDetailId; order.OrderId = maxOrderId; _unitOfWork.GetRepositoryInstance <Tbl_Orders>().Add(order); List <Item> cart = (List <Item>)Session["cart"]; foreach (var item in cart) { if (item.Quantity > 0) { Tbl_OrderProducts orderProducts = new Tbl_OrderProducts(); orderProducts.ProductId = item.Product.ProductId; orderProducts.Quantity = item.Quantity; orderProducts.OrderId = order.OrderId; _unitOfWork.GetRepositoryInstance <Tbl_OrderProducts>().Add(orderProducts); } } //The string with the products that will be sent to the customer string products = "------------------------------------------------------------------------------------------\n" + "|Qty.x Price| Name \n" + "------------------------------------------------------------------------------------------\n" ; foreach (Item item in (List <Item>)Session["cart"]) { int lineTotal = Convert.ToInt32(item.Quantity * item.Product.Price); string product = "| " + item.Quantity + " x " + item.Product.Price + " | " + item.Product.ProductName + ":\n " + "------------------------------------------------------------------------------------------\n"; products = string.Concat(products, product); } Gmail.SendEmail(orderViewModel, products); return(RedirectToAction("PayOrder", "Home")); } //if the Model was not valid render again the page return(RedirectToAction("CreateOrder", "Home")); }