Bug Fixes

This commit is contained in:
thermalthrottle
2021-03-20 12:55:59 +02:00
parent 45742a32a4
commit 0b8babd520
5 changed files with 97 additions and 18 deletions

View File

@@ -14,6 +14,7 @@ namespace Business.Business.Sales
private ProductController productCtrl;
public DealController(User currentUser)
{
this.productCtrl = new ProductController(currentUser);
this.currentUser = currentUser;
}
public void Add(int productId, double Amount, DateTime time)
@@ -21,6 +22,7 @@ namespace Business.Business.Sales
if (Amount > 0)
{
var deal = new Deal(currentUser.Id, productId, Amount, time);
productCtrl.RemoveAmount(productId, Amount);
context.Deal.Add(deal);
context.SaveChanges();
}
@@ -37,6 +39,7 @@ namespace Business.Business.Sales
productCtrl = new ProductController(currentUser);
var productId = productCtrl.Get(productName).Id;
var deal = new Deal(currentUser.Id, productId, Amount, time);
productCtrl.RemoveAmount(productId, Amount);
context.Deal.Add(deal);
context.SaveChanges();
}
@@ -53,6 +56,7 @@ namespace Business.Business.Sales
var deal = Get(id);
if (deal != null)
{
productCtrl.AddAmount(deal.ProductId, deal.Amount);
context.Deal.Remove(deal);
context.SaveChanges();
}

View File

@@ -308,6 +308,46 @@ namespace Business.Business.Sales
throw new ArgumentException("Insufficient Role!");
}
}
public void AddAmount(int productId ,double Amount)
{
if (currentUser.RoleId > 1)
{
var product = Get(productId);
if (product != null)
{
product.AmountInStock += Amount;
context.SaveChanges();
}
else
{
throw new ArgumentException("Product id not valid!");
}
}
else
{
throw new ArgumentException("Insufficient Role!");
}
}
public void RemoveAmount(int productId, double Amount)
{
if (currentUser.RoleId > 1)
{
var product = Get(productId);
if (product != null)
{
product.AmountInStock -= Amount;
context.SaveChanges();
}
else
{
throw new ArgumentException("Product id not valid!");
}
}
else
{
throw new ArgumentException("Insufficient Role!");
}
}
/// <summary>
/// Deletes the given product
@@ -318,6 +358,7 @@ namespace Business.Business.Sales
/// Requires Admin role
/// </remarks>
public void Delete(int id)
{
if (currentUser.RoleId == 3)

View File

@@ -16,6 +16,7 @@ namespace Business.Business.Sales
public StockController(User currentUser)
{
this.productCtrl = new ProductController(currentUser);
this.currentUser = currentUser;
}
@@ -63,8 +64,7 @@ namespace Business.Business.Sales
if (Amount > 0)
{
var stock = new Stock(currentUser.Id, productId, Amount, time);
productCtrl = new ProductController(currentUser);
productCtrl.Get(productId).AmountInStock += Amount;
productCtrl.AddAmount(productId, Amount);
context.Stock.Add(stock);
context.SaveChanges();
}
@@ -89,7 +89,7 @@ namespace Business.Business.Sales
productCtrl = new ProductController(currentUser);
var productId = productCtrl.Get(productName).Id;
var stock = new Stock(currentUser.Id, productId, Amount, time);
productCtrl.Get(productId).AmountInStock += Amount;
productCtrl.AddAmount(productId, Amount);
context.Stock.Add(stock);
context.SaveChanges();
}
@@ -110,15 +110,16 @@ namespace Business.Business.Sales
{
if (currentUser.RoleId == 3 )
{
var user = Get(id);
if (user != null)
var stock = Get(id);
if (stock != null)
{
context.Stock.Remove(user);
productCtrl.RemoveAmount(stock.ProductId, stock.Amount);
context.Stock.Remove(stock);
context.SaveChanges();
}
else
{
throw new ArgumentException("User not found");
throw new ArgumentException("Stock Id not found!");
}
}

View File

@@ -25,6 +25,11 @@ namespace Business.Business.UserManagment.Controllers
this.context = new LuminousContext();
}
public RoleController(LuminousContext context)
{
this.context = context;
}
/// <summary>
/// Constructor that accepts a user object
/// </summary>
@@ -46,7 +51,7 @@ namespace Business.Business.UserManagment.Controllers
/// User object is used for role checking
/// </remarks>
public RoleController(LuminousContext context, User currentUser)
public RoleController(User currentUser, LuminousContext context)
{
this.context = context;
this.currentUser = currentUser;