Beispiel #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Quantity,UnitaryPrice,TotalPrice,OrderId,InstrumentId")] LineOrder lineOrder)
        {
            if (id != lineOrder.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(lineOrder);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!LineOrderExists(lineOrder.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["InstrumentId"] = new SelectList(_context.Instrument, "Id", "Brand", lineOrder.InstrumentId);
            ViewData["OrderId"]      = new SelectList(_context.Order, "Id", "State", lineOrder.OrderId);
            return(View(lineOrder));
        }
Beispiel #2
0
        public ActionResult quantityBy1(int?id, int operation)
        {
            ISession   session    = _signInManager.Context.Session;
            Order      cartOrder  = retrieveCart(session);
            Instrument instrument = _context.Instrument.Find(id);

            //LineOrder lineOr = GetLineOrder((int)id,cartOrder); //lineOr NULL
            LineOrder lineOr = _context.LineOrder.Find(id);


            if (operation < 0)
            {
                lineOr.Quantity--;
            }
            else
            {
                lineOr.Quantity++;
            }

            _context.LineOrder.Update(lineOr);
            _context.SaveChanges();

            int nLineOrders = countCartLines(session);

            if (nLineOrders == -1)
            {
                return(StatusCode(400));
            }
            else
            {
                updateOrder(nLineOrders);//$ FULL-SPAGUETTI
                return(StatusCode(200, nLineOrders));
            }
        }
Beispiel #3
0
        public ActionResult deleteLine(int?id)
        {
            if (id == null)
            {
                return(StatusCode(400)); //bad request
            }
            LineOrder linea = _context.LineOrder.Find(id);

            if (linea == null)
            {
                return(StatusCode(404)); //not found
            }
            //return View(linea);

            //tmp until SureDelete View Created:

            _context.LineOrder.Remove(linea);
            _context.SaveChanges();

            ISession session     = _signInManager.Context.Session;
            int      nLineOrders = countCartLines(session);

            //return RedirectToAction("Index","Cart");

            if (nLineOrders == -1)
            {
                return(StatusCode(400));
            }
            else
            {
                updateOrder(nLineOrders);//$ FULL-SPAGUETTI
                return(StatusCode(200, nLineOrders));
                //return RedirectToAction("Index","Cart");
            }
        }
Beispiel #4
0
        public ActionResult deleteLinePost(int?id)
        {
            LineOrder linea = _context.LineOrder.Find(id);

            _context.LineOrder.Remove(linea);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        public async Task <IActionResult> Create([Bind("Id,Name,Quantity,UnitaryPrice,TotalPrice,OrderId,InstrumentId")] LineOrder lineOrder)
        {
            if (ModelState.IsValid)
            {
                _context.Add(lineOrder);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["InstrumentId"] = new SelectList(_context.Instrument, "Id", "Brand", lineOrder.InstrumentId);
            ViewData["OrderId"]      = new SelectList(_context.Order, "Id", "State", lineOrder.OrderId);
            return(View(lineOrder));
        }
Beispiel #6
0
        public void insertAttribsIds(string attribsValues, LineOrder line) //attribsValues input "Rojo,Madera,Set Puas"
        {
            //attribsValues to AttribsId comma separated
            string attribsIds = "";

            string[] attsValues = attribsValues.Split(',');

            foreach (var value in attsValues)
            {
                string attId = _context.Attribut.Where(a => a.Value == value).FirstOrDefault().Id.ToString();
                attribsIds += attId + ",";
            }
            attribsIds = attribsIds.Remove(attribsIds.Length - 1); //deleting last ','

            //set line.Attribs = attribsId
            line.AtributsId = attribsIds; //Attributes Id's comma separated for lineOrder
        }
        /// <summary>
        /// Método para insertar una orden a la base de datos
        /// </summary>
        /// <param name="lineOrderToAdd"></param>
        /// <returns> confirma la insercción con un boolean</returns>
        public Boolean insertLineOrder(LineOrder lineOrderToAdd)
        {
            string query = "CALL InsertarLineaOrden(@P0,@P1,@P2)";

            MySqlConnection conection = new MySqlConnection(connectionString);

            using (MySqlCommand command = new MySqlCommand(query, conection))
            {
                command.Parameters.AddWithValue("@P0", lineOrderToAdd.quantity);
                command.Parameters.AddWithValue("@P1", lineOrderToAdd.orderId);
                command.Parameters.AddWithValue("@P2", lineOrderToAdd.productId);



                conection.Open();
                command.ExecuteNonQuery();
                conection.Close();
                return(true);
            }
        }
        /// <summary>
        /// El evento que inserta la orden a la base de datos y tambien cada línea de orden de la factura
        /// </summary>
        /// <returns>Retorna un boolean con la confirmación de que se agregó</returns>
        public Boolean addOrderAndLineOrders()
        {
            if (validationForm() == true)
            {
                if (GridView1.Rows.Count == 0)
                {
                    StringBuilder sbMensaje = new StringBuilder();
                    sbMensaje.Append("<script type='text/javascript'>");
                    sbMensaje.AppendFormat("toastr.warning('Debe insertar productos a la orden para enviarla');");
                    sbMensaje.Append("</script>");
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "mensaje", sbMensaje.ToString());
                }
                else
                {
                    orderList = order.lastOrder();
                    int nextOrder = orderList + 1;


                    Order orderObject = new Order();
                    orderObject.orderID = nextOrder;
                    orderObject.partyId = Convert.ToInt32(Session["ID"]);

                    orderObject.orderType = (Char)Session["TypeOrder"];
                    orderObject.estadeId  = 1;
                    if (txtClientName.Text.Trim() == "")
                    {
                        orderObject.nameClient = "Desconocido";
                    }
                    else
                    {
                        orderObject.nameClient = txtClientName.Text.Trim();
                    }
                    if (Session["TypeOrder"].Equals('2'))
                    {
                        orderObject.address = tbDirection.Text.Trim();
                        orderObject.phone   = Convert.ToInt32(tbPhone.Text.Trim());
                    }
                    else
                    {
                        if (Session["TypeOrder"].Equals('1'))
                        {
                            orderObject.tableNumber = txtNumTable.Text.Trim();
                            orderObject.phone       = 0;
                            orderObject.address     = "";
                        }
                    }

                    orderObject.additional = txtDescription.Text.Trim();
                    order.insertOrder(orderObject);


                    for (int i = 0; i < GridView1.Rows.Count; i++)
                    {
                        LineOrder lineOrder = new LineOrder();
                        lineOrder.orderId   = nextOrder;
                        lineOrder.productId = Convert.ToInt32(GridView1.Rows[i].Cells[1].Text.Trim());
                        lineOrder.quantity  = System.Convert.ToInt32(((TextBox)this.GridView1.Rows[i].Cells[4].FindControl("TextBox1")).Text.Trim());

                        order.insertLineOders(lineOrder);
                    }

                    return(true);
                }
            }

            return(false);
        }
Beispiel #9
0
        public ActionResult addToCart(int id, string attribsValues = null)
        {
            ISession session = _signInManager.Context.Session;
            //OPTIMIZA Y TESTEA ESTA SHIT DE CODIGO !!
            Order cartOrder = retrieveCart(session);

            // if(session.GetInt32("cartId") == null)
            // {
            //     cartOrder = retrieveCart(session);
            // }

            Instrument instrument = _context.Instrument.Find(id);

            LineOrder lineOr = GetLineOrder(id, cartOrder); //lineOr NULL

            try
            {
                if (lineOr != null && instrument == lineOr.Instrument) //lineOr.Instrument NULL
                {
                    lineOr.Quantity++;
                    //UPDATE LINE ORDER ON DB
                    _context.LineOrder.Update(lineOr);
                    _context.SaveChanges();
                }
                else
                {
                    lineOr = new LineOrder {
                        Order        = cartOrder,
                        OrderId      = (int)session.GetInt32("cartId"),
                        Instrument   = instrument,
                        InstrumentId = instrument.Id,
                        Name         = instrument.Name,
                        Quantity     = 1,
                        UnitaryPrice = instrument.Price,
                        TotalPrice   = instrument.Price
                    };

                    //Adding attribs to LineOrder
                    if (String.IsNullOrEmpty(attribsValues)) //Attribs passed
                    {                                        //Default Attribs
                        attribsValues = getDefValuesEachType(lineOr.InstrumentId);
                    }

                    insertAttribsIds(attribsValues, lineOr);

                    _context.LineOrder.Add(lineOr);
                    _context.SaveChanges();
                }
            }
            catch (System.Exception) { throw; }


            int nLineOrders = countCartLines(session);

            //return RedirectToAction("Index","Cart");

            if (nLineOrders == -1)
            {
                return(StatusCode(400));
            }
            else
            {
                updateOrder(nLineOrders);//$ FULL-SPAGUETTI
                return(StatusCode(200, nLineOrders));
            }
        }
 /// <summary>
 /// Call to insertOrder in the Data
 /// </summary>
 /// <param name="lineOrderToAdd"> Object</param>
 /// <returns> Boolean </returns>
 public bool insertLineOders(LineOrder lineOrderToAdd)
 {
     return(orderInData.insertLineOrder(lineOrderToAdd));
 }