Exemple #1
0
        /// <summary>
        /// Determine which fields must be shown according machineType.
        /// The form is divided into 3 floating rows in which changemarker properties can be displayed depending on the machinetype.
        /// See http://confluence.ash.ads.org/pages/resumedraft.action?draftId=12451841&draftShareId=4fe65ae2-5191-4570-9e32-ad841719fd5c
        /// </summary>
        /// <param name="machineType"></param>
        private void InitializeFormLayout(MachineTypes machineType)
        {
            bool IsSprayer = machineType == MachineTypes.Sprayer;

            if (machineType == MachineTypes.StreetWasher)
            {
                chkPump.Visible = grpLeftJet.Visible = grpPressure.Visible = grpRightJet.Visible = true;
            }
            else
            {
                // Row 1
                chkSpreading.Visible = !IsSprayer;
                chkDualWidth.Visible = machineType == MachineTypes.WspDosage;
                chkSpraying.Visible  = machineType == MachineTypes.WspDosage || machineType == MachineTypes.RspDosage || IsSprayer;
                chkPump.Visible      = false;
                // Row 2
                grpDosage.Visible       = !IsSprayer;
                grpMax.Visible          = true;
                grpSecMat.Visible       = !IsSprayer;
                grpSecLiquid.Visible    = machineType == MachineTypes.WspPercentage || machineType == MachineTypes.RspPercentage || machineType == MachineTypes.WspDosage || machineType == MachineTypes.RspDosage;
                grpDosageLiquid.Visible = chkSpraying.Visible;
                grpHopper.Visible       = machineType == MachineTypes.Dst;
                // Row 3
                grpSpreadingWidth.Visible = !IsSprayer;
                grpSprayingWidth.Visible  = machineType == MachineTypes.WspDosage || IsSprayer;
            }
            // Center visible controls.
            FormEditChangeMarker_Resize(null, null);
        }
        public IActionResult AssignJobLine(int jobLineId,
                                           int machineId,
                                           string sortOrder,
                                           string currentFilter,
                                           string searchString,
                                           int?page,
                                           int filterMachineId,
                                           MachineTypes filterMachineType,
                                           DateTime filterDateTime)
        {
            JobLine jobLine;
            Machine machine;

            if (jobLineId != 0 && machineId != 0)
            {
                machine           = _context.Machines.FirstOrDefault(m => m.Id == machineId);
                jobLine           = _context.JobLines.Include(j => j.Job).FirstOrDefault(e => e.Id == jobLineId);
                jobLine.MachineId = machineId;

                jobLine.calculateTime(machine);

                _context.Entry(jobLine).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.SaveChanges();
            }

            return(RedirectToAction(
                       "NoMachine",
                       new { sortOrder = sortOrder, currentFilter = currentFilter, searchString = searchString, page = page, filterMachineId = filterMachineId, filterMachineType = filterMachineType, filterDateTime = filterDateTime }));
        }
        public IActionResult Import(MachineTypes machineType)
        {
            JobImportVM jobImportVM = new JobImportVM();

            jobImportVM.machineType = machineType;

            return(View(jobImportVM));
        }
 /// <summary>
 /// Initialises the ImageFileHeader class and populates it with
 /// the specific data from the file contents
 /// </summary>
 /// <param name="fileContents">The contents of the file being read as an array</param>
 /// <param name="offset">The offset for the image file header</param>
 public FileHeader(byte[] fileContents, Offset offset)
 {
     _machine              = (MachineTypes)BitConverter.ToUInt16(fileContents, offset.Shift(2));
     _numberOfSections     = BitConverter.ToUInt16(fileContents, offset.Shift(2));
     _timeDateStamp        = BitConverter.ToUInt32(fileContents, offset.Shift(4));
     _pointerToSymbolTable = BitConverter.ToUInt32(fileContents, offset.Shift(4));
     _numberOfSymbols      = BitConverter.ToUInt32(fileContents, offset.Shift(4));
     _sizeOfOptionalHeader = BitConverter.ToUInt16(fileContents, offset.Shift(2));
     _characteristics      = (FileCharacteristics)BitConverter.ToUInt16(fileContents, offset.Shift(2));
 }
Exemple #5
0
 public MachineMaster GetMachineDescriptionById(MachineTypes machineTypes)
 {
     try
     {
         MachineMaster machineMaster = new MachineMaster()
         {
             MachineSliderImages   = unitOfWork.MachineSliderImages.Find(ms => ms.MachineId == machineTypes.MachineId).ToList(),
             MachineRating         = unitOfWork.MachineDescription.GetMachineRating(machineTypes.MachineId),
             MachineSpecifications = unitOfWork.MachineDescription.Find(md => md.MachineId == machineTypes.MachineId).SingleOrDefault(),
             RelatedVideos         = unitOfWork.MachineVideos.Find(mv => mv.MachineId == machineTypes.MachineId).ToList()
         };
         return(machineMaster);
     }
     catch (Exception ex)
     {
         return(null);
     }
     finally
     {
         unitOfWork.Dispose();
     }
 }
Exemple #6
0
        static string MachineTypeToString(MachineTypes machine)
        {
            switch (machine)
            {
            case MachineTypes.IMAGE_FILE_MACHINE_UNKNOWN: return("Any machine");

            case MachineTypes.IMAGE_FILE_MACHINE_ALPHA:   return("Alpha AXP");

            case MachineTypes.IMAGE_FILE_MACHINE_ALPHA64: return("Alpha AXP 64-bit.");

            case MachineTypes.IMAGE_FILE_MACHINE_AM33:    return("Matsushita AM33");

            case MachineTypes.IMAGE_FILE_MACHINE_AMD64:   return("AMD64 / EM64T");

            case MachineTypes.IMAGE_FILE_MACHINE_ARM:     return("ARM little endian");

            case MachineTypes.IMAGE_FILE_MACHINE_ARM64:   return("ARM64 little endian");

            case MachineTypes.IMAGE_FILE_MACHINE_ARMNT:   return("ARM Thumb-2 little endian");

            case MachineTypes.IMAGE_FILE_MACHINE_EBC:     return("EFI byte code");

            case MachineTypes.IMAGE_FILE_MACHINE_I386:
            case MachineTypes.IMAGE_FILE_MACHINE_I386_AIX:
                return("Intel 386 or later processors and compatible processors");

            case MachineTypes.IMAGE_FILE_MACHINE_IA64: return("Intel Itanium processor family");

            case MachineTypes.IMAGE_FILE_MACHINE_M32R: return("Mitsubishi M32R little endian");

            case MachineTypes.IMAGE_FILE_MACHINE_M68K:
            case MachineTypes.IMAGE_FILE_MACHINE_M68K_OTHER: return("Motorola 68000 series");

            case MachineTypes.IMAGE_FILE_MACHINE_MIPS16:     return("MIPS16");

            case MachineTypes.IMAGE_FILE_MACHINE_MIPSFPU:    return("MIPS with FPU");

            case MachineTypes.IMAGE_FILE_MACHINE_MIPSFPU16:  return("MIPS16 with FPU");

            case MachineTypes.IMAGE_FILE_MACHINE_POWERPC:    return("PowerPC little endian");

            case MachineTypes.IMAGE_FILE_MACHINE_POWERPCFP:  return("PowerPC with floating point support");

            case MachineTypes.IMAGE_FILE_MACHINE_MIPSEB:     return("MIPS R3000 or later (big endian)");

            case MachineTypes.IMAGE_FILE_MACHINE_R3000:      return("MIPS R3000 or later (little endian)");

            case MachineTypes.IMAGE_FILE_MACHINE_R4000:      return("MIPS R4000 or later (little endian)");

            case MachineTypes.IMAGE_FILE_MACHINE_R10000:     return("MIPS R10000 or later (little endian)");

            case MachineTypes.IMAGE_FILE_MACHINE_RISCV32:    return("RISC-V 32-bit address space");

            case MachineTypes.IMAGE_FILE_MACHINE_RISCV64:    return("RISC-V 64-bit address space");

            case MachineTypes.IMAGE_FILE_MACHINE_RISCV128:   return("RISC-V 128-bit address space");

            case MachineTypes.IMAGE_FILE_MACHINE_SH3:        return("Hitachi SH3");

            case MachineTypes.IMAGE_FILE_MACHINE_SH3DSP:     return("Hitachi SH3 DSP");

            case MachineTypes.IMAGE_FILE_MACHINE_SH4:        return("Hitachi SH4");

            case MachineTypes.IMAGE_FILE_MACHINE_SH5:        return("Hitachi SH5");

            case MachineTypes.IMAGE_FILE_MACHINE_THUMB:      return("ARM Thumb");

            case MachineTypes.IMAGE_FILE_MACHINE_WCEMIPSV2:  return("MIPS little-endian WCE v2");

            case MachineTypes.IMAGE_FILE_MACHINE_CLIPPER:    return("Clipper");

            case MachineTypes.IMAGE_FILE_MACHINE_WE32000:    return("WE32000 series");

            default:
                return($"Unknown machine type with code {(ushort)machine}");
            }
        }
Exemple #7
0
        internal static Architecture MachineTypeToArchitecture(MachineTypes machine)
        {
            switch (machine)
            {
            case MachineTypes.IMAGE_FILE_MACHINE_ALPHA:
            case MachineTypes.IMAGE_FILE_MACHINE_ALPHA64: return(Architecture.Alpha);

            case MachineTypes.IMAGE_FILE_MACHINE_AM33:    return(Architecture.Am33);

            case MachineTypes.IMAGE_FILE_MACHINE_AMD64:   return(Architecture.Amd64);

            case MachineTypes.IMAGE_FILE_MACHINE_ARM:     return(Architecture.Arm);

            case MachineTypes.IMAGE_FILE_MACHINE_ARM64:   return(Architecture.Aarch64);

            case MachineTypes.IMAGE_FILE_MACHINE_ARMNT:   return(Architecture.Thumb2);

            case MachineTypes.IMAGE_FILE_MACHINE_EBC:     return(Architecture.EfiByteCode);

            case MachineTypes.IMAGE_FILE_MACHINE_I386:
            case MachineTypes.IMAGE_FILE_MACHINE_I386_AIX: return(Architecture.I386);

            case MachineTypes.IMAGE_FILE_MACHINE_IA64:     return(Architecture.IA64);

            case MachineTypes.IMAGE_FILE_MACHINE_M32R:     return(Architecture.M32R);

            case MachineTypes.IMAGE_FILE_MACHINE_M68K:
            case MachineTypes.IMAGE_FILE_MACHINE_M68K_OTHER: return(Architecture.M68K);

            case MachineTypes.IMAGE_FILE_MACHINE_MIPS16:
            case MachineTypes.IMAGE_FILE_MACHINE_MIPSFPU16: return(Architecture.Mips16);

            case MachineTypes.IMAGE_FILE_MACHINE_POWERPC:
            case MachineTypes.IMAGE_FILE_MACHINE_POWERPCFP: return(Architecture.PowerPc);

            case MachineTypes.IMAGE_FILE_MACHINE_MIPSFPU:
            case MachineTypes.IMAGE_FILE_MACHINE_MIPSEB:
            case MachineTypes.IMAGE_FILE_MACHINE_WCEMIPSV2:
            case MachineTypes.IMAGE_FILE_MACHINE_R3000: return(Architecture.Mips);

            case MachineTypes.IMAGE_FILE_MACHINE_R4000:
            case MachineTypes.IMAGE_FILE_MACHINE_R10000: return(Architecture.Mips3);

            case MachineTypes.IMAGE_FILE_MACHINE_RISCV32:
            case MachineTypes.IMAGE_FILE_MACHINE_RISCV64:
            case MachineTypes.IMAGE_FILE_MACHINE_RISCV128: return(Architecture.RiscV);

            case MachineTypes.IMAGE_FILE_MACHINE_SH3:
            case MachineTypes.IMAGE_FILE_MACHINE_SH3DSP:  return(Architecture.Sh3);

            case MachineTypes.IMAGE_FILE_MACHINE_SH4:     return(Architecture.Sh4);

            case MachineTypes.IMAGE_FILE_MACHINE_SH5:     return(Architecture.Sh5);

            case MachineTypes.IMAGE_FILE_MACHINE_THUMB:   return(Architecture.Thumb);

            case MachineTypes.IMAGE_FILE_MACHINE_CLIPPER: return(Architecture.Clipper);

            case MachineTypes.IMAGE_FILE_MACHINE_WE32000: return(Architecture.We32000);

            default:                                      return(Architecture.Unknown);
            }
        }
        public IActionResult Import(MachineTypes machineType, IFormFile files)
        {
            var uploads = Path.Combine(_environment.ContentRootPath, "uploads");

            using (var fileStream = new FileStream(Path.Combine(uploads, files.FileName), FileMode.Create))
            {
                files.CopyToAsync(fileStream);
            }

            Job    job;
            string currentLine;

            string[] splitArray;
            JobLine  jobLine;

            List <string> lines = new List <string>();

            using (StreamReader reader = new StreamReader(new FileStream(Path.Combine(uploads, files.FileName), FileMode.Open)))
            {
                currentLine = reader.ReadLine();

                while (!reader.EndOfStream)
                {
                    currentLine = reader.ReadLine();
                    lines.Add(currentLine);
                }
            }

            foreach (string line in lines)
            {
                splitArray = line.Split(';');

                //Check if job exists with current job number
                job = _context.Jobs.FirstOrDefault(z => z.JobNumber == splitArray[1]);

                //Create Job & JobLine
                if (job == null)
                {
                    //Create Job
                    job = new Job();

                    job.DeliveryDate = DateTime.ParseExact(splitArray[4], "dd/MM/yyyy", null);
                    job.JobNumber    = splitArray[1];

                    double aantal = double.Parse(splitArray[2]);
                    job.Quantity = Convert.ToInt16(aantal);

                    job.PaperBw    = splitArray[8];
                    job.Cover      = 0;
                    job.PaperCover = "no cover";
                    job.Heigth     = 297;
                    job.Width      = 210;
                    //job.PageQuantity = int.Parse(splitArray[6]);

                    _context.Jobs.Add(job);
                }

                //Create JobLine
                jobLine = new JobLine();

                jobLine.JobId       = job.Id;
                jobLine.Job         = job;
                jobLine.Sequence    = 1;
                jobLine.MachineType = machineType;
                jobLine.Completed   = false;

                _context.JobLines.Add(jobLine);
            }

            _context.SaveChanges();

            return(RedirectToAction("Todo"));
        }
        public async Task <IActionResult> ToDo(string sortOrder,
                                               string currentFilter,
                                               string searchString,
                                               int?page,
                                               MachineTypes filterMachineType,
                                               DateTime filterDateTime)
        {
            JobListToDoVM jobListVm = new JobListToDoVM();

            filterDateTime = handleJobFilterDateTime(filterDateTime);

            jobListVm.currentSort          = sortOrder;
            jobListVm.currentFilter        = searchString;
            jobListVm.jobNumberSortParm    = String.IsNullOrEmpty(sortOrder) ? "jobNumber_desc" : "";
            jobListVm.quantitySortParm     = sortOrder == "quantity" ? "quantity_desc" : "quantity";
            jobListVm.pageQuantitySortParm = sortOrder == "pageQuantity" ? "pageQuantity_desc" : "pageQuantity";

            if (searchString != currentFilter)
            {
                page = 1;
            }

            var joblines = _context.JobLines.Include(j => j.Job).Include(j => j.Machine).AsQueryable();

            //Add filters
            if (!String.IsNullOrEmpty(searchString))
            {
                joblines = joblines.Where(jl => jl.Job.JobNumber.Contains(searchString));
            }

            //Machine type filter is set
            if (System.Enum.IsDefined(typeof(MachineTypes), filterMachineType))
            {
                joblines = joblines.Where(jl => jl.MachineType == filterMachineType);
            }

            //Filter on date
            if (filterDateTime != DateTime.MinValue)
            {
                joblines = joblines.Where(jl => jl.Job.DeliveryDate == filterDateTime);
            }

            //filter on completed
            joblines = joblines.Where(jl => jl.Completed == false);


            //Filter on no machine
            joblines = joblines.Where(jl => jl.MachineId != 0);
            joblines = joblines.Where(jl => jl.MachineId != null);


            switch (sortOrder)
            {
            case "jobNumber_desc":
                joblines = joblines.OrderByDescending(u => u.Job.JobNumber);
                break;

            case "quantity":
                joblines = joblines.OrderBy(jl => jl.Job.Quantity);
                break;

            case "quantity_desc":
                joblines = joblines.OrderByDescending(jl => jl.Job.Quantity);
                break;

            case "pageQuantity":
                joblines = joblines.OrderBy(jl => jl.Job.PageQuantity);
                break;

            case "pageQuantity_desc":
                joblines = joblines.OrderByDescending(jl => jl.Job.PageQuantity);
                break;

            default:
                joblines = joblines.OrderBy(u => u.Job.JobNumber);
                break;
            }

            jobListVm.filterDateTime = filterDateTime.ToString("yyyy-MM-dd");
            jobListVm.jobLineList    = await PaginatedList <JobLine> .CreateAsync(joblines.AsNoTracking(), page ?? 1, PageSize);

            jobListVm.filterMachineType = filterMachineType;


            return(View(jobListVm));
        }
Exemple #10
0
            internal (double dosage, double widthLeft, double widthRight, bool active) GetDosageAndWith(MachineTypes machineType)
            {
                var IsSprayer = machineType == MachineTypes.Sprayer || machineType == MachineTypes.WspDosage || machineType == MachineTypes.RspDosage;
                var IsDosing  = machineType != MachineTypes.Sprayer;

                var dosage     = 0d;
                var widthLeft  = 0d;
                var widthRight = 0d;
                var active     = (IsDosing && SpreadingOnOff) || (IsSprayer && SprayingOnOff);

                if (IsDosing)
                {
                    dosage     = (SpreadingOnOff) ? Dosage : 0;
                    widthLeft  = SpreadingWidthLeft;
                    widthRight = SpreadingWidthRight;
                }
                if (IsSprayer)
                {
                    dosage    += (SprayingOnOff) ? DosageLiquid : 0;                  // Summerize spreading and spraying.
                    widthLeft  = SprayingWidthLeft;
                    widthRight = SprayingWidthRight;
                }
                return(dosage, widthLeft, widthRight, active);
            }