public void DeleteClienteleWithId(int id)
 {
     if (ClienteleExists(id))
     {
         Clientele clientele = _ctx.Clienteles.Where(c => c.ClienteleId == id).SingleOrDefault();
         try
         {
             _img.DeleteImage(clientele.ImageUrl);
             _ctx.Clienteles.Remove(clientele);
             _ctx.SaveChanges();
             return;
         }
         catch (Exception ex)
         {
             _logger.LogInformation($"Clientele record not deleted: {ex.Message}");
         }
     }
     throw new Exception();
 }
        public async Task UpdateClienteleWithId(ClienteleDto clienteleDto)
        {
            if (ClienteleExists(clienteleDto.ClienteleId))
            {
                Clientele clientele = null;
                string    path      = null;
                if (clienteleDto.File != null)
                {
                    try
                    {
                        path = _img.EditImage(clienteleDto.File, clienteleDto.OldImage);
                    }
                    catch (Exception ex)
                    {
                        _logger.LogInformation($"Clientele image not created: {ex.Message}");
                    }
                }

                clientele = await _ctx.Clienteles.Where(c => c.ClienteleId == clienteleDto.ClienteleId)
                            .Select(c => new Clientele
                {
                    ClienteleId = c.ClienteleId,
                    ImageUrl    = !string.IsNullOrEmpty(path) ? path : c.ImageUrl,
                    Priority    = clienteleDto.Priority
                }).SingleOrDefaultAsync();

                try
                {
                    _ctx.Update(clientele);
                    await _ctx.SaveChangesAsync();

                    return;
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Clientele record not updated: {ex.Message}");
                }
            }
            throw new Exception();
        }
        public async Task AddClientele(ClienteleDto clienteleDto)
        {
            if (clienteleDto.File != null)
            {
                Clientele clientele = null;
                string    path      = null;
                try
                {
                    path = _img.CreateImage(clienteleDto.File);
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Banner image not created: {ex.Message}");
                }
                if (!string.IsNullOrEmpty(path))
                {
                    clientele = new Clientele
                    {
                        ImageUrl = path,
                        Priority = clienteleDto.Priority
                    };
                }
                try
                {
                    _ctx.Clienteles.Add(clientele);
                    await _ctx.SaveChangesAsync();

                    return;
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Clientele record not created: {ex.Message}");
                }
            }
            throw new Exception();
        }