public List <Stocker> listarStocker()
        {
            Stocker        stocker = null;
            List <Stocker> list    = new List <Stocker>();

            using (ProyectoEntities db = new ProyectoEntities())
            {
                var query = (from us in db.Usuario
                             join ad in db.Stocker on us.CedulaUsu equals ad.cedulaStocker
                             select new
                {
                    IdUsuario = us.Idusu,
                    CedulaUsu = us.CedulaUsu,
                    NombreUsu = us.NombreUsu,
                    ClaveUsu = us.ClaveUsu,
                    Sueldo = us.Sueldo,
                    FechaIngreso = us.FechaIngreso,
                }).ToList();


                if (query != null)
                {
                    foreach (var r in query)
                    {
                        stocker = new Stocker(r.IdUsuario, r.CedulaUsu, r.NombreUsu, r.ClaveUsu, r.Sueldo, r.FechaIngreso, false);
                        list.Add(stocker);
                    }
                }
            }



            return(list);
        }
 public void modificarStocker(Stocker mstocker)
 {
     try
     {
         using (ProyectoEntities db = new ProyectoEntities())
         {
             var queryUsuario =
                 from Usuario in db.Usuario
                 where
                 Usuario.CedulaUsu == mstocker.CedulaUsu
                 select Usuario;
             foreach (var Usuario in queryUsuario)
             {
                 Usuario.NombreUsu = mstocker.NombreUsu;
                 Usuario.ClaveUsu  = mstocker.ClaveUsu;
                 Usuario.Sueldo    = mstocker.Sueldo;
             }
             db.SaveChanges();
         }
     }
     catch (Exception exsql)
     {
         throw new Exception("Ocurrio un error al modificar al Stocker", exsql);
     }
 }
        public Stocker obtenerStocker(long cedula)
        {
            Stocker stocker = null;

            using (ProyectoEntities db = new ProyectoEntities())
            {
                var query = (from us in db.Usuario
                             join ad in db.Stocker on us.CedulaUsu equals ad.cedulaStocker
                             where
                             us.CedulaUsu == cedula

                             select new
                {
                    IdUsuario = us.Idusu,
                    CedulaUsu = us.CedulaUsu,
                    NombreUsu = us.NombreUsu,
                    ClaveUsu = us.ClaveUsu,
                    Sueldo = us.Sueldo,
                    FechaIngreso = us.FechaIngreso,
                    Idstocker = ad.IdStocker,
                }).FirstOrDefault();

                if (query != null)
                {
                    stocker = new Stocker(query.IdUsuario, query.CedulaUsu, query.NombreUsu, query.ClaveUsu, query.Sueldo, query.FechaIngreso, false);
                }
            }


            return(stocker);
        }
예제 #4
0
        public Stocker getStocker(long cedula)
        {
            Stocker stock      = null;
            Usuario _unusuario = FabricaLogica.getControladorUsuario().ingresarCedula(cedula);

            if (_unusuario is Stocker)
            {
                stock = (Stocker)_unusuario;
            }
            return(stock);
        }
예제 #5
0
        public void Check_To_See_If_Change_Return_Works(double balance, int[] changeExpected)
        {
            string         path           = Path.Combine(Environment.CurrentDirectory, "vendingmachine.txt");
            Stocker        stocker        = new Stocker();
            VendingMachine vendingMachine = new VendingMachine(stocker.ReturnStock(path));

            vendingMachine.Balance = (decimal)balance;

            int[] change = vendingMachine.MakeChange(vendingMachine.Balance);

            CollectionAssert.AreEqual(changeExpected, change);
        }
예제 #6
0
        public void StockListIsProperlyCreatedFromTextFile()
        {
            Stocker stock = new Stocker("vendingmachine.csv");

            List <Item> items = stock.CreateStockList();

            string  itemName  = items[6].Name;
            decimal itemPrice = items[6].Price;

            Assert.AreEqual("Wonka Bar", itemName);
            Assert.AreEqual((decimal)1.50, itemPrice);
        }
예제 #7
0
        public void Check_To_See_If_Change_Return_Leaves_Zero_Balance()
        {
            string         path           = Path.Combine(Environment.CurrentDirectory, "vendingmachine.txt");
            Stocker        stocker        = new Stocker();
            VendingMachine vendingMachine = new VendingMachine(stocker.ReturnStock(path));

            vendingMachine.Balance = 5.85M;

            vendingMachine.MakeChange(vendingMachine.Balance);
            decimal balance = vendingMachine.Balance;

            Assert.AreEqual(0.00M, balance);
        }
        public void CheckToSeeIfDispenseItemReducesStock()
        {
            string         path           = Path.Combine(Environment.CurrentDirectory, "vendingmachine.txt");
            Stocker        stocker        = new Stocker();
            var            Stock          = stocker.ReturnStock(path);
            VendingMachine vendingMachine = new VendingMachine(Stock);

            vendingMachine.Balance = 5.00M;

            vendingMachine.DispenseItem("A1");

            Assert.AreEqual(4, Stock["A1"].ItemsRemaining);
            Assert.AreEqual(1.95M, vendingMachine.Balance);
        }
        public void agregarStocker(Stocker addstocker)
        {
            using (ProyectoEntities db = new ProyectoEntities())
            {
                Usuario usu = DatosAdministrador.obtenerUsuario(addstocker.CedulaUsu);

                if (usu != null)
                {
                    var queryUsuario =
                        from Usuario in db.Usuario
                        where Usuario.CedulaUsu == addstocker.CedulaUsu
                        select Usuario;
                    foreach (var delu in queryUsuario)
                    {
                        delu.BajaUsu = false;
                    }
                    db.SaveChanges();
                }
                else
                {
                    using (DbContextTransaction transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            db.Usuario.Add(new Usuario()
                            {
                                CedulaUsu    = addstocker.CedulaUsu,
                                NombreUsu    = addstocker.NombreUsu,
                                ClaveUsu     = addstocker.ClaveUsu,
                                Sueldo       = addstocker.Sueldo,
                                FechaIngreso = DateTime.Now,
                            });
                            db.SaveChanges();
                            db.Stocker.Add(new Stocker()
                            {
                                cedulaStocker = addstocker.CedulaUsu,
                            });
                            db.SaveChanges();
                            transaction.Commit();
                        }
                        catch (Exception exsql)
                        {
                            transaction.Rollback();
                            throw new Exception("Ocurrio un error al agregar al Stocker", exsql);
                        }
                    }
                }
            }
        }
        public void TestPurchase()
        {
            Stocker        stocker        = new Stocker();
            VendingMachine vendingMachine = new VendingMachine();

            vendingMachine.Load(stocker.Restock());
            vendingMachine.FeedMoney(100.0m);

            //  Price of A1 = 3.05
            vendingMachine.Purchase("A1");
            Assert.AreEqual(96.95M, vendingMachine.Balance);
            Assert.AreEqual(4, vendingMachine.Stock["A1"].Count);

            vendingMachine.Purchase("A1");
            Assert.AreEqual(93.9M, vendingMachine.Balance);
            Assert.AreEqual(3, vendingMachine.Stock["A1"].Count);
        }
예제 #11
0
        public IHttpActionResult PostStocker(Stocker stocker)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Stockers.Add(stocker);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = stocker.StockerId }, new
            {
                stocker.StockerId,
                stocker.FirstName,
                stocker.LastName,
                stocker.EmployeeNumber
            }));
        }
예제 #12
0
        public IHttpActionResult GetStocker(int id)
        {
            Stocker stocker = db.Stockers.Find(id);

            if (stocker == null)
            {
                return(NotFound());
            }
            var resultSet = new
            {
                stocker.StockerId,
                stocker.FirstName,
                stocker.LastName,
                stocker.EmployeeNumber
            };

            return(Ok(resultSet));
        }
예제 #13
0
        public Stocker getLogin(long cedula, string contrasena)
        {
            var     token      = "";
            Stocker sto        = null;
            Usuario _unusuario = FabricaLogica.getLUsuario().iniciarsesion(cedula, contrasena);

            if (_unusuario is Stocker)
            {
                sto = (Stocker)_unusuario;
                if (sto == null)
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }

                token = TokenGenerator.GenerateTokenJwt(cedula.ToString());
            }

            return(sto);
        }
예제 #14
0
        public IHttpActionResult DeleteStocker(int id)
        {
            Stocker stocker = db.Stockers.Find(id);

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

            db.Stockers.Remove(stocker);
            db.SaveChanges();
            var resultSet = new
            {
                stocker.StockerId,
                stocker.FirstName,
                stocker.LastName,
                stocker.EmployeeNumber
            };

            return(Ok(resultSet));
        }
        public void eliminarStocker(Stocker delstocker)
        {
            using (ProyectoEntities db = new ProyectoEntities())
            {
                using (DbContextTransaction transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var queryStocker =
                            from Stocker in db.Stocker
                            where Stocker.cedulaStocker == delstocker.CedulaUsu
                            select Stocker;
                        foreach (var delc in queryStocker)
                        {
                            db.Stocker.Remove(delc);
                        }
                        db.SaveChanges();
                        var queryUsuario =
                            from Usuario in db.Usuario
                            where Usuario.CedulaUsu == delstocker.CedulaUsu
                            select Usuario;
                        foreach (var delu in queryUsuario)
                        {
                            db.Usuario.Remove(delu);
                        }
                        db.SaveChanges();



                        transaction.Commit();
                    }
                    catch (Exception exsql)
                    {
                        transaction.Rollback();
                        throw new Exception("Ocurrio un error al eliminar al Stocker", exsql);
                    }
                }
            }
        }
예제 #16
0
        public IHttpActionResult PutStocker(int id, Stocker stocker)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != stocker.StockerId)
            {
                return(BadRequest());
            }
            var dbStocker = db.Stockers.Find(id);

            dbStocker.StockerId      = stocker.StockerId;
            dbStocker.FirstName      = stocker.FirstName;
            dbStocker.LastName       = stocker.LastName;
            dbStocker.EmployeeNumber = stocker.EmployeeNumber;
            db.Entry(stocker).State  = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StockerExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #17
0
 public bool Put(long cedula, [FromBody] Stocker apiusuario)
 {
     return(FabricaLogica.getControladorUsuario().modificarUsuario(cedula, apiusuario));
 }
예제 #18
0
 public bool Delete([FromBody] Stocker apiusuario)
 {
     return(FabricaLogica.getControladorUsuario().eliminarUsuario(apiusuario));
 }
예제 #19
0
 public bool Post([FromBody] Stocker apiusuario)
 {
     return(FabricaLogica.getControladorUsuario().agregarUsuario(apiusuario));
 }
예제 #20
0
        public void StockerTest_DoesItWork()
        {
            string filepath = Path.Combine(Environment.CurrentDirectory, "TestInventory.txt");

            Dictionary <string, Inventory> testanswer = Stocker.UsingPathToLoadStocker(filepath);
        }