예제 #1
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (_listaP.Count == 0)
            {
                MessageBox.Show("Errore, non hai inserito prodotti.");
                return;
            }
            if (cbxCliente.SelectedItem == null || cbxPagamento.SelectedItem == null)
            {
                MessageBox.Show("Dati mancanti.");
                return;
            }
            Ordine o = new Ordine(1, "", (Cliente)cbxCliente.SelectedItem, dtpDate.Value,
                                  (TipiPagamento)cbxPagamento.SelectedItem, _listaP);
            int res = c.NewOrdine(o);

            if (res != 0)
            {
                MessageBox.Show("Ordine aggiunto!");
                cbxCliente.SelectedIndex   = 0;
                dtpDate.Value              = DateTime.Now;
                cbxPagamento.SelectedIndex = 0;
                _listaP      = new Dictionary <Prodotto, int>();
                txtShow.Text = "";
            }
            else
            {
                MessageBox.Show("Errore, dati non validi.");
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,ClienteId,Data,Mod_pagamento")] Ordine ordine)
        {
            if (id != ordine.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ordine);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OrdineExists(ordine.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ClienteId"] = new SelectList(_context.Clienti, "Id", "Cognome", ordine.ClienteId);
            return(View(ordine));
        }
예제 #3
0
        public int DelOrdine(Ordine p)
        {
            int x = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(db.ConnectionString))
                {
                    connection.Open();
                    string sql2 = "delete from DettaglioOrdine where IdOrdine = @id";
                    using (SqlCommand command2 = new SqlCommand(sql2, connection))
                    {
                        command2.Parameters.Add("@id", SqlDbType.Int).Value = p.Id;
                        command2.ExecuteNonQuery();
                    }
                    string sql = "delete from Ordine where Id = @id";
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        command.Parameters.Add("@id", SqlDbType.Int).Value = p.Id;
                        x = command.ExecuteNonQuery();
                    }
                }
            }
            catch (SqlException)
            {
            }
            return(x);
        }
예제 #4
0
        public int AddNew(Ordine O)
        {
            DbEntity db = new DbEntity();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = String.Format(@"INSERT Ordini
                                            (
                                                data,
                                                fk_utente
                                            )
                                            VALUES
                                            (
                                                GETDATE(),
                                                {0}
                                            );
                                            SELECT SCOPE_IDENTITY();", O.UtenteID);
            int insertedID = db.eseguiInsertIDreturn(cmd);

            foreach (Lavorazione L in O.Lavorazioni)
            {
                L.OrdineID = insertedID;
                new daoLavorazioni().AddNew(L);
            }

            return(insertedID);
        }
예제 #5
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(txtId.Text, out id))
            {
                MessageBox.Show("Errore, id non valido.");
                return;
            }
            Ordine order = c.SearchOrdinebyId(id);

            if (order == null)
            {
                MessageBox.Show("Dato non trovato");
                return;
            }
            else
            {
                txtCodOrdine.Text         = order.CodiceOrdine;
                cbxCliente.SelectedItem   = order.Cliente;
                dtpDate.Value             = order.Data;
                cbxPagamento.SelectedItem = order.TipoPagamento;
                _listaP       = order.ListaProdotti;
                textBox1.Text = "";
                foreach (KeyValuePair <Prodotto, int> k in _listaP)
                {
                    textBox1.Text += k.Key + "Quantità: " + k.Value + "\r\n";
                }
                btnSend.Enabled = true;
            }
        }
예제 #6
0
        public Ordine GetByLavorazione(int IDLav)
        {
            DbEntity db = new DbEntity();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = String.Format(@"SELECT Ordini.*
                                        FROM Ordini INNER JOIN Lavorazioni ON Lavorazioni.fkordine = Ordini.idordine
                                        WHERE idlavorazione = {0}", IDLav);

            DataTable dt = db.eseguiQuery(cmd);

            Ordine newOrd = null;

            if (dt.Rows.Count > 0)
            {
                newOrd = new Ordine();

                newOrd.ID = (int)dt.Rows[0]["idordine"];
                newOrd.DataInserimento = (DateTime)dt.Rows[0]["data"]; //probabile conversione di tipo necessaria
                                                                       //DateTime.TryParse(dr[""]);
                newOrd.UtenteID = (int)dt.Rows[0]["fk_utente"];

                newOrd.Lavorazioni = new daoLavorazioni().GetByOrdineID(newOrd.ID);
            }
            return(newOrd);
        }
예제 #7
0
        public void DrawProdotto(Ordine O)
        {
            pnl_tool.Visible = true;

            if (O != null)
            {
                Lavorazione Materiale = O.Lavorazioni.Find(L => L.Tipo.Descrizione == "materiale");
                Lavorazione Foro      = O.Lavorazioni.Find(L => L.Tipo.Descrizione == "foratura");
                Lavorazione Colore    = O.Lavorazioni.Find(L => L.Tipo.Descrizione == "colore");
                Lavorazione Etichetta = O.Lavorazioni.Find(L => L.Tipo.Descrizione == "etichettatura");

                //DRAWING CURRENT TOOL
                img_foro.CssClass       = Foro.Opzione == "piccolo" ? "foro-5" : "foro-8";
                lbl_etichetta.InnerText = Etichetta.Opzione;
                if (Colore.Opzione == "rosso")
                {
                    inserto.Style.Add("fill", "#cc0000");
                }
                else
                {
                    inserto.Style.Add("fill", "#D9B52B");
                }
                manico.Style.Add("fill", "url(#" + Materiale.Opzione + ")");
            }
        }
예제 #8
0
        public List <Ordine> GetAllOrdiniByUtente(int IDUtente)
        {
            DbEntity db = new DbEntity();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = String.Format(@"SELECT Ordini.*
                                            FROM Ordini WHERE fk_utente = {0}", IDUtente);

            DataTable dt = db.eseguiQuery(cmd);

            List <Ordine> ordini = null;

            if (dt.Rows.Count > 0)
            {
                ordini = new List <Ordine>();
                foreach (DataRow dr in dt.Rows)
                {
                    Ordine newOrd = new Ordine();

                    newOrd.ID = (int)dr["idordine"];
                    newOrd.DataInserimento = (DateTime)dr["data"]; //probabile conversione di tipo necessaria
                                                                   //DateTime.TryParse(dr[""]);
                    newOrd.UtenteID = (int)dr["fk_utente"];

                    newOrd.Lavorazioni = new daoLavorazioni().GetByOrdineID(newOrd.ID);
                    ordini.Add(newOrd);
                }
            }
            return(ordini);
        }
예제 #9
0
        public Ordine GetOrdine(int ID)
        {
            DbEntity db = new DbEntity();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = String.Format(@"SELECT Ordini.*
                                            FROM Ordini 
                                            WHERE Ordini.idordine = {0}", ID);

            DataTable dt = db.eseguiQuery(cmd);

            Ordine newOrd = null;

            if (dt.Rows.Count == 1)
            {
                newOrd = new Ordine();

                newOrd.ID = (int)dt.Rows[0]["idordine"];
                newOrd.DataInserimento = (DateTime)dt.Rows[0]["data"]; //probabile conversione di tipo necessaria

                newOrd.Lavorazioni = new daoLavorazioni().GetByOrdineID(newOrd.ID);
            }

            return(newOrd);
        }
        public IHttpActionResult GetOrdine(int id)
        {
            log.Debug($"recupero ordine num {id}");
            Ordine ordine = db.Ordini.Find(id);

            if (ordine == null)
            {
                return(NotFound());
            }

            return(Ok(ordine));
        }
예제 #11
0
        protected void btn_ViewOrdine_Click(object sender, EventArgs e)
        {
            Button btn      = (Button)sender;
            int    IDordine = Convert.ToInt32(btn.Attributes["id_ordine"]);

            Ordine Ord = Ordini.Find(O => O.ID == IDordine);

            if (Ord != null)
            {
                DrawDetails(Ord);
            }
        }
예제 #12
0
        public List <Ordine> GetOrdiniByUserID(int uid)
        {
            SqlConnection conn = new SqlConnection(conn_string);

            conn.Open();

            SqlCommand cmd1 = new SqlCommand("GetOrdini", conn);

            cmd1.CommandType = CommandType.StoredProcedure;
            cmd1.Parameters.AddWithValue("@uid", uid);

            DataTable      dt1 = new DataTable();
            SqlDataAdapter da1 = new SqlDataAdapter(cmd1);

            da1.Fill(dt1);

            conn.Close();

            List <Ordine> ordini = new List <Ordine>();

            foreach (DataRow dr in dt1.Rows)
            {
                Ordine ordine = ordini.FirstOrDefault((ord) => ord.ID == (int)dr["IDOrdine"]);
                if (ordine == null)
                {
                    ordine = new Ordine
                    {
                        ID    = (int)dr["IDOrdine"],
                        Data  = DateTime.Parse(dr["Data"].ToString()),
                        Stato = dr["Stato"].ToString()
                    };

                    ordini.Add(ordine);
                }

                ordine.Items.Add(new ItemCarrello
                {
                    ID       = (int)dr["IDItemOrdine"],
                    Quantita = (int)dr["Quantita"],
                    Prezzo   = (decimal)dr["Prezzo"],
                    Corso    = new Corso
                    {
                        ID          = (int)dr["IDCorso"],
                        Titolo      = (string)dr["Titolo"],
                        Autore      = (string)dr["Autore"],
                        Descrizione = (string)dr["Descrizione"],
                        Immagine    = (string)dr["Immagine"],
                    }
                });
            }

            return(ordini);
        }
예제 #13
0
        /// Il parametro Param può avere i seguenti valori
        /// 0 -> Tutte le lavorazioni di quel tipo
        /// 1 -> Lavorazioni da iniziare
        /// 2 -> Lavorazioni da terminare, quindi sia iniziate che non
        /// 3 -> Lavorazioni terminate
        public List <Ordine> GetByLavorazione(string TipoLavorazione, int Param)
        {
            DbEntity db = new DbEntity();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandType = CommandType.Text;

            string query = @"SELECT Ordini.*
                         FROM Ordini 
                         INNER JOIN Lavorazioni ON Ordini.idordine = Lavorazioni.fkordine
                         INNER JOIN OpzioniLavorazione ON OpzioniLavorazione.idopz = Lavorazioni.fk_opzione
                         INNER JOIN TipoLavorazione ON TipoLavorazione.idtipolav = OpzioniLavorazione.fk_idtipolavorazione ";

            if (Param == 0)
            {
                query += String.Format("WHERE TipoLavorazione.descrizione = '{0}'", TipoLavorazione);
            }
            if (Param == 1)
            {
                query += String.Format("WHERE TipoLavorazione.descrizione = '{0}' AND inizio = ''", TipoLavorazione);
            }
            if (Param == 2)
            {
                query += String.Format("WHERE TipoLavorazione.descrizione = '{0}' AND fine = ''", TipoLavorazione);
            }
            if (Param == 3)
            {
                query += String.Format("WHERE TipoLavorazione.descrizione = '{0}' AND fine != ''", TipoLavorazione);
            }

            cmd.CommandText = query;

            DataTable     dt     = db.eseguiQuery(cmd);
            List <Ordine> Ordini = null;

            if (dt.Rows.Count > 0)
            {
                Ordini = new List <Ordine>();
                foreach (DataRow dr in dt.Rows)
                {
                    Ordine Ord = new Ordine();
                    Ord.ID = (int)dr["idordine"];
                    Ord.DataInserimento = (DateTime)dr["data"];
                    Ord.Lavorazioni     = new daoLavorazioni().GetByOrdineID(Ord.ID);

                    Ordini.Add(Ord);
                }
            }

            return(Ordini);
        }
        public async Task <IActionResult> Create([Bind("Id,ClienteId,Data,Mod_pagamento")] Ordine ordine)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ordine);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            //var nome_cognome = $"{ordine.Cliente.Nome}_{ordine.Cliente.Nome}";
            ViewData["ClienteId"] = new SelectList(_context.Clienti, "Id", "NomeCognome", ordine.ClienteId);
            return(View(ordine));
        }
예제 #15
0
        public List <Ordine> GetAllOrdiniCompleto()
        {
            Ordine        Or      = new Ordine();
            Lavorazione   Lav     = new Lavorazione();
            List <Ordine> listaOr = new List <Ordine>();

            DataTable dt     = new DataTable();
            DataTable tempDT = new DataTable();

            DbEntity   db  = new DbEntity();
            SqlCommand cmd = new SqlCommand();

            List <int> oID = new List <int>();

            cmd.CommandType = CommandType.Text;

            cmd.CommandText = "select * from ordini";



            dt = db.eseguiQuery(cmd);

            foreach (DataRow row in dt.Rows)
            {
                Or    = new Ordine();
                Or.ID = (int)row["idordine"];
                Or.DataInserimento = (DateTime)row["data"];
                Or.UtenteID        = (int)row["fk_utente"];

                cmd.CommandText = string.Format(@"select ordini.idordine, ordini.data, lavorazioni.idlavorazione, lavorazioni.stato, opzionilavorazione.opzione 
                                                from ordini inner join lavorazioni on lavorazioni.fkordine = ordini.idordine 
                                                inner join opzionilavorazione on opzionilavorazione.idopz = lavorazioni.fk_opzione 
                                                where ordini.idordine = {0} order by lavorazioni.idlavorazione", Or.ID.ToString());

                tempDT = db.eseguiQuery(cmd);

                foreach (DataRow dr in tempDT.Rows)
                {
                    Lav       = new Lavorazione();
                    Lav.ID    = (int)dr["idlavorazione"];
                    Lav.Stato = (int)dr["stato"];
                    Lav.Note  = (string)dr["opzione"];
                    Or.Lavorazioni.Add(Lav);
                }
                //oID.Add((int)row["idordine"]);
                listaOr.Add(Or);
            }


            return(listaOr);
        }
예제 #16
0
        public void CreateOrder(List <CreateOrderResource> prodotti)
        {
            var    listaProdottiOrdine = prodotti.Where(x => x.Selected == true).ToList();
            Ordine ordineAdd           = new Ordine();

            ordineAdd.DataCreazione = DateTime.Now;
            ordineAdd.PersonaId     = listaProdottiOrdine[0].IdCliente;
            foreach (var prodotto in listaProdottiOrdine)
            {
                ordineAdd.Prodotti.Add(_mapper.Map <CreateOrderResource, Prodotto>(prodotto));
            }

            _context.Ordini.Add(ordineAdd);
        }
        public IHttpActionResult PostOrdine(Ordine ordine)
        {
            log.Debug($"inserimento nuovo ordine");
            if (!ModelState.IsValid)
            {
                log.Warn($"modello ordine non valido");
                return(BadRequest(ModelState));
            }

            db.Ordini.Add(ordine);
            db.SaveChanges();
            log.Info($"nuovo ordine num. {ordine.NumeroOrdine} salvato");

            return(CreatedAtRoute("DefaultApi", new { id = ordine.NumeroOrdine }, ordine));
        }
        public IHttpActionResult DeleteOrdine(int id)
        {
            log.Debug($"cancellazione ordine num. {id}");
            Ordine ordine = db.Ordini.Find(id);

            if (ordine == null)
            {
                log.Warn($"l'ordine num. {id} non esiste");
                return(NotFound());
            }

            db.Ordini.Remove(ordine);
            db.SaveChanges();
            log.Info($"ordine num. {id} cancellato");

            return(Ok(ordine));
        }
예제 #19
0
        public List <Ordine> GetAllOrdini(int limit, int page, out int tot)
        {
            SqlConnection conn = new SqlConnection(conn_string);

            conn.Open();

            SqlCommand cmd1 = new SqlCommand("GetAllOrdini", conn);

            cmd1.CommandType = CommandType.StoredProcedure;
            cmd1.Parameters.AddWithValue("@limit", limit);
            cmd1.Parameters.AddWithValue("@page", page);

            var returnParam = cmd1.Parameters.Add("@ReturnVal", SqlDbType.Int);

            returnParam.Direction = ParameterDirection.ReturnValue;

            DataTable      dt1 = new DataTable();
            SqlDataAdapter da1 = new SqlDataAdapter(cmd1);

            da1.Fill(dt1);
            tot = (int)returnParam.Value;

            conn.Close();

            List <Ordine> ordini = new List <Ordine>();

            foreach (DataRow dr in dt1.Rows)
            {
                Ordine ordine = ordini.FirstOrDefault((ord) => ord.ID == (int)dr["IDOrdine"]);
                if (ordine == null)
                {
                    ordine = new Ordine
                    {
                        ID       = (int)dr["IDOrdine"],
                        Data     = DateTime.Parse(dr["Data"].ToString()),
                        Stato    = dr["Stato"].ToString(),
                        Prodotti = (int)dr["Prodotti"]
                    };

                    ordini.Add(ordine);
                }
            }

            return(ordini);
        }
예제 #20
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(txtId.Text, out int id2) || (id2 != id))
            {
                MessageBox.Show("Id non valido.");
                return;
            }
            Ordine order = new Ordine(int.Parse(txtId.Text), txtCodOrdine.Text, (Cliente)cbxCliente.SelectedItem, dtpDate.Value, (TipiPagamento)cbxPagamento.SelectedItem, _listaP);
            int    res   = c.DelOrdine(order);

            if (res != 0)
            {
                MessageBox.Show("Ordine eliminato!");
            }
            else
            {
                MessageBox.Show("Ordine non eliminato, ricontrolla i dati.");
            }
        }
예제 #21
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (_listaP.Count == 0)
            {
                MessageBox.Show("Errore, non hai inserito prodotti.");
                return;
            }
            Ordine order = new Ordine(int.Parse(txtId.Text), txtCodOrdine.Text, (Cliente)cbxCliente.SelectedItem, dtpDate.Value, (TipiPagamento)cbxPagamento.SelectedItem, _listaP);
            int    res   = c.UpdOrdine(order);

            if (res != 0)
            {
                MessageBox.Show("Ordine aggiornato!");
            }
            else
            {
                MessageBox.Show("Ordine non aggiornato, controlla per favore i dati.");
            }
        }
예제 #22
0
        public Ordine GetOrdineByID(int id)
        {
            SqlConnection conn = new SqlConnection(conn_string);

            conn.Open();

            SqlCommand cmd1 = new SqlCommand("GetOrdineByID", conn);

            cmd1.CommandType = CommandType.StoredProcedure;
            cmd1.Parameters.AddWithValue("@id", id);

            DataTable      dt1 = new DataTable();
            SqlDataAdapter da1 = new SqlDataAdapter(cmd1);

            da1.Fill(dt1);

            conn.Close();

            DataRow dr     = dt1.Rows[0];
            Ordine  ordine = new Ordine
            {
                ID    = (int)dr["IDOrdine"],
                Data  = DateTime.Parse(dr["Data"].ToString()),
                Stato = dr["Stato"].ToString()
            };

            ordine.Items.Add(new ItemCarrello
            {
                ID       = (int)dr["IDItemOrdine"],
                Quantita = (int)dr["Quantita"],
                Prezzo   = (decimal)dr["Prezzo"],
                Corso    = new Corso
                {
                    ID          = (int)dr["IDCorso"],
                    Titolo      = (string)dr["Titolo"],
                    Autore      = (string)dr["Autore"],
                    Descrizione = (string)dr["Descrizione"],
                    Immagine    = (string)dr["Immagine"],
                }
            });

            return(ordine);
        }
예제 #23
0
        public int NewOrdine(Ordine p)
        {
            int x = 0;
            int y = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(db.ConnectionString))
                {
                    connection.Open();
                    string sql = "insert into Ordine values (@CodiceOrdine, @IdCliente," +
                                 "@Data, @TipoPagamento)";
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        string reference = CreateRandomReference();
                        command.Parameters.Add("@CodiceOrdine", SqlDbType.VarChar).Value = reference;
                        command.Parameters.Add("@IdCliente", SqlDbType.Int).Value        = p.Cliente.Id;
                        command.Parameters.Add("@Data", SqlDbType.DateTime).Value        = p.Data;
                        command.Parameters.Add("@TipoPagamento", SqlDbType.Float).Value  = p.TipoPagamento.Id;
                        x = command.ExecuteNonQuery();
                        if (x != 0)
                        {
                            try
                            {
                                y = CreaListaProdotti(p.ListaProdotti, SearchOrdinebyReference(reference));
                            }
                            catch (SqlException)
                            {
                            }
                        }
                    }
                }
            }
            catch (SqlException)
            {
            }
            if (y == 0)
            {
                return(x = 0);
            }
            return(x);
        }
예제 #24
0
        public int UpdOrdine(Ordine p)
        {
            int x = 0;
            int y = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(db.ConnectionString))
                {
                    connection.Open();
                    string sql = "update Ordine set IdCliente = @IdCliente," +
                                 "Data = @Data, TipoPagamento = @TipoPagamento where Id = @Id";
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        command.Parameters.Add("@IdCliente", SqlDbType.Int).Value     = p.Cliente.Id;
                        command.Parameters.Add("@Data", SqlDbType.DateTime).Value     = p.Data;
                        command.Parameters.Add("@TipoPagamento", SqlDbType.Int).Value = p.TipoPagamento.Id;
                        command.Parameters.Add("@Id", SqlDbType.Int).Value            = p.Id;
                        x = command.ExecuteNonQuery();
                        if (x != 0)
                        {
                            try
                            {
                                y = ModificaListaProdotti(p.ListaProdotti, p.Id);
                            }
                            catch (SqlException)
                            {
                            }
                        }
                    }
                }
            }
            catch (SqlException)
            {
            }
            if (y == 0)
            {
                return(x = 0);
            }
            return(x);
        }
예제 #25
0
 public void CreaOrdine()
 {
     using (ContestoProdotto _db = new ContestoProdotto())
     {
         using (AzioniCarrello azioni = new AzioniCarrello())
         {
             var ordine = new Ordine
             {
                 Utente_Email     = HttpContext.Current.User.Identity.Name,
                 ProdottiOrdinati = _db.ProdottiCarrello.Where(p => p.CarrelloID == HttpContext.Current.User.Identity.Name).Select(p => p.Prodotto.ProdottoID).ToList(),
                 OrdineID         = Guid.NewGuid().ToString(),
                 DataOrdine       = DateTime.Now,
                 PrezzoOrdine     = Convert.ToDouble(Totale.Text.Split(' ')[0])
             };
             using (AzioniUtente azioniUtente = new AzioniUtente())
             {
                 azioniUtente.AggiungiOrdine(ordine);
             }
         }
     }
 }
예제 #26
0
        public Ordine SearchOrdinebyId(int id)
        {
            Ordine p = null;
            Dictionary <Prodotto, int> lista = new Dictionary <Prodotto, int>();

            try
            {
                using (SqlConnection connection = new SqlConnection(db.ConnectionString))
                {
                    connection.Open();
                    string sql = "select * from Ordine where id = @id";
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        command.Parameters.Add("@id", SqlDbType.Int).Value = id;
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                try
                                {
                                    lista = SearchProdottibyOrdine(reader.GetInt32(0));
                                }
                                catch (Exception)
                                {
                                    return(p);
                                }
                                p = new Ordine(reader.GetInt32(0), reader.GetString(1), SearchCliente(reader.GetInt32(2)),
                                               reader.GetDateTime(3), SearchPagamento(reader.GetInt32(4)), lista);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return(p);
        }
        public IHttpActionResult PutOrdine(int id, Ordine ordine)
        {
            log.Debug($"update dell'ordine num. {id}");
            if (!ModelState.IsValid)
            {
                log.Warn($"modello ordine non valido");
                return(BadRequest(ModelState));
            }

            if (id != ordine.NumeroOrdine)
            {
                log.Warn($"id ordine non coincidente {id} != {ordine.NumeroOrdine}");
                return(BadRequest());
            }

            db.Entry(ordine).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
                log.Info($"ordine num. {id} salvato");
            }
            catch (DbUpdateConcurrencyException e)
            {
                log.Error($"eccezione salvando ordine num. {id}", e);
                if (!OrdineExists(id))
                {
                    log.Warn($"l'ordine num. {id} non esiste");
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #28
0
        public IActionResult ElencoOrdini(int?idOrdine, string stato)
        {
            //Aggiorna lo stato solo se viene selezionato "Processato"
            if (idOrdine != null && "Processato".Equals(stato))
            {
                var ordineDaAggiornare =
                    from ord in context.Ordine
                    where ord.IdOrdine == idOrdine
                    select ord;

                Ordine p = ordineDaAggiornare.First();
                p.Stato          = stato;
                p.DataSpedizione = DateTime.Now;
                context.SaveChanges();
            }

            var vista =
                from op in context.Ordine_Prodotto
                join p in context.Prodotto on op.IdProdotto equals p.IdProdotto
                join o in context.Ordine on op.IdOrdine equals o.IdOrdine
                select new VistaProdottoOrdine
            {
                IdOrdine            = op.IdOrdine,
                DataOrdine          = o.DataOrdine,
                Stato               = o.Stato,
                DataSpedizione      = o.DataSpedizione,
                Quantita            = op.Quantita,
                IdProdotto          = p.IdProdotto,
                NomeProdotto        = p.NomeProdotto,
                DescrizioneProdotto = p.DescrizioneProdotto,
                Prezzo              = p.Prezzo,
                Sconto              = p.Sconto,
                Email               = o.Email,
            };

            return(View(vista.ToList()));
        }
예제 #29
0
        protected void btn_Inserisci_Click(object sender, EventArgs e)
        {
            if (txt_Etichetta.Text != "")
            {
                lbl_Result.Text = "";
                Lavorazione Foro = new Lavorazione();
                Foro.Tipo = new TipoLavorazione(Int32.Parse(drp_Foro.Attributes["tipoID"]), drp_Foro.Attributes["tipo"]);

                Foro.OpzioneID = Int32.Parse(drp_Foro.SelectedItem.Value);
                Foro.Opzione   = drp_Foro.SelectedItem.Text;
                Foro.Stato     = 0;

                Lavorazione Colore = new Lavorazione();
                Colore.Tipo      = new TipoLavorazione(Int32.Parse(drp_Colore.Attributes["tipoID"]), drp_Colore.Attributes["tipo"]);
                Colore.OpzioneID = Int32.Parse(drp_Colore.SelectedItem.Value);
                Colore.Opzione   = drp_Colore.SelectedItem.Text;
                Colore.Stato     = 0;

                Lavorazione Materiale = new Lavorazione();
                Materiale.Tipo      = new TipoLavorazione(Int32.Parse(drp_Materiale.Attributes["tipoID"]), drp_Foro.Attributes["tipo"]);
                Materiale.OpzioneID = Int32.Parse(drp_Materiale.SelectedItem.Value);
                Materiale.Opzione   = drp_Materiale.SelectedItem.Text;
                Materiale.Stato     = 0;

                Lavorazione Etichetta = new Lavorazione();
                Etichetta.Tipo      = new TipoLavorazione(Int32.Parse(txt_Etichetta.Attributes["tipoID"]), txt_Etichetta.Attributes["tipo"]);
                Etichetta.OpzioneID = -1;
                Etichetta.Opzione   = txt_Etichetta.Text;
                Etichetta.Stato     = 0;

                Ordine newOrdine = new Ordine();
                newOrdine.Lavorazioni.Add(Foro);
                newOrdine.Lavorazioni.Add(Colore);
                newOrdine.Lavorazioni.Add(Materiale);
                newOrdine.Lavorazioni.Add(Etichetta);
                newOrdine.UtenteID = ((Utente)Session["utente"]).ID;

                int insertedID = new daoOrdine().AddNew(newOrdine);

                if (insertedID != -1)
                {
                    //compilo tabella Lavorazioni
                    //insertedID = new daoLavorazioni().AddNew(Foro);
                    //insertedID = new daoLavorazioni().AddNew(Colore);
                    //insertedID = new daoLavorazioni().AddNew(Materiale);
                    //insertedID = new daoLavorazioni().AddNew(Etichetta);
                    pnl_Result.Visible = true;
                    lbl_Result.Text    = "OK!</ strong > Ordine inserito corretamente." + " ID: " + insertedID;
                }
                else
                {
                    pnl_Result.Visible = true;
                    lbl_Result.Text    = "<strong>Error!</strong> Errore inserimento ordine - " + insertedID;
                }
            }
            else
            {
                pnl_Result.Visible = true;
                lbl_Result.Text    = "<strong>Error!</strong> Errore inserimento ordine";
            }
        }
예제 #30
0
 public void AggiungiOrdine(Ordine ordine)
 {
     _db.Ordini.Add(ordine);
     _db.SaveChanges();
 }
예제 #31
0
        public void SaveOrdine(OrdinePresenter ordinePresenter)
        {
            var utente = new Utente
            {
                Nome = ordinePresenter.Nome,
                Cognome = ordinePresenter.Cognome,
                Indirizzo = ordinePresenter.Indirizzo,
                Telefono = ordinePresenter.Telefono
            };

            this.db
                .Utenti
                .Add(utente);

            this.db
                .SaveChanges();

            var ordine = new Ordine
            {
                Data = DateTime.Now,
                ProdottoId = ordinePresenter.ProdottoId,
                UtenteId = utente.Id
            };

            this.db
                .Ordini
                .Add(ordine);

            this.db
                .SaveChanges();
        }