public async Task <OperationResult> CreateSystem(SystemCreateOrUpdateDto system) { var systemModel = mapper.Map <SystemCreateOrUpdateDto, Models.System>(system); var doesExists = await repository.GetSameSystem(systemModel); if (doesExists != null) { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Payload = doesExists }); } await repository.AddAsync(systemModel); var repoResult = await repository.SaveChangesAsync(); if (repoResult > 0) { return(new OperationResult() { IsSuccessful = true, Payload = mapper.Map <Models.System, SystemDto>(systemModel) }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } }
public async Task <IActionResult> Post([FromBody] SystemCreateOrUpdateDto system) { var result = await _systemService.CreateSystem(system); if (result.IsSuccessful) { return(Ok(result.Payload)); } if (result.Payload != null) { return(Conflict("Object already exists!")); } return(StatusCode(500, result.Message)); }
public async Task <OperationResult> EditSystem(int id, SystemCreateOrUpdateDto system) { var systemModel = mapper.Map <SystemCreateOrUpdateDto, Models.System>(system); var doesExists = await repository.GetSameSystem(systemModel); if (doesExists != null && doesExists.Id == id) { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Payload = doesExists }); } var systemInDb = await repository.GetAsync(id); if (systemInDb != null) { systemInDb.Model = system.Model; systemInDb.Manufacturer = system.Manufacturer; var repoResult = await repository.SaveChangesAsync(); if (repoResult > 0) { return(new OperationResult() { IsSuccessful = true, Payload = systemInDb }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } } else { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Message = "Obiekt nie istnieje" }); } }
public async Task <IActionResult> Put(int id, [FromBody] SystemCreateOrUpdateDto system) { var result = await _systemService.EditSystem(id, system); if (result.IsSuccessful) { return(Ok(result.Payload)); } if (result.Payload == null) { return(NotFound()); } else { return(Conflict()); } }