コード例 #1
0
        public ActionResult CreatEysal(Senef Seneflist)
        {
            int clientId = 0;
            decimal total = 0;
            List<Senef> Temp = new List<Senef>();
            Senef tempee = new Senef();

            Senef Senoof = db.Senef.Where(s => s.FirstName.Equals(Seneflist.FirstName)).FirstOrDefault();
            if (Senoof == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            }
            tempee.SenefId = Senoof.SenefId;
            tempee.FirstName = Seneflist.BillType;
            tempee.Quantity = Seneflist.Quantity;
            tempee.Price = Senoof.Price;
            total = Seneflist.Quantity;
          
            Temp.Add(tempee);
            clientId = Seneflist.ClientID;


            if (clientId == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            var client = db.Client.Find(clientId);
            if (client == null)
            {
                return HttpNotFound();
            }


            var order = new BillClient();
            TryUpdateModel(order);

            try
            {

                order.MoneyType =Seneflist.MoneyType;
                order.cashtype = "له / دائن";
                order.BillType = "ايصال";
                order.FirstName = client.FirstName;
                order.LastName = client.LastName;

                order.Phone = client.Phone;


                order.ClientId = client.ClientId;
                order.OrderDate = DateTime.Now.AddHours(10);

                order.Total = total;
                ////Save Order
                db.BillClient.Add(order);
                db.SaveChanges();
                ////Process the order


                int idds = CreateOrder(Temp, order);

                return RedirectToAction("Index", "OrderDetails", new { Id = order.BillClientId, ClientId = client.ClientId });

            }
            catch
            {
                //Invalid - redisplay with errors
                return View(order);
            }
        }
コード例 #2
0
        public ActionResult Create(ICollection<Senef> Seneflist)
        {
        
         
            int clientId = 0;
        
            bool checke = false;
            decimal total = 0;
            List<Senef> Temp = new List<Senef>();
            foreach (Senef se in Seneflist)
            {
           
                Senef tempee = new Senef();
                checke = se.needthis;
                if (checke == true)
                {
                    Senef Senoof = db.Senef.Where(s => s.FirstName.Equals(se.FirstName)).FirstOrDefault();
                    if (Senoof == null)
                    {
                        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

                    }
                    tempee.SenefId = Senoof.SenefId;
                    tempee.FirstName = se.FirstName;
                    tempee.Quantity = se.Quantity;
                    if (se.ChangePrice == true)
                    {
                        tempee.Price = se.NewPrice;
                        total = total + (se.NewPrice * se.Quantity);
                    }
                    else
                    {


                        tempee.Price = Senoof.Price;
                        total = total + (Senoof.Price * se.Quantity);
                    }
                    
                
                    Temp.Add(tempee);
                    clientId = se.ClientID;

                }

            }


            if (clientId == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            var client = db.Client.Find(clientId);
            if (client == null)
            {
                return HttpNotFound();
            }


            var order = new BillClient();
            TryUpdateModel(order);

            try
            {

                order.MoneyType = Seneflist.FirstOrDefault().MoneyType;
                order.cashtype = Seneflist.FirstOrDefault().cashtype;
                order.BillType = Seneflist.FirstOrDefault().BillType;
                order.FirstName = client.FirstName;
                order.LastName = client.LastName;

                order.Phone = client.Phone;
       

                order.ClientId = client.ClientId;
                order.OrderDate = DateTime.Now.AddHours(10);

                order.Total = total;
                ////Save Order
                db.BillClient.Add(order);
                db.SaveChanges();
                ////Process the order


                int idds = CreateOrder(Temp, order);

                return RedirectToAction("Index", "OrderDetails", new { Id = order.BillClientId, ClientId=client.ClientId });

            }
            catch
            {
                //Invalid - redisplay with errors
                return View(order);
            }








            //if (ModelState.IsValid)
            //{

            //    db.BillClient.Add(billClient);
            //    db.SaveChanges();
            //    return RedirectToAction("Index");
            //}

            //ViewBag.ClientId = new SelectList(db.Client, "ClientId", "Title", billClient.ClientId);
            //return View();
        }
コード例 #3
0
        private int CreateOrder(List<Senef> Temp, BillClient order)
        {


            ApplicationDbContext storeDB = new ApplicationDbContext();
            decimal orderTotal = 0;


            //  var cartItems = GetCartItems();
            // Iterate over the items in the cart, 
            // adding the order details for each
            foreach (var item in Temp)
            {



                var orderDetail = new OrderDetails
                {


                    ProductId = item.SenefId,
                    productName = item.FirstName,
                    BillClientId = order.BillClientId,
                    UnitPrice = item.Price,
                    Quantity = item.Quantity,
                    Total = item.Quantity * item.Price,
                    OrderDate = DateTime.Now.AddHours(10)




                };
                // Set the order total of the shopping cart
                orderTotal += (item.Quantity * item.Price);


                storeDB.OrderDetails.Add(orderDetail);

            }
            // Set the order's total to the orderTotal count
            order.Total = orderTotal;

            // Save the order
            storeDB.SaveChanges();

            // Return the OrderId as the confirmation number
            return order.BillClientId;

        }