Ejemplo n.º 1
0
        public static bool IsPlatInComanda(Plat p)
        {
            if (p == null || p.Id <= 0)
            {
                return(false);
            }
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `LINIES_COMANDA` WHERE `PLAT` = @plat_id and `ESTAT` = `EN_PREPARACIO`";
                            BD_Utils.CreateParameter(consulta, "plat_id", p.Id, DbType.Int32);

                            var reader = consulta.ExecuteReader();
                            return(reader.Read());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        public static ObservableCollection <Comanda> GetLlistaComandesPendents()
        {
            DbTransaction trans = null;

            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            trans = connexio.BeginTransaction();
                            consulta.Transaction = trans;

                            consulta.CommandText =
                                $@"   SELECT c.*, ca.NOM, ca.COGNOM1 FROM `comandes` c join `cambrers` ca on ca.CAMBRER_ID = c.CAMBRER 
                              WHERE `COMANDA_ID` IN (SELECT lc.COMANDA from `linies_comanda` lc where lc.COMANDA = c.COMANDA_ID and lc.ESTAT = 'EN_PREPARACIO') ";

                            var reader = consulta.ExecuteReader();
                            ObservableCollection <Comanda> comandes = new ObservableCollection <Comanda>();
                            while (reader.Read())
                            {
                                Comanda c = new Comanda();
                                BD_Utils.Llegeix(reader, out c.id, "COMANDA_ID");
                                BD_Utils.Llegeix(reader, out c.data_comanda, "DATA_COMANDA");
                                BD_Utils.Llegeix(reader, out c.taula_id, "TAULA");

                                BD_Utils.Llegeix(reader, out c.cambrer_name, "NOM");
                                string cambrerName = "";
                                BD_Utils.Llegeix(reader, out cambrerName, "COGNOM1");
                                c.Cambrer_name += " " + cambrerName;


                                comandes.Add(c);
                            }

                            connexio.Close();

                            foreach (Comanda c in comandes)
                            {
                                c.Linies = GetLiniesComanda(c);
                            }

                            comandes = new ObservableCollection <Comanda>(comandes.OrderBy(i => i));
                            return(comandes);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new ObservableCollection <Comanda>());
            }
        }
Ejemplo n.º 3
0
        public static ObservableCollection <LiniaComanda> GetLiniesComanda(Comanda c)
        {
            if (c.Id <= 0)
            {
                return(new ObservableCollection <LiniaComanda>());
            }
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `linies_comanda` WHERE COMANDA = @id ";
                            BD_Utils.CreateParameter(consulta, "id", c.Id, DbType.Int32);

                            var reader = consulta.ExecuteReader();
                            ObservableCollection <LiniaComanda> linies = new ObservableCollection <LiniaComanda>();
                            while (reader.Read())
                            {
                                LiniaComanda l = new LiniaComanda();
                                BD_Utils.Llegeix(reader, out l.id, "LINIA_COM_ID");
                                BD_Utils.Llegeix(reader, out l.quantitat, "QUANTITAT");
                                BD_Utils.Llegeix(reader, out l.estat, "ESTAT");

                                long platId = 0;
                                BD_Utils.Llegeix(reader, out platId, "PLAT");
                                Plat p = PlatBD.GetPlat(platId);
                                l.Plat = p;

                                l.Comanda = c;

                                linies.Add(l);
                            }

                            linies = new ObservableCollection <LiniaComanda>(linies.OrderBy(i => i));
                            connexio.Close();
                            return(linies);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new ObservableCollection <LiniaComanda>());
            }
        }
Ejemplo n.º 4
0
        public static int Delete(Plat p)
        {
            if (p == null || p.Id <= 0)
            {
                return(-1);
            }
            if (IsPlatInComanda(p))
            {
                return(-2);
            }
            DbTransaction trans = null;

            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();
                        using (DbCommand consulta = connexio.CreateCommand())
                        {
                            trans = connexio.BeginTransaction();
                            consulta.Transaction = trans;

                            consulta.CommandText = $@"DELETE FROM linies_escandall where PLAT = @platId";
                            BD_Utils.CreateParameter(consulta, "platId", p.Id, DbType.Int32);
                            consulta.ExecuteNonQuery();
                            consulta.CommandText = $@"DELETE FROM plats WHERE PLAT_ID=@platId";
                            int affectedPlats = consulta.ExecuteNonQuery();

                            if (affectedPlats != 1)
                            {
                                trans.Rollback();
                                return(-1);
                            }
                            else
                            {
                                trans.Commit();
                                return(0);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(-2);
            }
        }
Ejemplo n.º 5
0
        public static Plat GetPlat(long platId)
        {
            if (platId <= 0)
            {
                return(new Plat());
            }
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `plats` WHERE PLAT_ID = @id ";
                            BD_Utils.CreateParameter(consulta, "id", platId, DbType.Int32);

                            var  reader = consulta.ExecuteReader();
                            Plat p      = new Plat();
                            if (reader.Read())
                            {
                                BD_Utils.Llegeix(reader, out p.id, "PLAT_ID");
                                BD_Utils.Llegeix(reader, out p.nom, "NOM");
                                BD_Utils.Llegeix(reader, out p.descripcio, "DESCRIPCIO_MD", null);
                                BD_Utils.Llegeix(reader, out p.preu, "PREU");
                                BD_Utils.Llegeix(reader, out p.fotoBytes, "FOTO");
                                BD_Utils.Llegeix(reader, out p.disponible, "DISPONIBLE");

                                long categoriaId = 0;
                                BD_Utils.Llegeix(reader, out categoriaId, "CATEGORIA");
                                Categoria c = CategoriaBD.GetCategoria(categoriaId);
                                p.Categoria = c;
                            }
                            return(p);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new Plat());
            }
        }
Ejemplo n.º 6
0
        public static ObservableCollection <Plat> GetLlistaPlats()
        {
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `plats` ORDER BY `CATEGORIA` ";

                            var reader = consulta.ExecuteReader();
                            ObservableCollection <Plat> plats = new ObservableCollection <Plat>();
                            while (reader.Read())
                            {
                                Plat p = new Plat();
                                BD_Utils.Llegeix(reader, out p.id, "PLAT_ID");
                                BD_Utils.Llegeix(reader, out p.nom, "NOM");
                                BD_Utils.Llegeix(reader, out p.descripcio, "DESCRIPCIO_MD", null);
                                BD_Utils.Llegeix(reader, out p.preu, "PREU");
                                BD_Utils.Llegeix(reader, out p.fotoBytes, "FOTO");
                                BD_Utils.Llegeix(reader, out p.disponible, "DISPONIBLE");

                                long categoriaId = 0;
                                BD_Utils.Llegeix(reader, out categoriaId, "CATEGORIA");
                                Categoria c = CategoriaBD.GetCategoria(categoriaId);
                                p.Categoria = c;

                                plats.Add(p);
                            }
                            return(plats);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new ObservableCollection <Plat>());
            }
        }
Ejemplo n.º 7
0
        public static Categoria GetCategoria(long categoriaId)
        {
            if (categoriaId <= 0)
            {
                return(new Categoria());
            }
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `categories` WHERE `CATEGORIA_ID` =  @categoriaId";
                            BD_Utils.CreateParameter(consulta, "categoriaId", categoriaId, DbType.Int32);

                            var       reader = consulta.ExecuteReader();
                            Categoria c      = null;
                            if (reader.Read())
                            {
                                c = new Categoria();
                                BD_Utils.Llegeix(reader, out c.id, "CATEGORIA_ID");
                                BD_Utils.Llegeix(reader, out c.nom, "NOM");
                                BD_Utils.Llegeix(reader, out c.color, "COLOR", null);
                            }
                            return(c);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new Categoria());
            }
        }
Ejemplo n.º 8
0
        public static bool SetLiniaComandaPreparada(LiniaComanda liniaComanda)
        {
            DbTransaction trans = null;

            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();
                        using (DbCommand consulta = connexio.CreateCommand())
                        {
                            trans = connexio.BeginTransaction();
                            consulta.Transaction = trans;

                            consulta.CommandText = $@" UPDATE `linies_comanda` SET `ESTAT`='PREPARADA' WHERE COMANDA=@comanda_id and LINIA_COM_ID=@linia_id";
                            BD_Utils.CreateParameter(consulta, "linia_id", liniaComanda.Id, DbType.Int32);
                            BD_Utils.CreateParameter(consulta, "comanda_id", liniaComanda.Comanda.Id, DbType.Int32);

                            int filesAfectades = consulta.ExecuteNonQuery();
                            if (filesAfectades != 1)
                            {
                                trans.Rollback();
                            }
                            else
                            {
                                trans.Commit();
                                return(true);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }

            return(false);
        }
Ejemplo n.º 9
0
        public static ObservableCollection <Categoria> GetLlistaCategories()
        {
            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();

                        using (var consulta = connexio.CreateCommand())
                        {
                            consulta.CommandText =
                                $@"   SELECT * FROM `categories` ORDER BY `CATEGORIA_ID` ";

                            var reader = consulta.ExecuteReader();
                            ObservableCollection <Categoria> categories = new ObservableCollection <Categoria>();
                            while (reader.Read())
                            {
                                Categoria c = new Categoria();
                                BD_Utils.Llegeix(reader, out c.id, "CATEGORIA_ID");
                                BD_Utils.Llegeix(reader, out c.nom, "NOM");
                                BD_Utils.Llegeix(reader, out c.color, "COLOR", null);

                                categories.Add(c);
                            }
                            return(categories);
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                return(new ObservableCollection <Categoria>());
            }
        }
Ejemplo n.º 10
0
        public async static void Insert(Plat p)
        {
            if (p == null)
            {
                return;
            }
            DbTransaction trans = null;

            try
            {
                using (ContextDB context = new ContextDB())
                {
                    using (var connexio = context.Database.GetDbConnection())
                    {
                        connexio.Open();
                        using (DbCommand consulta = connexio.CreateCommand())
                        {
                            trans = connexio.BeginTransaction();
                            consulta.Transaction = trans;

                            consulta.CommandText = $@"SELECT `PLAT_ID` FROM `plats` ORDER BY `PLAT_ID` DESC LIMIT 1";
                            var tmp     = consulta.ExecuteScalar();
                            int plat_id = (int)tmp;
                            if (plat_id <= 0)
                            {
                                plat_id = 1;
                            }
                            else
                            {
                                plat_id++;
                            }
                            consulta.CommandText = $@"
                                INSERT INTO `plats`(`PLAT_ID`, `NOM`, `DESCRIPCIO_MD`, `PREU`, `FOTO`, `DISPONIBLE`, `CATEGORIA`) VALUES 
                                (@plat_id,@nom,@descripcio,@preu,FROM_BASE64(@foto),@disponible,@categoria_id)";
                            BD_Utils.CreateParameter(consulta, "plat_id", plat_id, DbType.Int32);
                            BD_Utils.CreateParameter(consulta, "nom", p.Nom, DbType.String);
                            BD_Utils.CreateParameter(consulta, "descripcio", p.Descripcio, DbType.String);
                            BD_Utils.CreateParameter(consulta, "preu", p.Preu, DbType.Decimal);
                            //BD_Utils.CreateParameter(consulta, "foto",          p.Foto.UriSource.AbsolutePath,    DbType.String);
                            string fotoS = string.Empty;

                            StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(p.Foto.UriSource);

                            byte[] byteArray;
                            using (var inputStream = await file.OpenSequentialReadAsync())
                            {
                                var readStream = inputStream.AsStreamForRead();

                                byteArray = new byte[readStream.Length];
                                await readStream.ReadAsync(byteArray, 0, byteArray.Length);
                            }


                            fotoS     = Convert.ToBase64String(byteArray);
                            byteArray = null;

                            BD_Utils.CreateParameter(consulta, "foto", fotoS, DbType.String);
                            BD_Utils.CreateParameter(consulta, "disponible", p.Disponible, DbType.Boolean);
                            BD_Utils.CreateParameter(consulta, "categoria_id", p.Categoria.Id, DbType.Int32);

                            int affectedPlats = consulta.ExecuteNonQuery();
                            if (affectedPlats != 1)
                            {
                                trans.Rollback();
                                return;
                            }
                            else
                            {
                                trans.Commit();
                                return;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return;
            }
        }