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); } }