private OfferedService ConvertOfferedService(IOfferedServiceDTO offeredServiceDTO)
 {
     return(new OfferedService()
     {
         Id = offeredServiceDTO.Id,
         Name = offeredServiceDTO.Name,
         Category = _categoryLogic.GetCategoryById(offeredServiceDTO.CategoryId).Name,
         Price = offeredServiceDTO.Price,
         ProviderId = offeredServiceDTO.ProviderId,
         Description = offeredServiceDTO.Description,
         DeliveryTimeDays = offeredServiceDTO.DeliveryTimeDays,
         DeliveryTimeHours = offeredServiceDTO.DeliveryTimeHours,
         DateOfPost = offeredServiceDTO.DateOfPost,
         AverageRating = CalcAverageRating(offeredServiceDTO.Id),
         Status = offeredServiceDTO.StatusId,
         IsDeleted = offeredServiceDTO.IsDeleted
     });
 }
        public void Update(IOfferedServiceDTO offeredServiceDTO)
        {
            using var connection = MySqlFactory.CreateConnection();
            connection.Open();
            var cmd = MySqlFactory.CreateCommand("UpdateOfferedService", connection);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@_id", offeredServiceDTO.Id);
            cmd.Parameters.AddWithValue("@_name", offeredServiceDTO.Name);
            cmd.Parameters.AddWithValue("@_categoryId", offeredServiceDTO.CategoryId);
            cmd.Parameters.AddWithValue("@_price", offeredServiceDTO.Price);
            cmd.Parameters.AddWithValue("@_description", offeredServiceDTO.Description);
            cmd.Parameters.AddWithValue("@_deliveryTimeDays", offeredServiceDTO.DeliveryTimeDays);
            cmd.Parameters.AddWithValue("@_deliveryTimeHours", offeredServiceDTO.DeliveryTimeHours);

            cmd.ExecuteNonQuery();
            connection.Close();
        }
        public void Add(IOfferedServiceDTO offeredServiceDTO)
        {
            using var connection = MySqlFactory.CreateConnection();
            connection.Open();
            var cmd = MySqlFactory.CreateCommand("AddOfferedService", connection);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@name", offeredServiceDTO.Name);
            cmd.Parameters.AddWithValue("@categoryId", offeredServiceDTO.CategoryId);
            cmd.Parameters.AddWithValue("@price", offeredServiceDTO.Price);
            cmd.Parameters.AddWithValue("@providerId", offeredServiceDTO.ProviderId);
            cmd.Parameters.AddWithValue("@description", offeredServiceDTO.Description);
            cmd.Parameters.AddWithValue("@status", offeredServiceDTO.StatusId);
            cmd.Parameters.AddWithValue("@deliveryTimeDays", offeredServiceDTO.DeliveryTimeDays);
            cmd.Parameters.AddWithValue("@deliveryTimeHours", offeredServiceDTO.DeliveryTimeHours);
            cmd.Parameters.AddWithValue("@dateOfPost", offeredServiceDTO.DateOfPost);
            cmd.Parameters.AddWithValue("@isDeleted", Convert.ToInt16(offeredServiceDTO.IsDeleted));

            cmd.ExecuteNonQuery();
            connection.Close();
        }