Esempio n. 1
0
        public async Task <Mo> ProcessMo(string id, bool isSpecialProject, string[] chassisNumbers)
        {
            // TODO validation of chassis model and body type if there is an existing entry in the takt time table
            if (chassisNumbers.Length == 0)
            {
                throw new AppBusinessException("InvalidChassis", "Unable to process MO without chassis numbers specified");
            }

            var mo = await _moResource.GetMo(id);

            mo.Status           = MoStatus.InProgress;
            mo.IsSpecialProject = isSpecialProject;

            await _moResource.UpdateMo(mo);

            foreach (var c in chassisNumbers)
            {
                var chassis = await _moResource.GetChassisDetails(c);

                chassis.IsPrinted     = true;
                chassis.PrintDateTime = DateTime.UtcNow;

                await _moResource.UpdateChassis(chassis);
            }

            return(mo);

            // TODO signalR printing
        }