Пример #1
0
            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);
            }
Пример #2
0
            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));
            }