public async Task <List <PurchaseHistoryModel> > GetPurchaseHistory(string username)
        {
            List <PurchaseHistoryModel> history = new List <PurchaseHistoryModel>();
            List <Order> listOrders             = await _context.Orders.Where(order => order.Username.Equals(username)).OrderByDescending(order => order.DateOrder).ToListAsync();

            for (int i = 0; i < listOrders.Count; i++)
            {
                int idOrder            = listOrders[i].OrderId;
                List <ToyInOrder> toys = await _context.ToyInOrders.Where(toys => toys.OrderId == idOrder)
                                         .Include(t => t.Toy)
                                         .ToListAsync();

                List <ToyModel> list = new List <ToyModel>();
                for (int k = 0; k < toys.Count; k++)
                {
                    Toy toy = toys[k].Toy;
                    toy.Quantity = toys[k].Quantity;
                    toy.Price    = toys[k].Price;
                    ToyModel toyModel = _mapper.Map <ToyModel>(toy);
                    list.Add(toyModel);
                }

                PurchaseHistoryModel model = new PurchaseHistoryModel(idOrder, listOrders[i].Username, listOrders[i].DateOrder, list);
                history.Add(model);
            }

            return(history);
        }
    public void TestToyCreate()
    {
        //Arrange
        var toys = new List <Toy>();

        toys.Add(new Toy {
            Id = "1234", Name = "Toy1"
        });

        var dbToys = GetQueryableMockDbSet(toys);     //DbSet<Toy>

        var contextMock = new Mock <IContext>();

        contextMock.Setup(x => x.Toys).Returns(dbToys);

        var sut = new ToyModel(contextMock.Object);

        //Act
        sut.Create(new Toy {
            Id = "5678", Name = "Toy2"
        });

        //Assert
        var expected = 2;
        var actual   = toys.Count;

        Assert.AreEqual(expected, actual);
    }
Example #3
0
 public bool Insert(ToyModel toy)
 {
     GetConexao();
     Cmd.CommandText = $@"{QueryHelper.GetInsertInto(_table)} (@Name, @AmountOfStock, @Image, @Active)";
     Cmd.Parameters.Clear();
     return(ToyData(toy));
 }
Example #4
0
        public ActionResult <bool> UpdateToy(int id, [FromBody] ToyModel toy)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    foreach (var state in ModelState)
                    {
                        if (state.Key == nameof(toy.Name) && state.Value.Errors.Count > 0)
                        {
                            return(BadRequest(state.Value.Errors));
                        }
                    }
                }

                return(Ok(service.UpdateToy(id, toy)));
            }
            catch (NotFoundException ex)
            {
                return(NotFound(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Example #5
0
        public bool Update(ToyModel toy)
        {
            GetConexao();
            Cmd.CommandText = $@"{QueryHelper.GetUpdateSet(_table)} Name = @Name, AmountOfStock = @AmountOfStock, Image = @Image, Active = @Active  WHERE Id = @Id";

            Cmd.Parameters.Clear();
            Cmd.Parameters.AddWithValue("@Id", toy.Id);
            return(ToyData(toy));
        }
    public void Add(ToyModel model)
    {
        var toy = new Toy {
            Id = model.Id, Name = model.Name
        };

        context.Toys.Add(toy);
        context.SaveChanges();
    }
Example #7
0
        public ToyModel CreateToy(ToyModel newToy)
        {
            var toyEntity    = mapper.Map <ToyEntity>(newToy);
            var newToyEntity = repository.CreateToy(toyEntity);
            var enterprise   = enterpriseRepository.GetEnterprises("id").ToList().Find(x => x.Id == newToy.EnterpriseID);

            enterprise.Toys.Add(newToyEntity);
            enterpriseRepository.UpdateEnterprise(enterprise);
            return(mapper.Map <ToyModel>(newToyEntity));
        }
Example #8
0
 public ToyViewModel()
 {
     _toyDAO = new ToyDAO();
     _toy    = new ToyModel();
     ClearView();
     UpdateList();
     if (Toy.Id == 0)
     {
         Toy.Active = true;
     }
 }
Example #9
0
        private bool ToyData(ToyModel toy)
        {
            Cmd.Parameters.AddWithValue("@Name", toy.Name);
            Cmd.Parameters.AddWithValue("@AmountOfStock", toy.AmountOfStock);
            Cmd.Parameters.AddWithValue("@Image", toy.Image);
            Cmd.Parameters.AddWithValue("@Active", toy.Active);

            if (Cmd.ExecuteNonQuery() == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #10
0
        public bool UpdateToy(int id, ToyModel toy)
        {
            var actualToy   = repository.GetToy(id);
            var enterprise  = enterpriseRepository.GetEnterprises("id").ToList().Find(x => x.Id == actualToy.EnterpriseID);
            var toyToRemove = enterprise.Toys.Find(x => x.Id == actualToy.Id);

            enterprise.Toys.Remove(toyToRemove);
            enterpriseRepository.UpdateEnterprise(enterprise);

            toy.Id = id;
            repository.UpdateToy(mapper.Map <ToyEntity>(toy));

            actualToy  = repository.GetToy(id);
            enterprise = enterpriseRepository.GetEnterprises("id").ToList().Find(x => x.Id == actualToy.EnterpriseID);
            enterprise.Toys.Add(actualToy);
            enterpriseRepository.UpdateEnterprise(enterprise);

            return(true);
        }
 /// <summary>
 /// Get API/Toy/{id}
 /// </summary>
 /// <param name="id">id du Toy à récupérer</param>
 /// <returns>Toy avec l'id correspondant</returns>
 public IHttpActionResult Get(int id)
 {
     if ((new[] { "Admin", "User", "Anonyme" }).Contains(ValidateTokenAndRole.ValidateAndGetRole(Request), StringComparer.OrdinalIgnoreCase))
     {
         ToyModel Objet = repo.GetOne(id)?.MapTo <ToyModel>();
         if (Objet == null)
         {
             return(NotFound());
         }
         else
         {
             return(Json(Objet));
         }
     }
     else
     {
         return(Unauthorized());
     }
 }
Example #12
0
        private List <ToyModel> GetToys()
        {
            SqlDataReader   rd   = Cmd.ExecuteReader();
            List <ToyModel> toys = new List <ToyModel>();

            while (rd.Read())
            {
                ToyModel toy = new ToyModel(
                    (int)rd[nameof(ToyModel.Id)],
                    (string)rd[nameof(ToyModel.Name)],
                    (int)rd[nameof(ToyModel.AmountOfStock)],
                    (byte[])rd[nameof(ToyModel.Image)],
                    (bool)rd[nameof(ToyModel.Active)]);

                toys.Add(toy);
            }
            rd.Close();
            return(toys);
        }
 /// <summary>
 /// Post API/Toy
 /// </summary>
 /// <param name="E">Toy à insérer</param>
 public IHttpActionResult Post(ToyModel Toy)
 {
     if ((new[] { "Admin" }).Contains(ValidateTokenAndRole.ValidateAndGetRole(Request), StringComparer.OrdinalIgnoreCase))
     {
         if (Toy == null || Toy.ImagePath == null || Toy.NameFR == null || Toy.NameEN == null)
         {
             return(BadRequest());
         }
         else
         {
             repo.Create(Toy.MapTo <ToyEntity>());
             return(Ok());
         }
     }
     else
     {
         return(Unauthorized());
     }
 }
Example #14
0
        public ActionResult <ToyModel> CreateToy([FromBody] ToyModel toy)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var newToy = service.CreateToy(toy);
                return(Created($"/api/Toys/{newToy.Id}", newToy));
            }
            catch (NotFoundException ex)
            {
                return(NotFound(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));;
            }
        }
Example #15
0
        public ToyModel GetToy(int id)
        {
            GetConexao();
            Cmd.CommandText = $"{QueryHelper.GetSelectFrom(_table)} WHERE Id = @id";

            Cmd.Parameters.Clear();
            Cmd.Parameters.AddWithValue("@Id", id);

            SqlDataReader rd  = Cmd.ExecuteReader();
            ToyModel      toy = new ToyModel();

            while (rd.Read())
            {
                toy = new ToyModel(
                    (int)rd[nameof(ToyModel.Id)],
                    (string)rd[nameof(ToyModel.Name)],
                    (int)rd[nameof(ToyModel.AmountOfStock)],
                    (byte[])rd[nameof(ToyModel.Image)],
                    (bool)rd[nameof(ToyModel.Active)]);
            }
            rd.Close();
            return(toy);
        }
Example #16
0
 public IActionResult Put(int id, [FromBody] ToyModel Toy)
 {
     if ((new[] { "Admin" }).Contains(ValidateTokenAndRole.ValidateAndGetRole(Request), StringComparer.OrdinalIgnoreCase))
     {
         if (repo.GetOne(id) != null)
         {
             return(NotFound());
         }
         else if (Toy == null || Toy.ImagePath == null || Toy.NameFR == null || Toy.NameEN == null)
         {
             return(BadRequest());
         }
         else
         {
             repo.Update(id, Toy.MapTo <ToyEntity>());
             return(Ok());
         }
     }
     else
     {
         return(Unauthorized());
     }
 }
Example #17
0
 public void ClearView()
 {
     Toy = new ToyModel();
 }