public WorkOrderView CreateWorkOrderView(ProductionOrderList workOrder) { var employee = _employeeQuery.GetEmployeeById(workOrder.OrderedBy); ManufactureOrderView workorderView = new ManufactureOrderView() { id = workOrder.Id, description = workOrder.Description, orderedBy = employee.FullName(), start = workOrder.Start, orderDate = workOrder.DateAdded, dueDate = workOrder.DueDate, quantity = (int)workOrder.Quantity }; return(workorderView); }
public IEnumerable <WorkOrderView> CreateWorkOrderViewList(IEnumerable <ProductionOrderList> workOrder) { List <ManufactureOrderView> workorderView = new List <ManufactureOrderView> (); foreach (var order in workOrder) { var employee = _employeeQuery.GetEmployeeById(order.OrderedBy); ManufactureOrderView view = new ManufactureOrderView(); view.id = order.Id; view.description = order.Description; view.orderedBy = employee.FirstName + ' ' + employee.LastName; view.orderDate = order.DateAdded; view.quantity = (int)order.Quantity; view.start = order.Start; view.dueDate = order.DueDate; workorderView.Add(view); } return(workorderView); }
public IEnumerable <WorkOrderView> GetWorkOrdersStatus() { var x = _database.ProductionOrderList.GroupBy(po => po.Id) .Select(production => new { id = production.Key, status = production.Select(pro => new { completed = pro.FinishedProduct.Where(fin => fin.OrderId == production.Key).Count(), totalCost = pro.CostPerItem * pro.Quantity, Description = pro.Description, orderedBy = $"{pro.OrderedByNavigation.FirstName} {pro.OrderedByNavigation.LastName}", start = pro.Start, productName = pro.Item.Name, product = pro.Item.Code, orderDate = pro.DateAdded, dueDate = pro.DueDate, total = pro.Quantity, /* customer = (pro.CustomerOrderItem != null) ? pro.CustomerOrderItem.CustomerOrder.Client.FullName : "", * type = (pro.CustomerOrderItemId == null) ? "Work-to-Stock" : "Work-to-Order" */ }) }) .OrderByDescending(req => req.id) .ToList(); List <WorkOrderView> view = new List <WorkOrderView> (); foreach (var item in x) { ManufactureOrderView v = new ManufactureOrderView(); v.id = item.id; foreach (var r in item.status) { var remaining = r.total - r.completed; if (r.completed == 0) { v.status = "QUEUED"; } else if (r.completed > 0 && r.total > r.completed) { v.status = "IN-PROGRESS"; } else if (r.completed == r.total) { v.status = "COMPLETED"; } else if (r.completed > r.total) { v.status = "OVER-MADE"; } v.cost = r.totalCost; v.description = r.Description; v.dueDate = r.dueDate; v.orderDate = r.orderDate; v.start = r.start; v.product = r.product; v.productName = r.productName; v.quantity = (int)r.total; // v.customer = r.customer; v.orderedBy = r.orderedBy; // v.type = r.type; } view.Add(v); } return(view); }