public async ValueTask <IActionResult> Post([FromBody] SponsorBase model)
        {
            if (ModelState.IsValid)
            {
                var checker = await _repo.Item().Where(c => c.Name == model.Name).FirstOrDefaultAsync();

                if (checker != null)
                {
                    return(BadRequest(new ErrorDTO {
                        Message = "Sponsor already exists"
                    }));
                }
                Sponsor sponsor = model.Convert <SponsorBase, Sponsor>(_mapper);
                (bool succeeded, Sponsor addedSponsor, string error) = await _repo.Add(sponsor);

                if (succeeded)
                {
                    return(Ok(addedSponsor.Convert <Sponsor, SponsorBase>(_mapper)));
                }
                return(BadRequest(new ErrorDTO {
                    Message = error
                }));
            }
            return(BadRequest(new ErrorDTO {
                Errors = ModelState.Values.SelectMany(e => e.Errors).ToList()
            }));
        }
        public async ValueTask <IActionResult> Put([FromBody] SponsorBase model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id != 0)
                {
                    Sponsor sponsor = model.Convert <SponsorBase, Sponsor>(_mapper);
                    (bool succeeded, Sponsor updatedSponsor, string error) = await _repo.Update(sponsor, model.Id);

                    if (succeeded)
                    {
                        return(Ok(updatedSponsor.Convert <Sponsor, SponsorBase>(_mapper)));
                    }
                    return(NotFound(new ErrorDTO {
                        Message = error
                    }));
                }
            }
            return(BadRequest(new ErrorDTO {
                Errors = ModelState.Values.SelectMany(e => e.Errors).ToList()
            }));
        }