Exemplo n.º 1
0
        public async Task <OutMachineTypeDTO> GetMachineTypeByNameAsync(string name)
        {
            Expression <Func <MachineType, bool> > withName = m => m.NameMachineType.Equals(name);
            var machineType = await _machineTypeRepository.FirstOrDefault(withName);

            return(MachineTypeMapping.MachineTypeToOutDto(machineType));
        }
Exemplo n.º 2
0
        public async Task <OutMachineTypeDTO> UpdateMachineTypeAsync(int machineTypeId, InMachineTypeDTO machineTypeDto)
        {
            //TODO: HERE!
            var machineType = await _machineTypeRepository.GetById(machineTypeId);

            if (machineType == null)
            {
                throw new ApplicationException("Machine Type not found");
            }

            machineType.Description     = machineTypeDto.Description;
            machineType.NameMachineType = machineTypeDto.Name;

            // Delete all old machine - operations relations
            machineType.machineTypeOperations.ToList()
            .ForEach(m => _machineTypeOperationRepository.Delete(m));

            var machineTypeOperations = new List <MachineTypeOperation>();

            foreach (var operationId in machineTypeDto.Operations)
            {
                var foundMachineTypeOp = await _machineTypeOperationRepository.GetById(machineTypeId, operationId);

                if (foundMachineTypeOp != null)
                {
                    machineTypeOperations.Add(foundMachineTypeOp);
                }
                else
                {
                    var operation = await _operationRepository.GetById(operationId);

                    if (operation == null)
                    {
                        throw new ApplicationException("Operation not found");
                    }

                    var newMachineTypeOp = new MachineTypeOperation()
                    {
                        machinetype   = machineType,
                        MachineTypeId = machineTypeId,
                        operation     = operation,
                        OperationId   = operationId
                    };

                    newMachineTypeOp = await _machineTypeOperationRepository.Create(newMachineTypeOp);

                    machineTypeOperations.Add(newMachineTypeOp);
                }
            }

            machineType.machineTypeOperations = machineTypeOperations;

            var machineTypes = await _machineTypeRepository.Update(machineType);

            return(MachineTypeMapping.MachineTypeToOutDto(machineTypes));
        }
Exemplo n.º 3
0
        public async Task <OutMachineTypeDTO> UpdateMachineTypeOperationsAsync(int machineTypeId, List <int> operations)
        {
            var machineType = await _machineTypeRepository.GetById(machineTypeId);

            Expression <Func <Operation, bool> > withOperationId = m => operations.Contains(m.Id);
            var operationsResult = await _operationRepository.GetWhere(withOperationId, 0, 100);

            //TODO: updates
            //machineType.operations = operationsResult.ToList();
            var machineTypeUpdated = await _machineTypeRepository.Update(machineType);

            return(MachineTypeMapping.MachineTypeToOutDto(machineTypeUpdated));
        }
Exemplo n.º 4
0
        public async Task <IEnumerable <OutMachineTypeDTO> > GetMachineTypes(int @from, int limit)
        {
            var machineTypes = await _machineTypeRepository.GetAll(from, limit);

            foreach (var mt in machineTypes)
            {
                foreach (var mto in mt.machineTypeOperations)
                {
                    var op = await _operationRepository.GetById(mto.OperationId);

                    mto.operation = op;
                }
            }
            return(MachineTypeMapping.MachineTypeToOutDto(machineTypes));
        }
Exemplo n.º 5
0
        public async Task <OutMachineTypeDTO> CreateMachineTypeAsync(InMachineTypeDTO inMachineDto)
        {
            var machineType = MachineTypeMapping.InDtoToMachineType(inMachineDto);

            foreach (var mto in machineType.machineTypeOperations)
            {
                mto.machinetype = machineType;
            }

            var machineTypeResult = await _machineTypeRepository.Create(machineType);

            foreach (var mto in machineTypeResult.machineTypeOperations)
            {
                var op = await _operationRepository.GetById(mto.OperationId);

                mto.operation = op;
            }
            return(MachineTypeMapping.MachineTypeToOutDto(machineTypeResult));
        }
Exemplo n.º 6
0
        public async Task <IEnumerable <OutMachineTypeDTO> > GetMachineTypes()
        {
            var machineTypes = await _machineTypeRepository.GetAll();

            return(MachineTypeMapping.MachineTypeToOutDto(machineTypes));
        }
Exemplo n.º 7
0
        public async Task <OutMachineTypeDTO> GetMachineTypeByIdAsync(int machineTypeId)
        {
            var machineType = await _machineTypeRepository.GetById(machineTypeId);

            return(MachineTypeMapping.MachineTypeToOutDto(machineType));
        }