Ejemplo n.º 1
0
        public async Task <ValidationResultModel> ValidateAsync(Guid orgId, PartyCategoryDto model)
        {
            // Reset validation errors
            model.Errors.Clear();

            #region Formatting: Cleansing and formatting
            model.Code        = model.Code.ToUpper();
            model.Name        = model.Name.TrimExtraSpaces();
            model.Description = model.Description.TrimExtraSpaces();
            #endregion

            #region Validation: Duplicate
            // Check code duplicate
            var duplCode = new Duplicate {
                Field = DuplicateField.Code, Value = model.Code, Id = model.Id, ParentId = orgId
            };
            if (await ExistsAsync(duplCode))
            {
                model.Errors.AddError(nameof(model.Code), $"{nameof(model.Code)} '{model.Code}' already exists");
            }
            // Check name duplicate
            var duplName = new Duplicate {
                Field = DuplicateField.Name, Value = model.Name, Id = model.Id, ParentId = orgId
            };
            if (await ExistsAsync(duplName))
            {
                model.Errors.AddError(nameof(model.Name), $"{nameof(model.Name)} '{model.Name}' already exists");
            }
            #endregion

            return(model.Errors);
        }
Ejemplo n.º 2
0
        public async Task UpdateAsync(Guid id, PartyCategoryDto model)
        {
            if (id != model.Id)
            {
                throw new ArgumentException("Party category id mismatch");
            }

            PartyCategory category = _mapper.Map <PartyCategory>(model);

            category.DateModified = DateTime.UtcNow;
            _context.PartyCategories.Update(category);
            await _context.SaveChangesAsync();

            //return _mapper.Map<PartyCategoryDto>(category);
        }
Ejemplo n.º 3
0
        public async Task <PartyCategoryDto> CreateAsync(Guid orgId, PartyCategoryDto model)
        {
            if (orgId == null || orgId == Guid.Empty)
            {
                throw new ArgumentNullException("orgId", "Org id is missing");
            }

            PartyCategory category = _mapper.Map <PartyCategory>(model);

            category.OrgId        = orgId;
            category.DateCreated  = DateTime.UtcNow;
            category.DateModified = null;
            await _context.PartyCategories.AddAsync(category);

            await _context.SaveChangesAsync();

            return(_mapper.Map <PartyCategoryDto>(category));
        }
Ejemplo n.º 4
0
        public async Task <PartyCategoryDto> GetByIdAsync(Guid id, bool includeChildren = false)
        {
            if (id == null || id == Guid.Empty)
            {
                throw new ArgumentNullException("id", "Id is missing");
            }
            PartyCategoryDto category = await _context.PartyCategories
                                        .AsNoTracking()
                                        .ProjectTo <PartyCategoryDto>(_mapper.ConfigurationProvider)
                                        .FirstOrDefaultAsync(pc => pc.Id == id);

            if (category != null)
            {
                return(category);
            }
            return(null);
            //throw new NotFoundException("Party category not found");
        }