public void SaveNewUser(User newUser)
        {
            SqlConexion         conn       = new SqlConexion();
            List <SqlParameter> parameters = new List <SqlParameter>();

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                parameters.Add(new SqlParameter("@Nombre", newUser.Name));
                parameters.Add(new SqlParameter("@Apellidos", newUser.LastName));
                parameters.Add(new SqlParameter("@Nick", newUser.Nick));
                parameters.Add(new SqlParameter("@Password", newUser.Password));
                conn.PrepararProcedimiento("dbo.sp_AddNewUser", parameters);
                conn.EjecutarProcedimiento();

                //return Ok();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #2
0
    public User Registro(User user)
    {
        SqlConexion         _conexion   = new SqlConexion();
        List <SqlParameter> _Parametros = new List <SqlParameter>();

        try
        {
            //Abrir conexion
            _conexion.Conectar(System.Configuration.ConfigurationManager.ConnectionStrings["MiBD"].ToString());
            // Se agregan parámetros a la lista List <SqlParameter>, con los valores para cada parametro que se obtienen de los atributos
            // del objeto Pej.Objeto . Atributo_x
            _Parametros.Add(new SqlParameter("@Name", user.Name));
            _Parametros.Add(new SqlParameter("@Password", user.Password));
            _Parametros.Add(new SqlParameter("@LastName", user.LastName));
            _Parametros.Add(new SqlParameter("@Nick", user.Nick));
            _conexion.PrepararProcedimiento("sp_SetUser", _Parametros);
            _conexion.EjecutarProcedimiento();
            return(user);
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            _conexion.Desconectar();
            _conexion = null;
        }
    }
        public static string GetUserPassword(string username)
        {
            SqlConexion         conexion   = new SqlConexion();
            List <SqlParameter> parameters = new List <SqlParameter>();
            DataTableReader     dtr;

            try
            {
                conexion.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                parameters.Add(new SqlParameter("@Nick", username));
                conexion.PrepararProcedimiento("dbo.sp_GetUserByNick", parameters);

                dtr = conexion.EjecutarTableReader();

                dtr.Read();
                return(dtr["Password"].ToString());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public IEnumerable <User> GetAllUsers()
        {
            SqlConexion     conn  = new SqlConexion();
            List <User>     users = new List <User>();
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);
                conn.PrepararProcedimiento("dbo.sp_GetAllUsers");
                dtr = conn.EjecutarTableReader();

                while (dtr.Read())
                {
                    users.Add(new User
                    {
                        Id       = int.Parse(dtr["IDUser"].ToString()),
                        Name     = dtr["Nombre"].ToString(),
                        LastName = dtr["Apellidos"].ToString(),
                        Nick     = dtr["Nick"].ToString(),
                        Password = dtr["Password"].ToString()
                    });
                }

                return(users);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
        public IHttpActionResult UpdateUserPassword([FromBody] User user)
        {
            SqlConexion         conn       = new SqlConexion();
            List <SqlParameter> parameters = new List <SqlParameter>();

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                parameters.Add(new SqlParameter("@Id", user.Id));
                parameters.Add(new SqlParameter("@Password", user.Password));
                conn.PrepararProcedimiento("dbo.sp_UpdatePassword", parameters);
                conn.EjecutarProcedimiento();

                return(Ok());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
    public long registrarAlumno(Alumno persona)
    {
        SqlConexion         _conexion   = new SqlConexion();
        List <SqlParameter> _Parametros = new List <SqlParameter>();
        DataTableReader     _dtr        = null;

        try
        {
            //Se abre conexion
            _conexion.Conectar(System.Configuration.ConfigurationManager.ConnectionStrings["MiBD"].ToString());

            //Se agregan´parametros a la lista List<SqlParameters>, con los valores para cada parametro
            _Parametros.Add(new SqlParameter("@_Materia", persona.Materia));
            _Parametros.Add(new SqlParameter("@_Grupo", persona.Grupo));
            _Parametros.Add(new SqlParameter("@_Semestre", persona.Semestre));
            _Parametros.Add(new SqlParameter("@_Computadora", persona.Computadora));
            _conexion.PrepararProcedimiento("sp_InAlumno", _Parametros);

            _dtr = _conexion.EjecutarTableReader();
            if (_dtr.HasRows)
            {
                //Leer la informacion
                _dtr.Read();
                //Se crea un objeto de clase usuario
                Alumno _user = new Alumno()
                {
                    Id_Alumno = int.Parse(_dtr["Id_Alumno"].ToString())
                };

                //Se indica que se cierre la tabla
                _dtr.Close();

                //Creamos session con el id del usuario

                HttpContext.Current.Session["Identificador"] = _user.Id_Alumno;
                return(_user.Id_Alumno);
            }
            else
            {
                throw new Exception("User not found");
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            _conexion.Desconectar();
            _conexion = null;
            _dtr      = null;
        }
    }
Beispiel #7
0
        public IHttpActionResult DeleteSale(int id)
        {
            SqlConexion     conn = new SqlConexion();
            Sale            sale = null;
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                List <SqlParameter> parameters = new List <SqlParameter>
                {
                    new SqlParameter("@Id", id),
                };

                conn.PrepararProcedimiento("dbo.sp_DeleteSale", parameters);
                dtr = conn.EjecutarTableReader();

                List <SaleDetail> saleDetails = new List <SaleDetail>();
                while (dtr.Read())
                {
                    saleDetails.Add(new SaleDetail
                    {
                        Id      = int.Parse(dtr["SDId"].ToString()),
                        Product = new Product
                        {
                            Id        = int.Parse(dtr["ProductId"].ToString()),
                            Name      = dtr["ProductName"].ToString(),
                            UnitPrice = decimal.Parse(dtr["UnitPrice"].ToString())
                        },
                        Quantity = int.Parse(dtr["Qty"].ToString())
                    });
                }

                sale = new Sale
                {
                    Id         = int.Parse(dtr["SaleId"].ToString()),
                    DateTime   = DateTime.Parse(dtr["SaleDate"].ToString()),
                    TotalPrice = decimal.Parse(dtr["SaleTotalPrice"].ToString()),
                    SaleDetail = saleDetails
                };

                return(Ok(sale)); // devuelve la venta eliminada
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #8
0
        public IEnumerable <Sale> GetSalesByProductId(int productId)
        {
            SqlConexion     conn  = new SqlConexion();
            List <Sale>     sales = new List <Sale>();
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                List <SqlParameter> parameters = new List <SqlParameter>
                {
                    new SqlParameter("@Id", productId)
                };

                conn.PrepararProcedimiento("dbo.sp_GetSaleByProductId", parameters);
                dtr = conn.EjecutarTableReader();

                while (dtr.Read())
                {
                    List <SaleDetail> saleDetail = new List <SaleDetail>();
                    saleDetail.Add(new SaleDetail {
                        Id      = int.Parse(dtr["SDId"].ToString()),
                        Product = new Product
                        {
                            Id        = int.Parse(dtr["ProductId"].ToString()),
                            Name      = dtr["ProductName"].ToString(),
                            UnitPrice = decimal.Parse(dtr["UnitPrice"].ToString())
                        },
                        Quantity = int.Parse(dtr["Qty"].ToString())
                    });

                    sales.Add(new Sale
                    {
                        Id         = int.Parse(dtr["SaleId"].ToString()),
                        DateTime   = DateTime.Parse(dtr["SaleDate"].ToString()),
                        TotalPrice = decimal.Parse(dtr["SaleTotalPrice"].ToString()),
                        SaleDetail = saleDetail
                    });
                }

                return(sales);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #9
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         if (disposing)
         {
             if (sql != null)
             {
                 sql.Desconectar();
                 sql.Dispose();
             }
         }
         disposedValue = true;
     }
 }
        private bool disposedValue = false; // Para detectar llamadas redundantes

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    if (sql != null)
                    {
                        sql.Desconectar();
                        sql.Dispose();
                    }    // TODO: elimine el estado administrado (objetos administrados).
                }
                // TODO: libere los recursos no administrados (objetos no administrados) y reemplace el siguiente finalizador.
                // TODO: configure los campos grandes en nulos.
                disposedValue = true;
            }
        }
Beispiel #11
0
        public IHttpActionResult Put(int id, int quantity)
        {
            SqlConexion     conn       = new SqlConexion();
            SaleDetail      saleDetail = null;
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                List <SqlParameter> parameters = new List <SqlParameter>
                {
                    new SqlParameter("@Id", id),
                    new SqlParameter("@Quantity", quantity)
                };

                conn.PrepararProcedimiento("dbo.sp_UpdateSaleDetailQuantity", parameters);
                dtr = conn.EjecutarTableReader();

                while (dtr.Read())
                {
                    saleDetail = new SaleDetail
                    {
                        Id      = int.Parse(dtr["SDId"].ToString()),
                        Product = new Product
                        {
                            Id        = int.Parse(dtr["ProductId"].ToString()),
                            Name      = dtr["ProductName"].ToString(),
                            UnitPrice = decimal.Parse(dtr["UnitPrice"].ToString())
                        },
                        Quantity = int.Parse(dtr["Qty"].ToString())
                    };
                }

                return(Ok(saleDetail)); // devuelve el detalle de venta actualizado
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #12
0
    public User iniciarSesion(User Usuario)
    {
        SqlConexion         _conexion   = new SqlConexion();
        List <SqlParameter> _Parametros = new List <SqlParameter>();
        DataTableReader     _dtr        = null;

        try
        {
            //Abrir conexion
            _conexion.Conectar(System.Configuration.ConfigurationManager.ConnectionStrings["MiBD"].ToString());
            // Se agregan parámetros a la lista List <SqlParameter>, con los valores para cada parametro que se obtienen de los atributos
            // del objeto Pej.Objeto . Atributo_x
            _Parametros.Add(new SqlParameter("@_Nick", Usuario.Nick));
            _Parametros.Add(new SqlParameter("@_Password", Usuario.Password));
            _conexion.PrepararProcedimiento("sp_LoginUser", _Parametros);
            _dtr = _conexion.EjecutarTableReader();
            if (_dtr.HasRows)
            {
                _dtr.Read();
                User _user = new global::User()
                {
                    Id_User = long.Parse(_dtr["Id_User"].ToString())
                };
                HttpContext.Current.Session["Identificador"] = _user.Id_User;
                return(_user);
            }
            else
            {
                throw new Exception("User not found");
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            _conexion.Desconectar();
            _conexion = null;
            _dtr      = null;
        }
    }
        public IHttpActionResult GetUser(int Id)
        {
            SqlConexion         conn       = new SqlConexion();
            List <SqlParameter> parameters = new List <SqlParameter>();
            DataTableReader     dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                parameters.Add(new SqlParameter("@Id", Id));
                conn.PrepararProcedimiento("dbo.sp_GetUser", parameters);
                dtr = conn.EjecutarTableReader();

                if (dtr.Read())
                {
                    User searchedUser = new User
                    {
                        Id       = int.Parse(dtr["IDUser"].ToString()),
                        Name     = dtr["Nombre"].ToString(),
                        LastName = dtr["Apellidos"].ToString(),
                        Nick     = dtr["Nick"].ToString(),
                        Password = dtr["Password"].ToString()
                    };

                    return(Ok(searchedUser));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
    public EstadoRespuesta Acceso(string Nick, string Password)
    {
        SqlConexion sql = new SqlConexion();

        sql.Conectar(ConfigurationManager.ConnectionStrings["ServidorBD"].ToString());
        List <SqlParameter> _Parametros = new List <SqlParameter>();

        _Parametros.Add(new SqlParameter("@Nick", Nick));
        _Parametros.Add(new SqlParameter("@Pwd", Password));
        sql.PrepararProcedimiento("dbo.pa_IniciarSesion", _Parametros);
        DataTable       _dt     = sql.EjecutarTable();
        string          Mensaje = string.Empty;
        DataTableReader dtr     = _dt.CreateDataReader();

        while (dtr.Read())
        {
            Mensaje = dtr[0].ToString();
        }
        EstadoRespuesta state = new EstadoRespuesta();
        XmlDocument     xdoc  = new XmlDocument();

        xdoc.LoadXml(Mensaje);
        if (int.Parse(xdoc["Respuesta"]["Valido"].InnerText) == 1)
        {
            state.Estado  = Estatus.Aceptado;
            state.Mensaje = xdoc["Respuesta"]["Mensaje"].InnerText;
        }
        else
        {
            state.Estado  = Estatus.NoAceptado;
            state.Mensaje = xdoc["Respuesta"]["Mensaje"].InnerText;
        }
        sql.Desconectar();
        sql.Dispose();
        return(state);
    }
Beispiel #15
0
        public IHttpActionResult Post([FromBody] Sale sale)
        {
            SqlConexion     conn      = new SqlConexion();
            List <Sale>     sales     = new List <Sale>();
            DataTable       dataTable = new DataTable();
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                // Se crea la tabla que se pasa por parámetro al stored procedure
                dataTable.Columns.Add("ProductId", typeof(int));
                dataTable.Columns.Add("Quantity", typeof(int));
                foreach (var item in sale.SaleDetail)
                {
                    dataTable.Rows.Add(item.Product.Id, item.Quantity);
                }

                List <SqlParameter> parameters = new List <SqlParameter>
                {
                    new SqlParameter("@SaleDetail", dataTable)
                };

                conn.PrepararProcedimiento("dbo.sp_AddSale", parameters);
                dtr = conn.EjecutarTableReader();

                List <SaleDetail> saleDetails = new List <SaleDetail>();
                while (dtr.Read())
                {
                    saleDetails.Add(new SaleDetail
                    {
                        Id      = int.Parse(dtr["SDId"].ToString()),
                        Product = new Product
                        {
                            Id        = int.Parse(dtr["ProductId"].ToString()),
                            Name      = dtr["ProductName"].ToString(),
                            UnitPrice = decimal.Parse(dtr["UnitPrice"].ToString())
                        },
                        Quantity = int.Parse(dtr["Qty"].ToString())
                    });
                }

                Sale insertedSale = new Sale
                {
                    Id         = int.Parse(dtr["SaleId"].ToString()),
                    DateTime   = DateTime.Parse(dtr["SaleDate"].ToString()),
                    TotalPrice = decimal.Parse(dtr["SaleTotalPrice"].ToString()),
                    SaleDetail = saleDetails
                };

                return(Ok(insertedSale)); // devuelve la venta insertada
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #16
0
        public IEnumerable <Sale> GetSalesByDate(string date)
        {
            SqlConexion conn  = new SqlConexion();
            List <Sale> sales = new List <Sale>();

            int[]           splitDate = Array.ConvertAll(date.Split('-'), int.Parse);
            DataTableReader dtr;

            try
            {
                conn.Conectar(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);

                List <SqlParameter> parameters = new List <SqlParameter>
                {                                           // year         month          day
                    new SqlParameter("@Date", new DateTime(splitDate[0], splitDate[1], splitDate[2]))
                };

                conn.PrepararProcedimiento("dbo.sp_GetSaleByDate", parameters);
                dtr = conn.EjecutarTableReader();

                bool breakFromOuterLoop = false;
                if (dtr.Read())
                {
                    while (!breakFromOuterLoop)
                    {
                        int      currentSaleId     = int.Parse(dtr["SaleId"].ToString());
                        DateTime currentDateTime   = DateTime.Parse(dtr["SaleDate"].ToString());
                        decimal  currentTotalPrice = decimal.Parse(dtr["SaleTotalPrice"].ToString());

                        List <SaleDetail> saleDetail = new List <SaleDetail>();
                        do
                        {
                            saleDetail.Add(new SaleDetail
                            {
                                Id      = int.Parse(dtr["SDId"].ToString()),
                                Product = new Product
                                {
                                    Id        = int.Parse(dtr["ProductId"].ToString()),
                                    Name      = dtr["ProductName"].ToString(),
                                    UnitPrice = decimal.Parse(dtr["UnitPrice"].ToString())
                                },
                                Quantity = int.Parse(dtr["Qty"].ToString())
                            });

                            if (!dtr.Read())
                            {
                                breakFromOuterLoop = true;
                                break;
                            }
                        } while (int.Parse(dtr["SaleId"].ToString()) == currentSaleId);

                        sales.Add(new Sale
                        {
                            Id         = currentSaleId,
                            DateTime   = currentDateTime,
                            TotalPrice = currentTotalPrice,
                            SaleDetail = saleDetail
                        });
                    }
                }

                return(sales);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Desconectar();
            }
        }
Beispiel #17
0
    public User Login(User user)
    {
        SqlConexion         _conexion   = new SqlConexion();
        List <SqlParameter> _Parametros = new List <SqlParameter>();
        DataTableReader     _dtr        = null;

        try
        {
            //Abrir conexion
            _conexion.Conectar(System.Configuration.ConfigurationManager.ConnectionStrings["MiBD"].ToString());
            // Se agregan parámetros a la lista List <SqlParameter>, con los valores para cada parametro que se obtienen de los atributos
            // del objeto Pej.Objeto . Atributo_x
            _Parametros.Add(new SqlParameter("@_Nick", user.Nick));
            _Parametros.Add(new SqlParameter("@_Password", user.Password));
            _conexion.PrepararProcedimiento("sp_LoginUser", _Parametros);
            _dtr = _conexion.EjecutarTableReader();
            if (_dtr.HasRows)
            {
                _dtr.Read();
                User _user = new global::User()
                {
                    Id       = long.Parse(_dtr["Id_User"].ToString()),
                    Name     = _dtr["Name"].ToString(),
                    LastName = _dtr["LastName"].ToString(),
                };
                HttpContext.Current.Session["Identificador"] = _user.Id;
                return(_user);
            }
            else
            {
                throw new Exception("User not found");
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally {
            _conexion.Desconectar();
            _conexion = null;
            _dtr      = null;
        }

        //    // Aqui iria la logica de base de datos//
        //    if (user.Nick == "luis" && user.Password == "123")
        //    {
        //        User _user = new global::User()
        //        {
        //            Id = 1001,
        //            Name = "Luis Zanellita",
        //            LastName = "Contreritas",
        //        };
        //        //Crear sesion con el id del usuario
        //        HttpContext.Current.Session["Identificador"] = _user.Id;
        //        return _user;
        //    }
        //    else
        //        throw new Exception("User not found!!! = (");
        //}
        //[WebMethod(EnableSession = true)]
        //public User Registro(User user)
        //{
        //    // Aqui iria la logica de base de datos//
        //    User _user = new global::User()
        //    {
        //        Id = 1,
        //        Nick = user.Nick,
        //        LastName = user.LastName,
        //        Name = user.Name,
        //        Password = user.Password,
        //    };
        //    //Crear sesion con el id del usuario
        //    HttpContext.Current.Session["Identificador"] = _user.Id;
        //    return _user;
    }