Ejemplo n.º 1
0
        public Task <int> Create(FormDto form)
        {
            if (_productSKURepository.ReadAll().Any(entity => entity.Name == form.Name))
            {
                var errorResult = new List <ValidationResult>()
                {
                    new ValidationResult("Nama tidak boleh duplikat", new List <string> {
                        "Name"
                    })
                };
                var validationContext = new ValidationContext(form, _serviceProvider, null);
                throw new ServiceValidationException(validationContext, errorResult);
            }

            if (_productSKURepository.ReadAll().Any(entity => entity.Code == form.Code))
            {
                var errorResult = new List <ValidationResult>()
                {
                    new ValidationResult("Kode tidak boleh duplikat", new List <string> {
                        "Kode"
                    })
                };
                var validationContext = new ValidationContext(form, _serviceProvider, null);
                throw new ServiceValidationException(validationContext, errorResult);
            }

            var model = new ProductSKUModel(
                form.Code,
                form.Name,
                form.UOMId.GetValueOrDefault(),
                form.CategoryId.GetValueOrDefault(),
                form.Description
                );

            return(_productSKURepository.InsertAsync(model));
        }
Ejemplo n.º 2
0
        public async Task <int> Update(int id, FormDto form)
        {
            var model = await _productSKURepository.ReadByIdAsync(id);

            if (_productSKURepository.ReadAll().Any(entity => entity.Name == form.Name) && form.Name != model.Name)
            {
                var errorResult = new List <ValidationResult>()
                {
                    new ValidationResult("Nama tidak boleh duplikat", new List <string> {
                        "Name"
                    })
                };
                var validationContext = new ValidationContext(form, _serviceProvider, null);
                throw new ServiceValidationException(validationContext, errorResult);
            }

            if (_productSKURepository.ReadAll().Any(entity => entity.Code == form.Code) && form.Code != model.Code)
            {
                var errorResult = new List <ValidationResult>()
                {
                    new ValidationResult("Kode tidak boleh duplikat", new List <string> {
                        "Kode"
                    })
                };
                var validationContext = new ValidationContext(form, _serviceProvider, null);
                throw new ServiceValidationException(validationContext, errorResult);
            }

            model.SetCode(form.Code);
            model.SetName(form.Name);
            model.SetUOM(form.UOMId.GetValueOrDefault());
            model.SetCategory(form.CategoryId.GetValueOrDefault());
            model.SetDescription(form.Description);

            return(await _productSKURepository.UpdateAsync(id, model));
        }