Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }