Deal and Stock Controllers update
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Business.Business.UserManagment;
|
||||||
using Models;
|
using Models;
|
||||||
using Models.Models;
|
using Models.Models;
|
||||||
|
|
||||||
@@ -12,11 +13,70 @@ namespace Business.Business.Sales
|
|||||||
private LuminousContext context = new LuminousContext();
|
private LuminousContext context = new LuminousContext();
|
||||||
private User currentUser;
|
private User currentUser;
|
||||||
private ProductController productCtrl;
|
private ProductController productCtrl;
|
||||||
|
private UserController userctrl;
|
||||||
public DealController(User currentUser)
|
public DealController(User currentUser)
|
||||||
{
|
{
|
||||||
this.productCtrl = new ProductController(currentUser);
|
|
||||||
this.currentUser = currentUser;
|
this.currentUser = currentUser;
|
||||||
|
this.productCtrl = new ProductController(currentUser);
|
||||||
|
this.userctrl = new UserController(currentUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ICollection<Deal> GetAll()
|
||||||
|
{
|
||||||
|
return context.Deal.ToList();
|
||||||
|
}
|
||||||
|
public ICollection<Deal> GetByTime(DateTime startTime, DateTime endTime)
|
||||||
|
{
|
||||||
|
if (currentUser.RoleId > 1)
|
||||||
|
{
|
||||||
|
return context.Deal.Where(x => x.Time <= endTime && x.Time >= startTime).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Insufficient role!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ICollection<Deal> GetByUser(int id)
|
||||||
|
{
|
||||||
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
|
{
|
||||||
|
var user = userctrl.Get(id);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
return GetAll().Where(u => u.UserId == user.Id).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("User not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Insufficient role!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ICollection<Deal> GetByUser(string username)
|
||||||
|
{
|
||||||
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
|
{
|
||||||
|
var user = userctrl.Get(username);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
return GetAll().Where(u => u.UserId == user.Id).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("User not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Insufficient role!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Add(int productId, double Amount, DateTime time)
|
public void Add(int productId, double Amount, DateTime time)
|
||||||
{
|
{
|
||||||
if (Amount > 0)
|
if (Amount > 0)
|
||||||
@@ -31,6 +91,11 @@ namespace Business.Business.Sales
|
|||||||
throw new ArgumentException("Amount cannot be negative");
|
throw new ArgumentException("Amount cannot be negative");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Deal Get(int id)
|
||||||
|
{
|
||||||
|
return context.Deal.Find(id);
|
||||||
|
}
|
||||||
|
|
||||||
public void Add(string productName, double Amount, DateTime time)
|
public void Add(string productName, double Amount, DateTime time)
|
||||||
{
|
{
|
||||||
@@ -51,7 +116,7 @@ namespace Business.Business.Sales
|
|||||||
|
|
||||||
public void Delete(int id)
|
public void Delete(int id)
|
||||||
{
|
{
|
||||||
if (currentUser.RoleId > 1)
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
{
|
{
|
||||||
var deal = Get(id);
|
var deal = Get(id);
|
||||||
if (deal != null)
|
if (deal != null)
|
||||||
@@ -71,27 +136,5 @@ namespace Business.Business.Sales
|
|||||||
throw new ArgumentException("Insufficient role!");
|
throw new ArgumentException("Insufficient role!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Deal Get(int id)
|
|
||||||
{
|
|
||||||
return context.Deal.Find(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICollection<Deal> GetAll()
|
|
||||||
{
|
|
||||||
return context.Deal.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICollection<Deal> GetByTime(DateTime startTime, DateTime endTime)
|
|
||||||
{
|
|
||||||
if (currentUser.RoleId > 1)
|
|
||||||
{
|
|
||||||
return context.Deal.Where(x => x.Time <= endTime && x.Time >= startTime).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Insufficient role!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Business.Business.UserManagment;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Models;
|
using Models;
|
||||||
using Models.Models;
|
using Models.Models;
|
||||||
@@ -13,16 +14,24 @@ namespace Business.Business.Sales
|
|||||||
private LuminousContext context = new LuminousContext();
|
private LuminousContext context = new LuminousContext();
|
||||||
private User currentUser;
|
private User currentUser;
|
||||||
private ProductController productCtrl;
|
private ProductController productCtrl;
|
||||||
|
private UserController userctrl;
|
||||||
|
|
||||||
public StockController(User currentUser)
|
public StockController(User currentUser)
|
||||||
{
|
{
|
||||||
this.productCtrl = new ProductController(currentUser);
|
|
||||||
this.currentUser = currentUser;
|
this.currentUser = currentUser;
|
||||||
|
this.productCtrl = new ProductController(currentUser);
|
||||||
|
this.userctrl = new UserController(currentUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StockController(User currentUser, ProductController productctrl, UserController userctrl)
|
||||||
|
{
|
||||||
|
this.currentUser = currentUser;
|
||||||
|
this.productCtrl = new ProductController(currentUser);
|
||||||
|
this.userctrl = new UserController(currentUser);
|
||||||
|
}
|
||||||
public ICollection<Stock> GetAll()
|
public ICollection<Stock> GetAll()
|
||||||
{
|
{
|
||||||
if (currentUser.RoleId > 1)
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
{
|
{
|
||||||
return context.Stock.ToList();
|
return context.Stock.ToList();
|
||||||
}
|
}
|
||||||
@@ -35,7 +44,7 @@ namespace Business.Business.Sales
|
|||||||
|
|
||||||
public Stock Get(int id)
|
public Stock Get(int id)
|
||||||
{
|
{
|
||||||
if (currentUser.RoleId > 1)
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
{
|
{
|
||||||
return context.Stock.Find(id);
|
return context.Stock.Find(id);
|
||||||
}
|
}
|
||||||
@@ -47,7 +56,7 @@ namespace Business.Business.Sales
|
|||||||
|
|
||||||
public ICollection<Stock> GetByTime(DateTime startTime, DateTime endTime)
|
public ICollection<Stock> GetByTime(DateTime startTime, DateTime endTime)
|
||||||
{
|
{
|
||||||
if (currentUser.RoleId > 1)
|
if (currentUser != null || currentUser.RoleId > 1)
|
||||||
{
|
{
|
||||||
return context.Stock.Where(x => x.Time <= endTime && x.Time >= startTime).ToList();
|
return context.Stock.Where(x => x.Time <= endTime && x.Time >= startTime).ToList();
|
||||||
}
|
}
|
||||||
@@ -57,6 +66,46 @@ namespace Business.Business.Sales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ICollection<Stock> GetByUser(int id)
|
||||||
|
{
|
||||||
|
if (currentUser != null || currentUser.RoleId == 3)
|
||||||
|
{
|
||||||
|
var user = userctrl.Get(id);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
return GetAll().Where(u => u.UserId == user.Id).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("User not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Insufficient role!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ICollection<Stock> GetByUser(string username)
|
||||||
|
{
|
||||||
|
if (currentUser != null || currentUser.RoleId == 3)
|
||||||
|
{
|
||||||
|
var user = userctrl.Get(username);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
return GetAll().Where(u => u.UserId == user.Id).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("User not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Insufficient role!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Add(int productId, double Amount, DateTime time)
|
public void Add(int productId, double Amount, DateTime time)
|
||||||
{
|
{
|
||||||
if (currentUser.RoleId > 1)
|
if (currentUser.RoleId > 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user