public async Task <IActionResult> Update([FromBody] MaintenanceRequestDto maintenance)
        {
            //Before updating find vehicle type by id
            var maintenanceData = await _uow.Maintenances.GetAsync(maintenance.ID);

            if (maintenanceData != null && maintenanceData.ID > 0)
            {
                //Map update data
                _mapper.Map(maintenance, maintenanceData);

                //Change Modified Data
                maintenanceData.ModifyDate = DateTime.Now;

                _uow.Maintenances.Update(maintenanceData);
                var result = await _uow.CompleteAsync();

                if (result > 0)
                {
                    //Get Maintenance Proper data
                    var maintenanceDetails = await _uow.Maintenances.GetWithAllRelationsAsync(maintenance.ID);

                    //Before returning updated Maintenance data, map Maintenance => MaintenanceSharedDto
                    return(Ok(_mapper.Map <MaintenanceSharedDto>(maintenanceDetails)));
                }
                else
                {
                    return(new JsonResult(new { Success = false, Message = "Maintenance changes are not updated" }));
                }
            }
            else
            {
                return(NotFound(new { Success = false, Message = "Maintenance not found with sended details." }));
            }
        }
        public async Task <MaintenanceSharedDto> Create([FromBody] MaintenanceRequestDto maintenance)
        {
            //To Do check ID's for preventing errors

            //Map dto Maintenance object
            var mappedMaintenanceData = _mapper.Map <Maintenance>(maintenance);

            //Add not mapped fields
            mappedMaintenanceData.CreateDate = DateTime.Now;
            mappedMaintenanceData.ModifyDate = DateTime.Now;
            mappedMaintenanceData.IsDeleted  = false;

            var maintenanceDetails = await _uow.Maintenances.AddAsync(mappedMaintenanceData);

            var result = await _uow.CompleteAsync();

            if (result > 0)
            {
                //Get Maintenance Proper data
                var maintenanceProperData = await _uow.Maintenances.GetWithAllRelationsAsync(maintenanceDetails.ID);

                //Map Maintenance => MaintenanceSharedDto
                var resultVehicleType = _mapper.Map <MaintenanceSharedDto>(maintenanceProperData);

                return(resultVehicleType);
            }
            else
            {
                return(null);
            }
        }