public async Task <IActionResult> PutEntitiy([FromForm] CategoryViewRecordWithIconDTO dtoEntity) { if (dtoEntity.MinWeight > CommonConstants.MAX_WEIGHT) { return(MaxWeightExceededResult()); } if (_repository.CheckIfMinWeightExists(dtoEntity.MinWeight, dtoEntity.Id)) { return(DuplicateMinWeightResult()); } //if there is an icon, save the image and delete the old one! var oldIconFileName = dtoEntity.IconFileName; if (dtoEntity.Icon != null) { var uploadResult = IconUpload(dtoEntity.Icon, dtoEntity.Name); if (!uploadResult.Item1) { return(BadRequest(uploadResult.Item2)); } dtoEntity.IconFileName = uploadResult.Item2; } var putResult = await PutEntityWithNameCheck(_repository, dtoEntity); //if post is successful, delete the old file if (putResult is OkResult && !oldIconFileName.ToLower().Equals(dtoEntity.IconFileName.ToLower())) { _fileService.Delete(CATEGORY_ICON_DIRECTORY, oldIconFileName); } return(putResult); }
public async Task <IActionResult> PostEntity([FromForm] CategoryViewRecordWithIconDTO dtoEntity) { //Max weight control if (dtoEntity.MinWeight > CommonConstants.MAX_WEIGHT) { return(MaxWeightExceededResult()); } //icon is required if (dtoEntity.Icon == null) { return(IconNeededResult()); } //Duplicate min weights are not allowed if (_repository.CheckIfMinWeightExists(dtoEntity.MinWeight)) { return(DuplicateMinWeightResult()); } var uploadResult = IconUpload(dtoEntity.Icon, dtoEntity.Name); if (!uploadResult.Item1) //if the result is false { return(BadRequest(uploadResult.Item2)); //then item2 (returned message) is the error message } //if item1(result) is true, then the item2(message) is the file name dtoEntity.IconFileName = uploadResult.Item2; //set the filename of the entity //Duplicate names are not allowed return(await PostEntityWithNameCheck(_repository, dtoEntity)); }